我最近从大厂离职之后在合肥呆了个把月,之前已经准备了半个多月,从7月底开始投简历面试,目前是java高级职位,到现在为止已经面了24+公司了,手上也有一些意向offer。现在把跟面试官对垒的面试问题总体记录一下。

手撕代码连环炮

  1. 单例模式了解吗?有哪几种?
  2. 写个单例模式?这个单例模式有什么问题?
  3. sychronized怎么用的?
  4. volatile呢?
  5. 写个冒泡算法?
  6. 假如有个数组[1,2,3,3,4,4,5,6,6,7],相对递增有序,给定一个值假如3,打印这个值在数组中出现的第一个索引下标?分析一下你写的这个程序的时间复杂度。
  7. 写个快速排序?非递归怎么实现?
  8. 写个二叉树的前序遍历?二叉树的非递归中序遍历?
  9. 假如有个数组[3,2,2,3,3,4,4,5,6,6,7,4,4,4],有重复数据,现在要去重,要求去重后的数组元素与原来数据的索引顺序一致。分析一下时间复杂度和空间复杂度?有没有更好的解法?思路是什么?
  10. 假如有个数组[1,3,7,3,8,4,9,6],现在要求数组中存在最大差值的两个数的索引下标。条件是要索引下标大的减索引下标小的才可以。分析一下时间复杂度和空间复杂度?有没有更好的解法?思路是什么?
  11. 手写一个LRU Cache,保障get/put api都是O(1)的时间复杂度?
  12. 编写一个程序实现最小栈?

推荐我的面试复习资料

这里分享一份超级大牛总结的Java面试必备的复习资源《Java面试必备手册》涵盖29个Java核心技术详解,JVM,Redis,Nginx,Spring Boot,Spring Cloud,Kafka,并发编程,Tomcat,MyBatis,BAT面试题等。转发+关注,然后添加我的VX(tkzl6666)即可获得免费领取方式!


网络协议连环炮

  1. 网络协议了解吗?
  2. 说一下7层网络协议有哪些层?
  3. 说一下我从浏览器输入一个url访问天猫网站整个过程经历了什么?
  4. DNS是干嘛的?
  5. CDN了解吗?干嘛的?
  6. 假如我访问12306,发现很慢,怎么排查?
  7. 说一下http协议的请求头有哪些?
  8. 说一下https与http的区别?
  9. 说一下http的状态码有哪些,代表什么意思?
  10. 说一下HTTP中session和cookie的区别?
  11. 说一下HTTP建立链接的过程?
  12. RPC框架用过吗?是基于TCP协议的吗?
  13. 说一下TCP协议的握手和挥手过程?为什么是三次握手,四次挥手呢?
  14. TCP滑动窗口了解吗?解决了什么问题?
  15. 假如我的RPC服务出现了大量Timewait和closewait的链接应该怎么排查?
  16. TCP长链接和短链接了解吗?有什么区别?分别适用于什么场景?

推荐我的TCP相关复习资料

这里分享一份我觉得非常棒的一份TCP相关书籍《TCP/IP协议族(第四版)》转发+关注,然后添加我的VX(tkzl6666)即可获得免费领取方式!


设计模式连环炮

  1. 你用过