总结下最近的面试题吧

大家好,我是yes。

上一周大概面了近 10 家公司,有很多小伙伴来找我要面经,趁我还有点记忆,今天整理一下。

我这篇主要是范围类型的汇总,因为范围是确定的,面试题是无限的,抓住范围内的知识基础和重点,面试题基本上是随便问的。

就像我们以前考试,其实书本里面的知识点就那么多,但是出卷老师的题目是千变万化的,更多的还是得看你的理解能力和融会贯通了。

并且随着工作年限的增加,场景题和设计题会更多且重要一些,因为像基础知识,比如 mysql 索引结构之类的认为是必须知道的。

我的工作年限是 5 年,下面的面试汇总仅供大家参考。

鸟瞰

基本上公司会从行业、技术、软实力、沟通、感觉这几个方面来考察候选人。

行业

行业很重要,在大环境不好的情况下更甚之。

简单来说就是业务对口能力,看你之前所任职公司的背景,所做的项目经历是否和公司要求岗位的匹配。

举个很简单的例子:A公司现在要招做支付的开发,如果你之前没做过支付,或者在一些比较不知名的公司做的支付且履历没那么好看,你的简历可能都到不了技术那边,HR这边直接挂了你。

这时候,任你有千般武艺也使不出

所以行业匹配度非常关键,当然大公司背景可能会有加成。

技术

过了简历那一关之后,就是技术了,这点的重要性毋庸置疑,主要考察两个方面:广度和深度。

广度

就广度而言,有一位面试官从电脑是如何启动到操作系统是如何加载开始问起,然后从网络的物理层直到应用层,中间还问了 ARP 等协议包括路由器相关的问题。

然后问一些基础的数据结构,且一些相对而言不常见的结构比如前缀树等,再延伸到数据库的索引结构,再从索引结构到文件存储的结构区别再到 NoSQL 数据库的 LSM。

然后再者就是是Spring、SpringBoot、SpringCloud、网关、消息队列、分布式链路追踪的原理等等。

总而言之,基本上操作系统、网络、数据库、应用框架及其衍生的框架都问了一遍,然后问了一些云原生的如 Docker、K8S,还有 DDD 相关的。

这几个方向就是我们 Java 技术栈的同学需要去着重学习的,不过大部分公司都不会问这么广,更多的方向是:mysql、redis、Spring全家桶、消息队列、JVM、并发这几块,基本上算是必问基础题。

上面说的这几个,一定要好好准备,几乎必问。

深度

至于深度的话,有从 Kafka 为什么那么快延伸到内存的管理、消息的存储、内核态用户态、scatter-gather DMA等,还有精细地问到 RocketMQ 消息具体存储的字段是怎么设计的、ComsumerQueue的设计再到 tag 是如何过滤的。

不过正常应该不会这么细,估计是看我简历写了很多开源组件的源码所以才这样问的。

所以平日学东西,更多还是从高处俯瞰,然后一步一步往后探究,其实我有一篇文章基本上就是这个思路,从 Dubbo 的一段源码深入到了 CPU的分支预测

当然关于技术还会有项目问题,这个下面再谈。

软实力

软实力这点也挺重要的,在我们这行更偏向于管理经验吧。

基本上每家面试官都会问我平日是怎么带团队的,具体的流程包括人员的调配,有人员工作不饱和怎么办呐,有同事不配合怎么办,绩效的评定,还有跟外部交流怎样等等。

这点的话主要还是看简历了,如果你没带过团队肯定不会这样问,如果你带过团队基本上必问,即使当前的需求只是招一个普通开发岗,毕竟算是人才储备吧,是一个加分项。

沟通

至于沟通这个就不展开了,看你自己的理解能力和 talk 能力了,总之不要急急忙忙说话,要自信。

自信这点很关键

感觉

还有一点就是感觉,听起来很虚无缥缈,其实在面试中非常重要,因为你觉得你很牛并没有用,你需要让面试官认可你。

如果你的气场和面试官的是相冲的,基本上你就凉了。

有时候对一个人的第一印象就是会莫名其妙,我当面试官的时候,有些应聘者一进来,随便问两句就感觉这个人还不错,但有些应聘者一进来感觉就不太对。

所以很多人说面试很靠运气,这是实话。

相信你们也遇到过很多面试官,有些相谈甚欢,有些话不投机半句多。

技术

上面已经说了几个重要点,关于技术我再扯扯。

纯技术方面的广度和深度是一个门槛,具体场景题又是一个门槛。

有些面试官会抓着你的项目问,一般会问的比较宽泛。

比如你觉得你的项目运行到现在,哪个地方是难点,未来可能会出现什么问题?

