这些面试题是我在今年年初换工作的时候整理,没有重点。包括java基础,数据结构,网络,Android相关等等。适合中高级工程师。由于内容过多,将会分为上下两部分。下部分跳转链接:http://www.cnblogs.com/huangjialin/p/8657696.html
这里是我整理出来的面试题,答案我花了很久的时间。加上我自己的理解整理出来的,作者不易,请谅解。有答案的:https://xiaozhuanlan.com/topic/1493506827
1、java中==和equals和hashCode的区别
2、int与integer的区别
3、String、StringBuffer、StringBuilder区别
4、什么是内部类?内部类的作用
5、进程和线程的区别
6、final,finally,finalize的区别
7、Serializable 和Parcelable 的区别
8、静态属性和静态方法是否可以被继承?是否可以被重写?以及原因?
9、成员内部类、静态内部类、局部内部类和匿名内部类的理解,以及项目中的应用
10、string 转换成 integer的方式及原理
11、哪些情况下的对象会被垃圾回收机制处理掉?
12、静态代理和动态代理的区别,什么场景使用?
14、Java中实现多态的机制是什么?
16、说说你对Java反射的理解
17、说说你对Java注解的理解
18、Java中String的了解
19、String为什么要设计成不可变的?
20、Object类的equal和hashCode方法重写,为什么?
21、List,Set,Map的区别
22、ArrayMap和HashMap的对比
23、HashMap和HashTable的区别
24、HashMap与HashSet的区别
25、HashSet与HashMap怎么判断集合元素重复?
26、ArrayList和LinkedList的区别,以及应用场景
27、数组和链表的区别
28、开启线程的三种方式?
29、线程和进程的区别?
30、run()和start()方法区别
31、如何控制某个方法允许并发访问线程的个数?
32、在Java中wait和seelp方法的不同;
33、谈谈wait/notify关键字的理解
43、什么导致线程阻塞?线程如何关闭?
35、如何保证线程安全?
36、如何实现线程同步?
37、线程间操作List
38、谈谈对Synchronized关键字,类锁,方法锁,重入锁的理解
39、synchronized 和volatile 关键字的区别
40、ReentrantLock 、synchronized和volatile比较
41、死锁的四个必要条件?
42、什么是线程池,如何使用?
43、Java中堆和栈有什么不同?
44、有三个线程T1,T2,T3,怎么确保它们按顺序执行?
45、AsyncTask的工作原理
46、Binder的工作机制
47、view的事件分发和view的工作原理
48、Android中性能优化
49、加密算法(base64、MD5、对称加密和非对称加密)和使用场景。
50、HashMap的实现原理: