Java基础 1.List 和 Set 的区别 2.HashSet 是如何保证不重复的 3.HashMap 是线程安全的吗,为什么不是线程安全的(最好画图说明多线程环境下不安全)? 4.HashMap 的扩容过程 5.HashMap 1.7 与 1.8 的 区别,说明 1.8 做了哪些优化,如何优化的? 6.final finally finalize 7.强引用 .软引用. 弱引用.虚引用 8.Java反射 9.Arrays.sort 实现原理和 Collection 实现原理 10.Link…
算术异常类:ArithmeticExecption 空指针异常类:NullPointerException 类型强制转换异常:ClassCastException 数组负下标异常:NegativeArrayException 数组下标越界异常:ArrayIndexOutOfBoundsException 违背安全原则异常:SecturityException 文件已结束异常:EOFException 文件未找到异常:FileNotFoundException 字符串转换为数字异常:NumberF…
自己当初找工作时参加过众多一线互联网公司的Java研发面试,这段时间处于寒冬,然而前几天跳槽找工作,两天面了3家,已经拿了两个offer,觉得可以和大家分享下: 下面为拼多多.饿了么.蚂蚁金服.哈啰出行等公司给我留下较深印象的一些java面试题 private修饰的方法可以通过反射访问,那么private的意义是什么 Java类初始化顺序 对方法区和永久区的理解以及它们之间的关系 一个java文件有3个类,编译后有几个class文件 局部变量使用前需要显式地赋值,否则编译通过不了,为什么这么设计…
第一,谈谈final, finally, finalize的区别.  最常被问到.   第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?   第三,Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的很笼统).   第四,&和&&的区别.  这个问得很少.   第五,HashMap和Hashtable的区别.  常问.…
本文来源于:http://blog.csdn.net/wulianghuan 1.面向对象的特征有哪些方面 1).抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节.抽象包括两个方面,一是过程抽象,二是数据抽象. 2).继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法.对象的一个新类可以从现有的类中派生,这个过程称为类继承.新类继承了原始类的特性…
两大框架图解 Collection接口 由第一张图,我们可以知道,Collection接口的子接口有三种,分别是List接口,Set接口和Queue接口 List接口 允许有重复的元素,元素按照添加的顺序进行排序 接口方法 void add(int index,Objext o) 在集合的指定位置插入元素 Object get(int index) 返回集合中某个指定位置的元素 int indexOf(Object o) 返回第一次出现该元素的索引(下标),如果不包含此元素,返回-1 int l…
面向对象编程的基本理念与核心设计思想 解释下多态性(polymorphism),封装性(encapsulation),内聚(cohesion)以及耦合(coupling). 继承(Inheritance)与聚合(Aggregation)的区别在哪里. 你是如何理解干净的代码(Clean Code)与技术负载(Technical Debt)的. 描述下常用的重构技巧. 阐述下 SOLID 原则. 其他的譬如 KISS,DRY,YAGNI 等原则又是什么含义. 什么是设计模式(Design Patt…
作者:小海胆链接:https://www.nowcoder.com/discuss/3614?type=0&order=0&pos=5&page=0?from=wb来源:牛客网 转载自github,中文--->链接在这,英文---->链接在这 文章较长,我把它拆分了三个部分. 第二篇,请戳这里 第三篇,请戳这里 1.通用问题: 语言设计中空引用(null reference)的存在有什么问题?假设你想要将空引用的概念从你的首选语言中移除,可能导致什么结果? 为什么函数式…
作者:小海胆链接:https://www.nowcoder.com/discuss/3616来源:牛客网 13.软件架构相关问题: 什么情况下缓存是没用的,甚至是危险的? 为什么事件驱动的架构能提高可扩展性(scalability)? 什么样的代码是可读性强的代码? 紧急设计(Emergent Design)和演化架构(Evolutionary Architecture)之间的区别是什么? 横向扩展(scale out) vs 纵向扩展(scale up): 有什么区别?分别在什么场景下使用?…
作者:小海胆链接:https://www.nowcoder.com/discuss/3615?type=0&order=0&pos=8&page=0来源:牛客网 7.非关系型数据库相关问题: 如果要你将一个项目从MySQL迁移至PostgreSQL中,你会如何迁移? 为什么SELECT * FROM table WHERE field = null不能匹配空的字段? 什么是ACID(原子性,一致性,隔离性,持久性)原则? 你是如何进行数据库模式(Database schema)迁移…