一、Java基础:
部分一:
1、HashMap 、HashTable、TreeMap
(1)Hashmap 的底层实现
(2)HashTable和HashMap的区别?(重点)
(3)HashMap都有哪些种?
(4)treemap的实现
(5)HashMap和HashSet的实现原理
(6)HashMap和HashTable的区别,及其实现原理。ArrayList,LinkedList 和Vector的区别和实现原理。TreeMap和TreeSet区别和实现原理。ConcurrentHashMap实现原理(锁分离技术)。
(7)hashMap等相关源码
(8)hashmap的原理。
结合着源码blabla,然后包括1.6时Entry,1.8是Node 还有对key的hashcode1.6和1.8用的算法不一样啊之类的blabla,说了一通,什么fail-fast机制啊啥啥啥的。
(9)java中hashMap结构,处理冲突方法,还有啥方法,各个方法优缺点,为啥不用另一个有有点的方法。
2、Array与List的区别
3、(1)vector中内存扩充方式怎样?为什么每次都有2被扩充?( 算法导论中平摊分析 )
(2)vector与list的区别
4、static的作用
5、(1)Java有哪些特性(封装、继承、多态之类的)
(2)如何实现多态?
6、(1)如何在main函数调用前处理一些事情
(2)main函数前会有什么操作
7、ArrayList和LInkedList的比较
说ArrayList ,这里就有技巧了举一反三,我一般都是对比着LinkedList 来说 ,从实现机制、扩容机制等等方面来说
8、继承的好处和坏处
9、 super()和this能不能同时使用
10、静态类与单例模式的区别
11、面向对象的设计规范
12、接口和抽象类的区别
13、说一说对java io的理解
14、知不知道NIO
了解NIO吗,Netty框架源码看过吗
15、juc包内有哪些类,CAS如何实现,说一下对线程池的理解
16、(1)map、list、set的区别
(2)map 源码,怎样解决冲突,和扩容
17、String、StringBuffer、StringBuilder区别,String为什么不可变
String和StringBuffer,StringBuilder区别和联系,String为啥不可变,在内存中的具体形态。
String,是否可以继承,“+”怎样实现,与StringBuffer区别
18、java gc 请解释
19、 Object的类都有哪些?
20、String 转出 int型,判断能不能转?如何转?
11 你用过的一些collection都有哪些
12 、反射机制中可以获取private成员的值吗(没有set和get函数)
13、 equls 和 == 的区别
14、包装类型和基本类型比较问题(例如,Integer类型的变量能否==int类型变量,能否作比较,什么时候不能作比较)
15、java中异常机制。
16、comparable接口和comparator接口实现比较的区别和用法,Arrays静态类如下实现排序的。
17、protected权限能否被包外访问(我当时有点蒙竟然说能,出来就后悔了),然后问boolean占几个字节
18、C++/JAVA/C的区别
19、了解JS吗
20、面向对象的特征
21、java的集合,异常
22、JAVA中常用的集合
23、java异常
24、java内存模型
部分二
1. 九种基本数据类型的大小,以及他们的封装类。
2. Switch能否用string做参数?
3. equals与==的区别。
4. Object有哪些公用方法?
5. Java的四种引用,强弱软虚,用到的场景。
6. Hashcode的作用。
7. ArrayList、LinkedList、Vector的区别。
8. String、StringBuffer与StringBuilder的区别。
9. Map、Set、List、Queue、Stack的特点与用法。
10. HashMap和HashTable的区别。
11. HashMap和ConcurrentHashMap的区别,HashMap的底层源码。
12. TreeMap、HashMap、LindedHashMap的区别。
13. Collection包结构,与Collections的区别。
14. try catch finally,try里有return,finally还执行么?
15. Excption与Error包结构。OOM你遇到过哪些情况,SOF你遇到过哪些情况。
16. Java面向对象的三个特征与含义。
17. Override和Overload的含义去区别。
18. Interface与abstract类的区别。
19. Static class 与non static class的区别。
20. java多态的实现原理。
21. 实现多线程的两种方法:Thread与Runable。
22. 线程同步的方法:sychronized、lock、reentrantLock等。
23. 锁的等级:方法锁、对象锁、类锁。
24. 写出生产者消费者模式。
25. ThreadLocal的设计理念与作用。
26. ThreadPool用法与优势。
27. Concurrent包里的其他东西:ArrayBlockingQueue、CountDownLatch等等。
28. wait()和sleep()的区别。
29. foreach与正常for循环效率对比。
30. Java IO与NIO。
31. 反射的作用于原理。
32. 泛型常用特点,List<String>能否转为List<Object>。
33. 解析XML的几种方式的原理与特点:DOM、SAX、PULL。
34. Java与C++对比。
35. Java1.7与1.8新特性。
36. 设计模式:单例、工厂、适配器、责任链、观察者等等。
37. JNI的使用。