0
点赞
收藏
分享

微信扫一扫

【深度Java八股文】:Java基础篇

星巢文化 2022-03-12 阅读 100

系列目录

以下相关最后更新于
2022-03-07

不同于网上被翻烂的八股文或者面试题目,这里是我这几年收集的一些比较有深度的,对标大厂系列的面试题,如果这些题你能答出80%,那么你在面试中将所向披靡。

系列文章的答案会慢慢更新……

  1. Java基础系列
  2. Java并发系列
  3. JVM系列
  4. MySQL系列
  5. Spring系列
  6. SpringBoot系列
  7. Redis系列
  8. RocketMQ系列
  9. Tomcat系列
  10. 系统设计相关
  11. 计算机网络系列
  12. 操作系统系列
  13. 计算机组成原理系列

Java基础相关

IO篇

  1. 序列化是什么?为什么要序列化?不序列化可以吗
  2. Java中的BIO、NIO?具体怎么支持的?
  3. channel和buffer是什么?
  4. Reactor 线程模型了解吗?单线程,多线程,主从模型?
  5. 零拷贝是什么?Java中有用到零拷贝吗?
  6. Java中的直接内存和mmap有关系吗?
  7. 为什么要用直接内存?
  8. 直接内存,或者堆外内存的本质是什么?
  9. 关于java中直接内存,堆外内存,mmap,零拷贝
  10. 为什么java不直接把堆内存中的数据地址给内核,让内核直接来操作?
  11. NIO中提供的FileChannel和mmap区别和使用场景?
  12. 字节流和字符流?为什么有字节流了还要字符流
  13. 为什么会有缓冲区?不带缓冲区会有什么问题吗?
  14. 流为什么打开就必须关闭?不关闭会有什么问题吗?
  15. socket是什么?socket和tcp/udp有什么区别?
  16. socket会阻塞吗?哪些情况会发生阻塞呢?

集合篇

  1. 为什么要用集合,数组链表不行吗
  2. 项目中怎么选用集合
  3. 为什么hashmap是线程不安全的,那你在项目中有思考过这个问题吗
  4. 容量不是2的整数次幂 还用&(length-1) 影响会怎样?
  5. 扩容、哈希等八股文
  6. 为什么扩容会出现死循环问题
  7. 如果让你来做HashMap扩容,如何实现在不阻塞整个Map的情况下扩容?
  8. 为什么HashMap 不用B+树?
  9. 为什么hashmap扩容是2倍,而arraylist却是1.5倍呢
  10. List怎么自定义排序?
  11. 内部的排序算法是什么?
  12. ConcurrentHashMap是怎么保证线程安全的
  13. 为什么1.8取消了segment
  14. 为什么线程安全的容器key和value不支持null值
  15. 为什么说set是无序?
  16. set是怎么保证不重复的
  17. 如果哈希冲突了呢(equals重写的重要性)
  18. Queue中add和offer的区别
  19. Queue中peek,poll,remove的区别
  20. 快速失败和安全失败原因?

其他篇

  1. String类型怎么不可变的?为什么要不可变?
  2. String的hashcode是怎么计算的?其它基础类型呢?
  3. 为什么String采用31作为乘数?
  4. final关键字的用处是什么?加在类上,方法上,字段上有什么区别?
  5. 反射是什么?怎么使用的?为什么要有反射
  6. java 反射class.forName()加载类和使用classLoader 加载类的区别
  7. JDK动态代理为什么需要依赖接口?
  8. 浮点型是什么?为什么会有浮点型?为什么计算机保存的不是准确值?
  9. 什么是注解?注解如何使用?
  10. 注解的原理是什么?反射是怎么找到注解信息的?
  11. 项目中怎么使用的枚举类?枚举类是怎么实现的?怎么保证单例?
  12. Java定时任务怎么实现的?Timer有什么缺陷?怎么解决?
  13. Java是引用传递还是值传递?
  14. 说一下深拷贝和浅拷贝的区别?
举报

相关推荐

【八股文】Java基础

Java基础八股文

八股文|Java基础

Java八股文

java八股文

JAVA八股文

0 条评论