来自阿里面试官的 Java 面试连珠炮,让你自由发挥你能撑到哪一步?
本内容来源于我的一位学长亲身经历,先在 58,后阿里,如今准备跳槽了,以下内容为他的最近面试经历
![](https://static001.geekbang.org/infoq/9a/9a2b9134ffe4e7de5db1f645cace9db9.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
我最近从大厂离职之后在合肥呆了个把月,之前已经准备了半个多月,从 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)即可获得免费领取方式!
![](https://static001.geekbang.org/infoq/30/30c8250097e4a45e34bee88cac9e4ffc.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
网络协议连环炮
网络协议了解吗?
说一下 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)即可获得免费领取方式!
![](https://static001.geekbang.org/infoq/de/de49c1cf3d10c796cfe4479dc25943fd.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
设计模式连环炮
你用过哪些策略模式?举几个例子?
mybatis 或者 spring 源码阅读过吗?了解里面有哪些设计模式吗?
java 类加载机制了解吗?用的是什么设计模式?
单例模式用过吗?写个单例模式?还有其他实现方案吗?有什么区别?
说一下什么是策略模式?有什么优缺点?说一下代理模式在哪些地方会用到?
假如我要对接第三方的系统,但是我自己的业务服务协议不支持,如果支持的话有一定改造成本,用哪种设计模式会减少对系统的侵入性?
说一下适配器模式和桥接模式的区别?
推荐我的设计模式复习资料
这里分享我的设计模式复习资料,来自字节跳动大牛总结整理的《Java 设计模式(实战+源码)》,转发+关注,然后添加我的 VX(tkzl6666)即可获得免费领取方式!
![](https://static001.geekbang.org/infoq/d2/d2156647c637e753fb5559aaa9d446ee.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
业务系统架构连环炮
你好,我是 xx 公司的面试官我叫 xx,你先做个自我介绍吧?
说说你比较擅长哪方面?java 后端?更详细的呢?
说说你怎么用这些技术的?
说一下你比较熟悉的项目?
说一下哪些系统或者大型模块是你独立作为 owner 开发的?有什么挑战?
画一下业务架构图?里面有哪些核心业务模型?
业务领域有哪些?
是微服务架构的话你这么多工程是通过什么分工的?为什么这么做?
你觉得这个系统的架构模型有什么缺点?
DDD 了解吗?如果是你你怎么梳理领域模型?
不依赖任何具体框架你怎么设计工程架构和业务功能模块?说说这么做的好处是什么?
说几个你熟悉的业务流程,在纸上/白板上画一下?
hr 连环炮
你好,请问你对我们的面试流程有什么想法?
觉得我们的面试官怎么样?
我们公司的办公环境怎么样?
你在上家公司主要是做哪方面的内容?有什么成长?
你离开上家公司的原因是什么?
说说你对上家公司的印象?工作氛围怎么样?
请问你对下一份工作有什么要求吗?想从事哪方面的工作呢?
工作中遇到哪些令你印象深刻的问题?你是怎么解决的?
说说你最近有没有其他需要学习的地方?你平时是怎么学习的?
你觉得你有什么优缺点?
有女朋友吗?
我们公司目前会有加班,你可以接受吗?
你期望的最低薪资是多少?
你现在面试了多长时间呢?
手头上有几个 offer?如果给你 offer 你大概最快什么时候可以入职呢?
性能优化连环炮
做过 java 程序性能优化吗?
假如我有一个 RPC 服务出现了 FGC 怎么排查?
假如我有很多服务在不同的机器上,其中某个服务超时比较严重该怎么做?
假如我通过监控发现 CPU 飚的比较高怎么看?
一条 sql 执行的比较慢你会怎么排查?
RPC 原理了解吗?说说 RPC 的调用过程?
假如你去设计一个 RPC 框架你会从哪些方面去考虑这个框架的性能和高可用?
说说为什么要进行服务治理?
微服务中引入 docker/k8s 有什么优缺点?
你平时部署系统的时候用的持续集成系统是什么?有什么特色功能提高开发效率?
做过性能测试吗?如何评估一个接口的性能指标?
假如我某个上游系统调用我的接口并发很高,我该怎么做?
如果上游系统对时延比较敏感你该怎么做?
如果上游系统是比较核心的应用不能限流怎么办?
推荐我的性能优化复习资料
这里分享一份很牛的大佬写的《Java 程序性能优化——让你的 Java 程序更快、更稳定》转发+关注,然后添加我的 VX(tkzl6666)即可获得免费领取方式!
![](https://static001.geekbang.org/infoq/f0/f0b0bc2d67bd091033d194ac02f10ed6.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
反问面试官连环炮
HR:
请问你们公司一般上下班是大概几点呢?
请问你负责的这个部门目前技术团队大概有多少人呢?
请问你们公司未来准备招多少人?
是不是处于业务上升期呢?
听说你们公司最近风评不太好,是真的吗?
现在手头上还有其他 offer,假如能给 offer 的话,你这边能开出什么更有吸引力的条件吗?
目前公司的福利啥的能简单介绍一下吗?
面试官:
我现在没有什么问题了,你有什么要问我的吗?
我问一下你现在负责的大概是哪方面的内容?
你们部门目前在公司是怎么样的定位?
你们部门团队目前有多少人?
请问你最近有没有遇到过比较有挑战的问题?
你们部门做的这个系统有没有考虑商业化呢?
存储系统怎么做的,Mysql?
你能说一下你负责的这个业务的大体内容和流程吗?
我问一下刚刚面试的问题你有什么思路吗?
评论 (2 条评论)