本内容来源于 16 年毕业的学长,先在 58,后阿里,如今准备跳槽了,以下内容为他的最近面试经历,
我最近从大厂离职之后在合肥呆了个把月,之前已经准备了半个多月,从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)的时间复杂度?
- 编写一个程序实现最小栈?
网络协议连环炮
- 网络协议了解吗?
- 说一下7层网络协议有哪些层?
- 说一下我从浏览器输入一个url访问天猫网站整个过程经历了什么?
- DNS是干嘛的?
- CDN了解吗?干嘛的?
- 假如我访问12306,发现很慢,怎么排查?
- 说一下http协议的请求头有哪些?
- 说一下https与http的区别?
- 说一下http的状态码有哪些,代表什么意思?
- 说一下HTTP中session和cookie的区别?
- 说一下HTTP建立链接的过程?
- RPC框架用过吗?是基于TCP协议的吗?
- 说一下TCP协议的握手和挥手过程?为什么是三次握手,四次挥手呢?
- TCP滑动窗口了解吗?解决了什么问题?
- 假如我的RPC服务出现了大量TimewAIt和closewait的链接应该怎么排查?
- TCP长链接和短链接了解吗?有什么区别?分别适用于什么场景?
设计模式连环炮
- 你用过哪些策略模式?举几个例子?
- MyBatis或者spring源码阅读过吗?了解里面有哪些设计模式吗?
- java类加载机制了解吗?用的是什么设计模式?
- 单例模式用过吗?写个单例模式?还有其他实现方案吗?有什么区别?
- 说一下什么是策略模式?有什么优缺点?说一下代理模式在哪些地方会用到?
- 假如我要对接第三方的系统,但是我自己的业务服务协议不支持,如果支持的话有一定改造成本,用哪种设计模式会减少对系统的侵入性?
- 说一下适配器模式和桥接模式的区别?
业务系统架构连环炮
- 你好,我是xx公司的面试官我叫xx,你先做个自我介绍吧?
- 说说你比较擅长哪方面?java后端?更详细的呢?
- 说说你怎么用这些技术的?
- 说一下你比较熟悉的项目?
- 说一下哪些系统或者大型模块是你独立作为owner开发的?有什么挑战?
- 画一下业务架构图?里面有哪些核心业务模型?
- 业务领域有哪些?
- 是微服务架构的话你这么多工程是通过什么分工的?为什么这么做?
- 你觉得这个系统的架构模型有什么缺点?
- DDD了解吗?如果是你你怎么梳理领域模型?
- 不依赖任何具体框架你怎么设计工程架构和业务功能模块?说说这么做的好处是什么?
- 说几个你熟悉的业务流程,在纸上/白板上画一下?
hr连环炮
- 你好,请问你对我们的面试流程有什么想法?
- 觉得我们的面试官怎么样?
- 我们公司的办公环境怎么样?
- 你在上家公司主要是做哪方面的内容?有什么成长?
- 你离开上家公司的原因是什么?
- 说说你对上家公司的印象?工作氛围怎么样?
- 请问你对下一份工作有什么要求吗?想从事哪方面的工作呢?
- 工作中遇到哪些令你印象深刻的问题?你是怎么解决的?
- 说说你最近有没有其他需要学习的地方?你平时是怎么学习的?
- 你觉得你有什么优缺点?
- 有女朋友吗?
- 我们公司目前会有加班,你可以接受吗?
- 你期望的最低薪资是多少?
- 你现在面试了多长时间呢?
- 手头上有几个offer?如果给你offer你大概最快什么时候可以入职呢?
性能优化连环炮
- 做过java程序性能优化吗?
- 假如我有一个RPC服务出现了FGC怎么排查?
- 假如我有很多服务在不同的机器上,其中某个服务超时比较严重该怎么做?
- 假如我通过监控发现CPU飚的比较高怎么看?
- 一条sql执行的比较慢你会怎么排查?
- RPC原理了解吗?说说RPC的调用过程?
- 假如你去设计一个RPC框架你会从哪些方面去考虑这个框架的性能和高可用?
- 说说为什么要进行服务治理?
- 微服务中引入Docker/k8s有什么优缺点?
- 你平时部署系统的时候用的持续集成系统是什么?有什么特色功能提高开发效率?
- 做过性能测试吗?如何评估一个接口的性能指标?
- 假如我某个上游系统调用我的接口并发很高,我该怎么做?
- 如果上游系统对时延比较敏感你该怎么做?
- 如果上游系统是比较核心的应用不能限流怎么办?
反问面试官连环炮
HR:
- 请问你们公司一般上下班是大概几点呢?
- 请问你负责的这个部门目前技术团队大概有多少人呢?
- 请问你们公司未来准备招多少人?
- 是不是处于业务上升期呢?
- 听说你们公司最近风评不太好,是真的吗?
- 现在手头上还有其他offer,假如能给offer的话,你这边能开出什么更有吸引力的条件吗?
- 目前公司的福利啥的能简单介绍一下吗?
面试官:
- 我现在没有什么问题了,你有什么要问我的吗?
- 我问一下你现在负责的大概是哪方面的内容?
- 你们部门目前在公司是怎么样的定位?
- 你们部门团队目前有多少人?
- 请问你最近有没有遇到过比较有挑战的问题?
- 你们部门做的这个系统有没有考虑商业化呢?
- 存储系统怎么做的,MySQL?
- 你能说一下你负责的这个业务的大体内容和流程吗?
- 我问一下刚刚面试的问题你有什么思路吗?
以上就是近期面试的面试题总结