这就考察你平日的对项目的思考,包括一些个人的见解。基于这些点,面试官会基于扩展,比如某个功能当下就遇到堆积的问题,你怎么处理之类的。还是会偏实际应用场景。

还有些面试官会拿自己在项目中遇到的实际问题来考你,比如有个面试官问我,他们的 Spring Gateway 项目,正常部署,没做什么改造,在 k8s 上部署之后,内存就缓慢的增加,然后到达阈值报警了,问我是为啥?

再比如有个客户反应部署在他们那边的服务,timewait的连接特别多,是为啥,怎么处理?

等等之类的。

反正会更偏向于项目上的扩展或者是实际的排查场景。

当然,还会有一些纯设计题,比如如何设计分布式链路追踪组件之类的。

总而言之,能提问的实在是太多了,最重要的还是你基础扎实,很多知识点做到融会贯通,以不变应万变。

想要猜场景题,实在有点难

但是一些基础题,比如 mysql innodb 索引结构这类的,基本上是必问的了,包括一些 sql 调优之类的。

有个面试官问的细些,问我 explain 的结果有哪些字段,分别什么含义等等,这类几乎必问的题目还是要准备的。

最后

从我个人近一个星期的面试来看,其实八股文问的比较少,更多的还是场景题,其中还有几个智力题,有个很有意思,改天我写篇文章分享下。

看到这里有些小伙伴可能会有点失望,这就是你说的面试题汇总?

好吧,这确实是我的汇总了。

第一点是因为我确实不太记得每场面试详细问的题目是哪些了,大部分都是我在公众号写了又写的东西,没什么需要特别拿出来写的。

第二点是因为我想表达一个观点,很多小伙伴可能最近没跳槽的打算,但是有时候面试的需求就是来的就很突然,指不定哪天就毕业了,然后匆匆忙忙找工作,突击看八股文。

八股文确实是要看,但是对于工作年限比较多的小伙伴来说,八股文只是基础,更多的还是需要平日对行业项目的深入,包括对整体链路的理解,还有实际排查问题的能力以及在脑海中建立后端知识图谱的能力。

这类能力不是一蹴而就的,不是花几天看看八股文就能学会的,更多的还是平日的沉淀。

只能说未雨绸缪吧。

大家都说现在越来越卷了,包括环境也越来越不好,此时个人的竞争力就越发的重要。

环境越差,越需要静心沉淀

有什么问题可以留言哈。

我是yes,我们下篇见~

#面试#
全部评论
呀,一周面试了10家企业,一定积累了不少经验了
点赞 回复
分享
发布于 2022-08-27 16:26 陕西
不会问算法吗,手撕代码是不是社招不太看重呢
点赞 回复
分享
发布于 2022-10-14 11:31 北京
联易融
校招火热招聘中
官网直投

相关推荐

xdm第一次见三个面试官一起面的场景1.自我介绍2.做两道算法题(昨天刚好做过这两道,乐)一道翻转链表,一道strstr()3.HTTP了解吗?介绍一下HTTP1.01.12.0的区别。介绍一下HTTP三个组成部分,解决跨域在哪个?4.会python吗?介绍一下你常用的库,介绍一下装饰器5.TCP报文格式了解吗?介绍一下TCP在timewait状态下接受syn应该怎么做6.go的gc了解吗,Java的呢,python的呢(没学过Java)7.介绍一下虚拟内存?为什么要有虚拟内存,32位最多虚拟内存为多少?8.你知道Linux的内存淘汰算法吗?说一下实现的大致思路9.MySQL了解吗?介绍一下加锁规则?见过死锁吗?怎么引起的?怎么解决?10.redis了解吗?了解主从复制吗?了解哨兵集群吗?了解切片模式吗?11.redis在你的项目中干嘛的?假如有一个文章突然特别热,造成大KEY你应该怎么做?12.缓存击穿,缓存雪崩,缓存穿透,以及解决方案13.了解过计算机视觉吗?(听说过)14.sql语句,求新用户半个月内的登录次数(模了半天搞出来了)15.剩下的基本都是项目相关了,不过问的也是比较浅,并没有详细问16.你了解过唯一索引和普通索引加锁规则的区别吗?这两个使用有什么区别?一般用哪个?为什么?changebuffer下一步在哪?pagecache还是磁盘?(我还在想这怎么可能在磁盘)17.你确定你们学校允许你现在出来实习?(其实我是不确定的)反问:技术栈?c++go这个挺想去的,明天去试探一下导员的,考试再跑回来
点赞 评论 收藏
转发
6 9 评论
分享
牛客网
牛客企业服务