面试总结---java基础篇

一. 集合

  1. 集合的分类,以及各种集合的特性以及他们之间的区别,各种集合的遍历方式
    重点:HashSet采用哈希算法,底层是由hashMap实现,默认初始化容量16,加载因子0.75,value源码中给默认值,外部数据存入key中
  2. HashMap的特性?它的底层原理?
  3. 遍历Map有哪些方式?
  4. ArrayList的扩容怎么做的?怎么样实现扩容的?是线程安全的吗?怎么去让他线程安全?
  5. 讲讲对HashMap的了解?不给值,它的默认大小是16
  6. List是有序的吗?Map是否有序?
    List有序,而Map中HashMap无序,TreeMap和LinkedHashMap有序
  7. 线程安全的Map是用什么Map?
    CurrentHashMap
  8. 类型后面加…,表示什么含义?
    表示可接受的参数个数不定,可以是一个也可以是多个
    二.设计模式
  9. 你熟悉的设计模式,并解释,实际工作中哪些场景下用过什么设计模式?
  10. 单例模式的使用场景,在实际工作中有哪些地方用过?
    三. 多线程
  11. 多线程有没有实际使用经验,在哪个场景下使用过?
  12. 多线程中run和start有什么区别?
  13. 线程异步或者同步分别怎么去实现?
  14. 线程池如何写?
    四. 其他
  15. Switch支持long类型吗?不支持
    因为switch中主要针对int,byte,short,char可隐式转化为int,而long类型转化为int时会丢失精度。所以暂不支持long。JDK7后增加了String类型。
  16. 堆栈的理解?
  17. String转成int或者Integer
    int a=Integer.parseInt(String str)
  18. Try,catch以及异常的合理抛出
  19. 垃圾回收有了解吗?介绍一下?
  20. StringBuild和StringBuffer的区别
  21. JDK8新增的功能有哪些?

猜你喜欢

转载自blog.csdn.net/YerikStone/article/details/87896314