vinqi.com

后端开发工程师面试题及答题要点

后端岗面试通常2到4轮:一轮基础与编码、一到两轮项目与系统设计、最后一轮HR或主管面。真正拉开差距的不是八股背得多熟,而是你能不能把项目里的取舍讲清楚。最常见的挂点有两个:一是基础题只会背结论、一问为什么就卡住;二是项目讲成了流水账,说不出自己解决了什么具体问题。

专业基础与语言特性

说一下你对这个语言里集合类的理解,平时怎么选?

考察点:考察你是不是只会用,还是知道底层结构和适用场景。

答题要点:

    别踩:只罗列API名字和复杂度,说不出自己在什么场景下用过,面试官会认为你是背的。

    线程池的核心参数有哪些?线上你怎么配置?

    考察点:考察并发基础和线上意识,重点是配置依据不是背参数。

    答题要点:

      别踩:直接说「核心数设为CPU核数加一」这种万能答案,追问任务类型就答不上来。

      数据库索引为什么能加快查询?什么情况下索引会失效?

      考察点:考察对存储结构和执行计划的理解,是后端必问。

      答题要点:

        别踩:只说「加了索引就快」,说不出最左前缀和函数导致失效,会被判定为背书。

        事务的隔离级别有哪些?你们项目用的是哪个,为什么?

        考察点:考察对并发问题的理解深度,以及能否结合业务选型。

        答题要点:

          别踩:把四种级别能解决的问题记混,或者被追问「幻读怎么解决」时只会说加锁。

          项目经历深挖

          挑一个你印象最深的项目,说下你的角色和难点。

          考察点:考察表达结构和技术深度,这题基本决定整场面试走向。

          答题要点:

            别踩:讲成需求文档复述,五分钟还没说到自己做了什么,面试官会直接打断换题。

            这个接口QPS上来了你怎么优化?

            考察点:考察性能优化的思路链条,而不是某个具体工具。

            答题要点:

              别踩:上来就说加Redis、加消息队列,说不出为什么是这个瓶颈,属于套路化回答。

              你项目里有没有做过技术方案对比?最后为什么选它?

              考察点:考察技术决策能力,这是高级岗和初级岗的分水岭。

              答题要点:

                别踩:说「因为性能好所以选它」,但说不出具体指标和数据,显得是拍脑袋决定。

                你写过的最烂的一段代码是什么?后来怎么改的?

                考察点:考察反思能力和代码意识,也是在试探你说不说实话。

                答题要点:

                  别踩:回答「我觉得我写的都还行」,会让面试官觉得你缺乏自省,直接减分。

                  系统设计与场景题

                  设计一个短链生成服务,你会怎么设计?

                  考察点:考察分层设计和细节落地能力,是后端设计题的经典题型。

                  答题要点:

                    别踩:直接开始写表结构,不确认需求量级,后面所有设计都建立在错误假设上。

                    接口突然变慢,你排查的思路是什么?

                    考察点:考察线上问题定位能力,这题几乎每场都会问。

                    答题要点:

                      别踩:只说「重启试试」,面试官想听的是分层排查路径,不是救火口号。

                      如果让你保证消息不丢、不重复消费,怎么做?

                      考察点:考察对分布式可靠性的理解,是否知道各种边界情况。

                      答题要点:

                        别踩:只说「用消息队列就保证了」,被追问重试导致的重复消费时答不上来。

                        服务需要限流,你会怎么实现?限流阈值怎么定?

                        考察点:考察对稳定性保障的理解,以及是否只会调框架参数。

                        答题要点:

                          别踩:只说用了某个限流组件,但说不清阈值是怎么来的,显得没有容量意识。

                          行为与协作面试

                          说一次你和产品(或前端)意见不一致的经历。

                          考察点:考察沟通方式和推进能力,看你是否只会对抗或妥协。

                          答题要点:

                            别踩:把对方描述成不讲理的人,面试官会担心你入职后也这样评价同事。

                            线上出过事故吗?你是怎么处理的?

                            考察点:考察责任心和流程意识,重点是你后续做了什么改进。

                            答题要点:

                              别踩:回答「没出过事故」,在真实工作里几乎不可能,反而暴露没参与过核心环节。

                              为什么想从上一家公司离开?

                              考察点:考察职业动机是否稳定,以及会不会抱怨前东家。

                              答题要点:

                                别踩:大谈前公司流程乱、领导差,面试官会立刻联想你以后也会这样说他们。

                                你平时怎么保持技术学习?最近在学什么?

                                考察点:考察学习习惯和技术热情,也在看你是否只做业务需求。

                                答题要点:

                                  别踩:说「平时太忙没时间学」,会被判断为只被动接需求,成长性存疑。

                                  反问环节

                                  你有什么想问我的吗?

                                  考察点:考察你对岗位的在意程度,也是你判断要不要去的机会。

                                  答题要点:

                                    别踩:回答「暂时没有」,显得你对岗位没兴趣,白丢一次展示诚意的机会。

                                    该怎么判断这家公司值不值得去?

                                    考察点:看似问公司,实际是面试官在看你提问的层次。

                                    答题要点:

                                      别踩:只问薪资和假期,对业务和技术一句不问,容易被判定为只看钱。

                                      面试准备清单

                                      什么时候要做什么
                                      面试前3天把简历上写过的每个项目按「背景—职责—难点—方案—结果」写成200字提纲,重点是准备好被追问三层的技术细节,别写没做过的技术。
                                      面试前3天针对岗位JD里的技术关键词,逐个自测能否讲清原理和使用场景,讲不清的只补高频的3到5个,不要贪多。
                                      面试前1天手写或口述两道编码题(数组字符串类、链表类各一道),重点是边写边说思路,面试时默写不出声是大忌。
                                      面试前1天准备好三个反问问题和一个两分钟的自我介绍,自我介绍里直接点出与岗位最匹配的一段经历。
                                      面试当天提前15分钟进会议或到场,把简历、笔记本、纸笔放好;远程面试提前测好网络和麦克风,关掉消息弹窗。
                                      面试结束后当天趁记忆清晰,把没答上来的问题记下来补答案,两小时内发一条简短感谢消息,顺带补充你当时没答好的那一点。

                                      常见问题

                                      后端开发工程师面试一般几轮?
                                      一般是2到4轮:第一轮基础和编码,第二轮项目深挖或系统设计,第三轮主管或交叉面,最后HR谈薪。大厂流程更长,有的会加一轮交叉面。每轮都可能被问项目,所以项目稿子要反复打磨。
                                      后端八股文要背到什么程度?
                                      背到能解释「为什么」就行,不需要逐字复述。面试官常追问底层原因和实际使用场景,只会背结论的人到第二问就会卡住。建议每个知识点准备一个自己项目里的使用例子,比纯背答案更稳。
                                      没有高并发项目经验怎么办?
                                      不要硬编大流量故事,如实说明业务量级,然后讲你为可扩展性做的设计取舍,比如为什么留了异步扩展点、怎么保证幂等。面试官更看重思路,而不是公司给你的流量大小。
                                      被问到不会的问题该怎么答?
                                      先坦白没深入用过,然后说你的推测思路和会怎么验证,比如从哪查文档、怎么设计对比实验。切忌沉默或胡编,面试官更在意你面对未知时的处理方式,而不是你什么都会。

                                      继续看这个岗位

                                      相关岗位