> For the complete documentation index, see [llms.txt](https://onenesss-organization.gitbook.io/jj-xiaoce/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://onenesss-organization.gitbook.io/jj-xiaoce/next.js-kai-fa-zhi-nan/79.-mian-shi-pian-wu-qian-zi-de-mian-shi-ji-qiao-fen-xiang.md).

# 79. 面试篇 ❘ 五千字的面试技巧分享

### 前言

本篇我们聊一聊面试技巧，分享这个并不是帮助大家“包装自己”，亦或者“投机取巧”。实力不济被淘汰固然可惜，但真正可惜的还是能力达标，却因各种原因没有发挥出自己真正的实力。

其实无论是写简历、还是面试都是有一定技巧的，本篇就和大家聊聊我的思考。

### 1. 项目经历如何写？

在回答“项目经历如何写”前，我们需要先知道，哪些项目经历是可以写在简历上的？

以 Next.js 为例，如果你只是看过这本小册或者官网，写过一些简单的 Demo，没有真的使用 Next.js 做过项目，那我建议还是不要写了。

简历中甚至可以不提及 Next.js，因为**如果你写了 Next.js，就要做好被提问的准备**。如果只是为了彰显自己厉害而凑数的技术栈，一旦被提问，回答得乱七八糟，只会是大大的减分项，进而让面试官怀疑你其他技术栈的真实度。

那你可能要问，简历里都不写，那我岂不是白学了？简历里不写，并不代表回答的时候可以不说，你可以假装无意的提及到自己对 Next.js 的涉猎，出于兴趣学习过 Next.js，这样反而会是一种加分项。

当然写也是可以的，只是不需要做过多笔墨，比如在技术栈部分写上一句如“熟悉 Next.js + Prisma + Mongodb + Vercel 开发流程，实现过自己的技术博客”即可。不过写了就要做好被提问的准备，比如准备一段实现技术博客经历描述、看看这本小册的面试题回答等等。

如果你在项目中确实用过 Next.js，那就可以写一写。在我看来，简历的一大作用是引导面试官进行提问（那些按照题库面试的就没办法了，至少阿里的面试官都是根据简历进行提问的），而其中项目经历又是重中之重。

一个好的项目经历该怎么写呢？

这个问题的本质问的是其实是一家公司想要什么样的人？所以你可以把这个问题换成：如果你开了一家外包公司，你想招什么样的人？

最基本的肯定是这个人能够按时完成自己的工作，其次在工作之余，能为公司考虑，创造更多的价值。再往后的就比较黑心了，就不多说了……

反过来也是一样的，当写在简历上的时候，完成公司的项目只是最基本的要求（当然有很多人连项目都完成不好，但是他们不会写在简历上），所以只是简单的介绍下项目以及在项目中做的事情和用到的技术栈，其实并无亮点可言。你要重点描述的是：你在完成项目之外做了什么？

给大家看个实际的例子就明白了：

![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/127f9971475a4ec7ad1f29637a7505b3~tplv-k3u1fbpfcp-jj-mark:0:0:0:0:q75.image#?w=750\\\&h=650\\\&s=102030\\\&e=jpg\\\&b=fcfcfc)

这就是一个不错的模板。**在言简意赅的介绍项目之后，可以讲讲在项目中遇到的问题，自己是如何优化解决的，带来了哪些价值，为了增加真实度，最好有数据支撑。**

那你可能要问，我没有做过什么优化，该怎么编呢？

这我就不知道了……因为我分享的并不是包装简历，而是告诉你什么是好的“简历”，什么是好的“回答”。

这些准备其实不是在面试前简单学习一下就能做到的，而是要**在日常工作中就开始为自己的简历，为自己的“价值”铺路，如此才能在关键的阶段将自己推上更高的位置**。

优秀的人往往有一些独特的品质，比如行动力强、学习快、爱折腾、举一反三等，这些结果其实是品质在日常工作中的开花结果。面试只是透过题目和交流挖掘面试者的优秀品质而已。但这并不是说，你没好的项目经历就没有好的品质，而是说，每个人都有优势和劣势，如何扬长避短，发挥出自己的优势，在项目中留下印记是一件日常就需要思考和准备的事情。

完成一个项目经历的书写只是一个开始，作为提问的重点，面试官会通过询问你具体做的事情，了解项目经历的真实度和所做内容的含金量。

那具体的项目经历该怎么回答呢？这就要说到老套的 STAR 法则（其他公司我不清楚，但阿里的面试官在做面试官之前都要过一个面试官培训课程，其中就明确的讲到这个原则）。

所谓 STAR 原则是结构化面试当中一个非常重要的理论，它是 Situation（情景）、Task（任务）、Action（行动）和 Result（结果）四个英文单词的首字母组合。

1. Situation：事情发生的情境
2. Task：你的任务是什么
3. Action：你的行动是什么
4. Result：结果如何，你取得了什么成果

《金字塔原理》中的 SCQA 模型也是差不多的：

1. S（Situation）情景：由大家都熟悉的情景、事实引入
2. C（Complication）冲突：实际情况往往和我们的要求有冲突
3. Q（Question）疑问：怎么办？
4. A（Answer）回答：我们的解决方案是什么？

我们就以 STAR 原则为例，比如“请讲出一件你通过学习尽快胜任新的工作任务的事”：

1. 这件事发生在什么时候？（S）
2. 你要从事的工作任务是什么？（T）
3. 接到任务后你怎么办？（A）
4. 你用了多长时间获得完成该任务所必须的知识？（深层次了解员工学习能力等）
5. 你在这个过程中遇见困难了吗？（了解坚韧性，以及处理事件的灵活性）
6. 你最后完成任务的情况如何？（R）

当然这是从面试官的角度来看的，反过来从面试者的角度也是一样的。

首先千万不要让面试官这样追问。面试官追问一点你回答一点，如此挤牙膏的感觉就像悬疑探案，你将自己的弱点隐藏起来，面试官一点一点扒开寻找“真相”，这种“着急”的感觉会让面试官在寻找出点蛛丝马迹的时候，就恨不得将你判刑淘汰。倒不如大大方方的跟他直接完整讲述，都扒拉出来给你看，生怕你不知道，发现不了我的优秀……当然这个前提是你做足准备。

其次在面试前，要多准备几段这样的经历，每段经历都按照 STAR 法则编写，最好再口语化、有趣味一点就更好了。其实项目经历是非常容易勾起面试官好奇的部分，也是最容易展现个人品质的部分。写文章讲究起承转合，讲究冲突与矛盾，你遇到的问题其实就是非常好的“冲突与矛盾”，为什么会遇到这个问题呢？你是怎么思考的？你尝试了哪些方法？学习了哪些东西？最后是怎么解决的？解决完后是否将其升华？比如建成工具平台，推广团队业务等等，这些故事化的描述会非常凸显个人能力和品质。

最后，项目经历的回答表面上可以“风轻云淡”、甚至“洋洋得意，颇为自豪”，但内心一定要慎重再慎重。你可以在项目经历上添加一些特殊的技术关键词，吸引面试官去提问。你要知道，那些面试官可都是“老狐狸”，他们特别喜欢在面试者讲述一些抽象事情的时候追问其细节，在讲经历的时候追问技术，以检查其内容的真实度。为了满足他们，你可以故意抛出一些准备好的点，勾引他们提问，所以千万不要“飘”，人一飘，就容易夸耀自己，扯出一些自己其实都不熟的东西，这些东西一旦被抓住，不仅拉低面试分，也是对自己面试状态的损害。

### 2. 面试心态

之所以将“面试心态”部分单独拿出来讲，是因为面试很考验心态，心态往往又决定了发挥。

有的面试者一开始就心态就不好，紧张恐惧，回答支支吾吾、放不开。有的面试者一开始心态不错，但遇到几个不会的问题就开始丧失信心，气势全无。有的面试者则看人，遇到亲切的面试官能够谈笑风生，遇到严肃的面试官则胆小谨慎。

如果面试前很紧张，分享你一个小技巧：

> 布鲁克斯设计了一个实验，来寻找答案。她告诉一些要演讲的人放松，通过对自己说“我很冷静”来舒缓紧张。而 鼓励另一些人拥抱焦虑，对自己说“我很兴奋”。
>
> 哪个策略都没消除焦虑。演讲前，两组人还是紧张。然而，对自己说“我很兴奋”那些人，感觉更能处理压力。虽然还是紧张，他们自信有能力做好演讲。

面试前紧张其实是正常的，紧张这种情绪的客观目的是为了让人能够集中注意力，调动更多资源处理问题。真到事情开始的时候，紧张往往会消除大半。

但是心态上的问题其实跟人的底层认知有很大关系，一时间也难以改变。与其聊个人成长和心理学，我更想和你聊聊我眼中的面试官。

简单的来说就是，你遇到的 99% 的面试官，都是普通人，没几个真正牛逼的，无论是不是大厂。套用罗翔老师的话就是：

![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/c0676bd24bb24865b38fb8dcab39969b~tplv-k3u1fbpfcp-jj-mark:0:0:0:0:q75.image#?w=1080\\\&h=1531\\\&s=190350\\\&e=jpg\\\&b=1f2e3b)

注：其实这样说我心中也有点忐忑，因为中小厂的情况我并不清楚，大厂反正是这种情况。

技术面试官分两种，一种主要考察技术，一种主要考察人。

前者主要在一二面，往往由一线开发同学承担。千万不要觉得在一线开发，技术就很强，他们只是一群加班狗而已。白天开会，晚上写代码，还要忧虑被裁。为了薪资，咬牙坚持、故作工作开心。加上大厂工作强度高、节奏快、压力大，到了周末只想躺平，这种情况哪有什么时间研究技术呢，平时做业务也更多是堆代码，毫无成长可言。毕竟公司雇你是让你干活的，不是让你学习的，付你的工资里本身就包含了委屈费。

那你可能要问，大厂里不还有纯做技术的团队吗？现在大多都被裁了，所以你遇到的概率不大。

至于后者，主要在三四面，往往由团队 leader 承担。这种技术上就更不用担心了，他们很少问技术类的问题，就算问了，也只是问问而已，他们自己可能自己都不知道答案。

哪怕他们曾经技术很强，从团队中脱颖而出，但作为 leader，工作的职责就不再是研究技术，技术上注定是要弱于一线开发同学的。阿里的很多技术 leader，大团队是会要求每年至少一次参与到实际业务开发的，结果上，无论 P7、P8、P9……，写的代码不多，还 bug 一堆，P 级越高，bug 越多。

所以我朋友圈发过防割韭菜小技巧：

![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/bac0e268c87d485e844da84838a069ff~tplv-k3u1fbpfcp-jj-mark:0:0:0:0:q75.image#?w=500\&h=1890\&s=595394\&e=png\&b=faf9f9)

但我说这些并不是让你睥睨面试官，只是想告诉你，平台牛逼不代表个体牛逼，面试官也是普通人，会内耗、焦虑、忧虑、恐惧，技术上也不一定全面牛逼，顶多在某个细分的技术领域上有些经验。

如果你把面试看的太过重要，把面试官看的太过神圣，把他当成高高在上的决定你“未来生死”之人，那大可不必。绝大部分的面试官在作为同事相处的时候，都非常融洽随和。职级越高，越是如此，因为越是在大厂职级高，越是需要跨团队协作沟通，高冷之人是混不下去的……

但这也不是说，上来就把面试官当成朋友看待，无话不谈。面试官在面试的时候是“无情”的，千万不要通过所谓“真诚”来打动面试官，聊着聊着就开始抖出自己的底子。

真诚确实是一张好牌，它跟任何一张牌一起出都是王炸，但唯独单独出的时候，是一张废牌。所以真诚也要建立在能力过关的基础上。君子有所为有所不为，面试有所谈有所不谈。原则性的东西更要坚守，比如不要泄露公司机密信息、不要过多抱怨上家，尤其是谈跟上家撕破脸的事情。（维护自己的利益当然是你正常的权利，我只是建议面试的时候不要聊这些，没什么价值，回答不好还降低印象分）

### 3. 面试题该怎么回答？

回答面试题我们通常理解为“背八股”，确实，很多面试题看似都有标准答案，但这些标准答案其实只能算一个 60 分的回答。面试题考察的不仅仅是面试者的知识储备，更要通过面试题发现面试者的优秀品质。

比如“性能优化”是一个非常经典的面试题，大家搜一搜回答，总结整理一下，便能对这个问题回答的头头是道。但是面试官真的是在问这个问题本身吗？反正我遇到这个问题的时候，会追问面试者：“停停停，你说了这么多，我想想问你在项目中具体用到了哪些性能优化？性能优化的效果到底怎么样？最后带来了哪些收益？”

所以面试官看的其实并不是这个问题的标准回答，而是看面试者是否真的为自己的项目思考过，进行过优化，并带来了收益。如果你在之前的公司能够做到这些，那就可以认定你的积极主动性是满足要求的，自然也会在新的公司创造收益。

那你可能要问，带来收益的又不止性能优化，我就非要做性能优化？确实不止，所以你就更要在其他的回答中体现出来呀，如果你都不能体现出来，可不是只能问“性能优化”这种最常见的问题吗？

所以面试篇里的问题，我会给大家一个“标准答案”的同时，我也会给一个实际回答用于参考，你可以在比较中感受两种回答的差异。

最后，如果面试中遇到不会的该怎么回答呢？引用[《淘系前端校招负责人直播答疑文字实录》](https://juejin.cn/post/6844904126438965256#heading-5)这篇文章里的回答：

> 元彦：面试中遇到问题不会回答，这是非常正常的，毕竟大家在学习过程中遇到的问题，跟我们在工作中遇到的问题是非常不一样的，除此之外，我们看问题的角度，也是有差别很大的。
>
> 举个例子，很多人都在看 React Fiber，但是如果问你们，为什么要有 Fiber 这个东西，可能很多人都回答不上来，因为大家只在社区里面看到说，Fiber 是怎么工作的啊，但是为什么要有 Fiber？如果没有会怎样，而这种思考，其实是非常底层的。我相信，很多人可能都没有思考过。
>
> 那如果遇到的问题不会，你可以先选择不会，说我觉得自己没有信心能答出这个问题，当然我更希望听到你说，我现在不会，但是你给我两分钟思考一下，我想一下这个问题有没有答案？我觉得这是一个很好的思考习惯，首先你在面对不会的东西是坦然的，我当下不会，很正常，我之前没有思考过这个问题嘛，那我们再花两分钟思考一下，给一个初步的答案。
>
> 所以说遇到问题，也不用不会就不会，也可以有一个积极的方式回应。

### 其他

过往我也写过一点面试相关的文章可以参考：

1. [《前端，校招，面淘宝，指南》](https://juejin.cn/post/6931913100371165192)
2. [《前端，社招，面淘宝，指南》](https://juejin.cn/column/7035531222663036965)
3. [《你累死累活做业务，绩效还不怎么样，我只能帮你到这了……》](https://juejin.cn/post/6844904150161948679)
4. [《淘系前端校招负责人直播答疑文字实录》](https://juejin.cn/post/6844904126438965256)
