我最近从大厂离职之后在合肥呆了个把月,之前已经准备了半个多月,从7月底开始投简历面试,目前是java高级职位,到现在为止已经面了24+公司了,手上也有一些意向offer。现在把跟面试官对垒的面试问题总体记录一下。
手撕代码连环炮
- 单例模式了解吗?有哪几种?
- 写个单例模式?这个单例模式有什么问题?
- sychronized怎么用的?
- volatile呢?
- 写个冒泡算法?
- 假如有个数组[1,2,3,3,4,4,5,6,6,7],相对递增有序,给定一个值假如3,打印这个值在数组中出现的第一个索引下标?分析一下你写的这个程序的时间复杂度。
- 写个快速排序?非递归怎么实现?
- 写个二叉树的前序遍历?二叉树的非递归中序遍历?
- 假如有个数组[3,2,2,3,3,4,4,5,6,6,7,4,4,4],有重复数据,现在要去重,要求去重后的数组元素与原来数据的索引顺序一致。分析一下时间复杂度和空间复杂度?有没有更好的解法?思路是什么?
- 假如有个数组[1,3,7,3,8,4,9,6],现在要求数组中存在最大差值的两个数的索引下标。条件是要索引下标大的减索引下标小的才可以。分析一下时间复杂度和空间复杂度?有没有更好的解法?思路是什么?
- 手写一个LRU Cache,保障get/put api都是O(1)的时间复杂度?
- 编写一个程序实现最小栈?
推荐我的面试复习资料
这里分享一份超级大牛总结的Java面试必备的复习资源《Java面试必备手册》涵盖29个Java核心技术详解,JVM,Redis,Nginx,Spring Boot,Spring Cloud,Kafka,并发编程,Tomcat,MyBatis,BAT面试题等。转发+关注,然后添加我的VX(tkzl6666)即可获得免费领取方式!
网络协议连环炮
- 网络协议了解吗?
- 说一下7层网络协议有哪些层?
- 说一下我从浏览器输入一个url访问天猫网站整个过程经历了什么?
- DNS是干嘛的?
- CDN了解吗?干嘛的?
- 假如我访问12306,发现很慢,怎么排查?
- 说一下http协议的请求头有哪些?
- 说一下https与http的区别?
- 说一下http的状态码有哪些,代表什么意思?
- 说一下HTTP中session和cookie的区别?
- 说一下HTTP建立链接的过程?
- RPC框架用过吗?是基于TCP协议的吗?
- 说一下TCP协议的握手和挥手过程?为什么是三次握手,四次挥手呢?
- TCP滑动窗口了解吗?解决了什么问题?
- 假如我的RPC服务出现了大量Timewait和closewait的链接应该怎么排查?
- TCP长链接和短链接了解吗?有什么区别?分别适用于什么场景?
推荐我的TCP相关复习资料
这里分享一份我觉得非常棒的一份TCP相关书籍《TCP/IP协议族(第四版)》转发+关注,然后添加我的VX(tkzl6666)即可获得免费领取方式!
设计模式连环炮
- 你用过