互联网公司面试问题总结之java基础知识

来源:互联网 发布:mac ps笔刷怎么安装 编辑:程序博客网 时间:2024/06/05 15:03

一、Java基础:

部分一:

1HashMapHashTableTreeMap

1Hashmap的底层实现

2HashTableHashMap的区别?(重点)

3HashMap都有哪些种?

4treemap的实现

5HashMapHashSet的实现原理

6HashMapHashTable的区别,及其实现原理。ArrayList,LinkedList Vector的区别和实现原理。TreeMapTreeSet区别和实现原理。ConcurrentHashMap实现原理(锁分离技术)。

7hashMap等相关源码

 8hashmap的原理。
        结合着源码blabla,然后包括1.6Entry1.8Node还有对keyhashcode1.61.8用的算法不一样啊之类的blabla,说了一通,什么fail-fast机制啊啥啥啥的。

9javahashMap结构,处理冲突方法,还有啥方法,各个方法优缺点,为啥不用另一个有有点的方法。

2ArrayList的区别

3、(1vector中内存扩充方式怎样?为什么每次都有2被扩充?(算法导论中平摊分析 )

   2vectorlist的区别

4static的作用

5、(1Java有哪些特性(封装、继承、多态之类的)

2)如何实现多态?

6、(1)如何在main函数调用前处理一些事情

   2main函数前会有什么操作

7ArrayListLInkedList的比较

ArrayList,这里就有技巧了举一反三,我一般都是对比着LinkedList来说 ,从实现机制、扩容机制等等方面来说

8、继承的好处和坏处

9 super()this能不能同时使用

10、静态类与单例模式的区别

11、面向对象的设计规范

12、接口和抽象类的区别

13说一说对java io的理解

14知不知道NIO

了解NIO吗,Netty框架源码看过吗

15juc包内有哪些类,CAS如何实现,说一下对线程池的理解

16、(1maplistset的区别  

2map源码,怎样解决冲突,和扩容

17StringStringBufferStringBuilder区别,String为什么不可变

StringStringBuffer,StringBuilder区别和联系,String为啥不可变,在内存中的具体形态。

String,是否可以继承,“+”怎样实现,与StringBuffer区别

18java gc请解释

19Object的类都有哪些?

20String转出 int型,判断能不能转?如何转?

11 你用过的一些collection都有哪些

12 、反射机制中可以获取private成员的值吗(没有setget函数)

13 equls== 的区别

14、包装类型和基本类型比较问题(例如,Integer类型的变量能否==int类型变量,能否作比较,什么时候不能作比较)

15java中异常机制。

16comparable接口和comparator接口实现比较的区别和用法,Arrays静态类如下实现排序的。

17protected权限能否被包外访问(我当时有点蒙竟然说能,出来就后悔了),然后问boolean占几个字节   

18C++/JAVA/C的区别

19了解JS

20面向对象的特征

21java的集合,异常

22JAVA中常用的集合

23java异常

24java内存模型

 

部分二

1. 九种基本数据类型的大小,以及他们的封装类。

2. Switch能否用string做参数?

3. equals==的区别。

4. Object有哪些公用方法?

5. Java的四种引用,强弱软虚,用到的场景。

6. Hashcode的作用。

7. ArrayListLinkedListVector的区别。

8. StringStringBufferStringBuilder的区别。

9. MapSetListQueueStack的特点与用法。

10. HashMapHashTable的区别。

11. HashMapConcurrentHashMap的区别,HashMap的底层源码。

12. TreeMapHashMapLindedHashMap的区别。

13. Collection包结构,与Collections的区别。

14. try catch finallytry里有returnfinally还执行么?

15. ExcptionError包结构。OOM你遇到过哪些情况,SOF你遇到过哪些情况。

16. Java面向对象的三个特征与含义。

17. OverrideOverload的含义去区别。

18. Interfaceabstract类的区别。

19. Static class non static class的区别。

20. java多态的实现原理。

21. 实现多线程的两种方法:ThreadRunable

22. 线程同步的方法:sychronizedlockreentrantLock等。

23. 锁的等级:方法锁、对象锁、类锁。

24. 写出生产者消费者模式。

25. ThreadLocal的设计理念与作用。

26. ThreadPool用法与优势。

27. Concurrent包里的其他东西:ArrayBlockingQueueCountDownLatch等等。

28. wait()sleep()的区别。

29. foreach与正常for循环效率对比。

30. Java IONIO

31. 反射的作用于原理。

32. 泛型常用特点,List<String>能否转为List<Object>

33. 解析XML的几种方式的原理与特点:DOMSAXPULL

34. JavaC++对比。

35. Java1.71.8新特性。

36. 设计模式:单例、工厂、适配器、责任链、观察者等等。

37. JNI的使用。

0 0