5年前端裸辞一个月拿下offer:面试复盘与高频题拆解

发布时间:2026/8/30 21:11:45
5年前端裸辞一个月拿下offer:面试复盘与高频题拆解 11月裸辞5年前端经验一个月后拿到offer。这个结果发到朋友圈的时候不少人问我是不是运气好赶上哪家公司急招。说实话运气确实占了一部分但回过头来看整个裸辞、准备的节奏、面试的表现、谈薪的策略每一步都有可以复盘的东西。这篇文章我尽量还原自己这一个月的完整经历从为什么敢裸辞、这一个月怎么安排、重点准备了哪些题、踩了哪些坑到最终怎么谈下的offer都写出来。11月的招聘市场说实话是真的冷。很多公司锁了HC招聘软件上挂着的岗位有两成是长期挂着的僵尸岗投了也没反应。但冷有冷的玩法竞争对手也少真正到了面试环节能出来面试的人水平参差不齐你只要准备得扎实一点反而更容易被记住。这篇面经复盘我想写给这几类人看正在准备前端面试的、纠结要不要裸辞的、以及面了一圈没拿到满意offer正在焦虑的朋友。我把能公开的面试题目和解题思路都放出来不藏着掖着希望对你有帮助。1. 为什么敢裸辞不是冲动是算过账的裸辞这个词在很多人眼里等于冲动不理智但对我来说这是一个反复权衡后的决定。骑驴找马听起来稳妥实际上面临的问题非常多尤其是对一个工作了5年、有一定技术追求的开发者来说。1.1 裸辞和骑驴找马的账到底怎么算骑驴找马最大的痛点是时间不可控。白天上班能用来准备面试的时间只有晚上下班后累了一天说实话很难保证高效学习。约面试只能约在晚上或者周末但很多公司的技术面安排在上班时间这就很尴尬了。我记得有一次约了一个电话面只能偷偷跑到公司楼道里接周围全是回声声音听不清面试体验特别差最后那轮也没过。另一个问题是状态切换。上班的时候脑子里全是业务需求、线上bug、排期回到家想切换到复习面试题的模式至少需要一个小时才能进入状态。更别说那种今天上线到半夜第二天早上还要硬着头皮准备面试的酸爽。裸辞的好处在于时间是整块的可以集中精力做系统性的复习可以随便约任何时间段的面试状态上也能保持一个连续的、稳定的求职节奏。缺点也很明显没有收入心理压力大如果长时间找不到工作会开始怀疑自己。但如果你算过经济账心理承受能力够裸辞反而能让你在求职这件事上更专注。1.2 5年经验的人在11月裸辞底气从哪来我说一下自己的判断逻辑。工作了5年技术栈已经相对稳定前端的基础知识、框架原理、工程化、性能优化这些方向都有过实际的项目积累不是那种只会写页面调接口的初级水平。这种时候与其一边上班一边焦虑地骑驴找马不如给自己一整块时间把知识体系梳理一遍把短板补上然后集中火力找工作。经济上我算了一笔账按一个月的求职期算房租、吃饭加日常开销大概需要1.5万左右这个钱我有储备。再给自己设个底线——如果两个月还找不到就先降薪去一家能学到东西的公司骑驴找马不再硬扛。有了这个底线心态上就不会崩。还有一点可能很多人会忽略11月虽然岗位少但竞争者同样少。大多数人都抱着等年后再说的心态真正在11月出来面试的人并不多。而且年底还在招人的公司通常是真有用人需求不是那种挂着岗位刷KPI的。机会少但质量高这是11月求职的一个隐性优势。1.3 别裸辞的几类人当然我也见过不适合裸辞的案例。如果你工作年限比较短3年以内技术积累还不够扎实建议别裸辞因为你面对的是更大的知识盲区需要的准备时间更长一旦裸辞资金链和心理压力会双重压迫。还有如果你本身是一个容易焦虑的人裸辞后每天在家容易胡思乱想那也建议骑驴找马至少白天上班还能缓解一下求职的焦虑感。裸辞这个决定本身不分对错关键看你的技术储备、经济储备、心理承受能力是不是能支撑起这个决定。2. 一个月的时间规划分四段走拿到offer的那个周五下午HR打电话过来谈薪资的时候我其实已经面了8家公司手里有3个offer在对比。回想这一个月我把时间分成了四个阶段每个阶段目标非常明确。2.1 第一周知识体系梳理JS基础 框架原理刚裸辞的第一周我没有急着投简历。说实话5年经验的前端业务上写了太多代码很多基础原理都渐渐模糊了。我的第一周安排的纯粹是扫盲查漏补缺把 JavaScript 核心知识点过一遍作用域、闭包、this指向、原型链、事件循环、异步编程、Promise、函数式编程基础。把 Vue 3 的源码核心流程过了一遍响应式原理Proxy、组件渲染流程、diff 算法、Composition API 的设计思路。把 TypeScript 的常用类型体操过了一遍因为现在很多公司的技术栈都转 TS 了这块不能是短板。这一周我没有追求刷多少道题而是要建立知识框架。每天大概上午3小时学习下午2小时整理笔记和输出文章晚上休息。用输出的方式检验输入的效果每看完一个知识点我会用自己的话把它写成一篇简短的技术笔记写不清楚的地方就是没理解透的地方第二天再回去看。2.2 第二周工程化 练题 简历更新第二周开始进入工程化面试题阶段。工程化方面重点看了 Webpack 和 Vite 的核心原理、常用配置、Loader 和 Plugin 的编写方式。另外把前端性能优化的常用手段整理了一遍首屏加载优化、懒加载、图片优化、代码分割、浏览器缓存策略、CDN 加速、SSR/SSG 等。这个阶段我开始系统地刷面试题。我没有用那种背题的方式而是把每道题当成一个项目来拆解这道题考察的是什么知识点和实际开发有什么关系有没有我项目里的场景可以结合这样答题的时候才有血有肉而不是背标准答案。简历也在这一周改了三版。第一版是流水账式写法把我做过的事情全部罗列出来第二版把每个项目提炼出1-2个核心亮点每一条都要有结果和数据支撑第三版把简历压缩到一页半删掉了所有废话只留下和面试岗位匹配的内容。2.3 第三周海投 针对性复盘第三周开始正式投简历。策略是海投精准投结合。海投是为了练手把那些基本匹配的岗位也投了用来积累面试经验精准投是选那些行业、技术栈、薪资范围都匹配度比较高的公司争取拿到offer。第一次面试基本是试水面完以后整个人都是蒙的。很多我以为已经掌握的知识点在面试官追问下面露馅了。但这是一个必经的过程。从第二面开始我开始录音征得面试官同意的前提下面完以后回放录音把每一道没答好的题记录下来整理成错题集当天晚上就针对性地补。这样每一场面试都在成长后面再遇到类似的问题基本就不会再卡壳了。2.4 第四周密集面试 谈薪第四周是收获期前面积累的面试经验开始发酵。这个时候我已经不那么紧张了面对追问也能接住。一周排了5场面试基本上每天一场每一场结束以后都做复盘。最后上岸的这家公司面试流程其实拉了一周技术面两轮、技术负责人面一轮、HR面一轮最后一轮聊了快一个小时从技术聊到业务从职业规划聊到团队管理。第四周我同步开始做offer对比。这里有一个经验不要只盯着薪资数字要综合看技术栈匹配度、团队氛围、业务前景、通勤时间和加班强度。我最终没选薪资最高的那家而是选了技术栈最匹配、团队节奏比较正常的一家这个决定在后面入职以后证明是对的。2.5 一个月的时间表供参考阶段时间重点任务输出物第一阶段第1周JS核心知识点、Vue/React原理、TS类型系统技术笔记框架图文字第二阶段第2周工程化、性能优化、刷题、简历打磨简历V3.0、错题本第三阶段第3周海投简历、试水面、录音复盘面试错题集、目标公司清单第四阶段第4周密集面试、offer对比、谈薪最终offer这个安排不一定适合所有人但可以作为一个参考模板。核心思想是先系统补基础再针对面试场景练输出最后用面试检验学习效果形成正循环。3. 简历与技能树让面试官一眼看到你值钱在哪简历是敲门砖这句话老生常谈但我在这个月里是真的体会到了。同一个人的简历改了三版之后邀约率完全是两个量级。3.1 简历改写的核心原则第一版简历我写的是那种流水账的风格2019年-2021年在某公司负责XX系统的前端开发使用Vue框架完成XX功能。这种写法的问题在于面试官看完以后根本记不住你做了什么因为你做的事情看起来和别的候选人没有区别。改完之后我要求自己每个项目都要写出场景-动作-结果三个要素场景这个项目是做什么的解决了什么业务问题动作我具体做了哪些事情用了什么技术方案为什么这么选结果做完以后效果怎么样有没有数据可以量化举个例子原来写负责后台管理系统的开发改写以后变成在HZero低代码平台基础上搭建订单管理系统定制了表单渲染引擎和权限控制模块使新业务上线周期从平均3天缩短到1天节省约60%的开发成本。面试官最怕看到的是候选人做了很多项目但没有一个能讲清楚自己做了什么、为什么这样做、结果是什么。简历上每一个项目都应该经得起追问你写在上面的每一句话都要准备好讲3分钟的细节。3.2 5年经验的前端技能树自查清单这个月我给自己列了一个技能树清单分享给各位你可以对照自查技能方向核心知识点自查情况JS语言功底作用域/闭包/this/原型链/Promise/事件循环面了3家基本都问框架原理Vue3响应式原理、diff算法、nextTick几乎每家必问TypeScript类型推断、泛型、常用工具类型有一家直接考手写类型工程化Webpack/Vite原理、Loader/Plugin、CI/CD大厂比较关注网络HTTP缓存、跨域、WebSocket、HTTP/2中级以上必问性能优化首屏优化、代码分割、Gzip、懒加载高频题浏览器渲染流程、回流重绘、事件循环机制基础但容易翻车低代码/中台HZero、Amis等平台二次开发经验我项目里有加分项AI辅助开发Copilot、通义灵码等工具的实际使用面试官开始关注这份清单不是让你全部精通才能去面试而是告诉你到了5年这个节点面试官默认你应该掌握这些。如果你发现自己有某一块是盲区比如说一直没做过性能优化那就需要想办法在项目里找机会做一次或者在简历里体现你对此有方法论级的理解。3.3 前端开发skills在面试里的真正含义很多公司挂岗位的时候会写前端开发skills这个词看起来比较泛实际上面试官考察的主要是三个维度基础扎实JavaScript原生能力不依赖框架工程化思维能自己搭项目、配置构建工具、优化打包体积业务落能力能拆解复杂业务需求、做技术方案选型并且能在团队里推动落地面试的时候同样一个知识点初级和5年经验的答法完全不一样。比如问什么是闭包初级会说函数内部可以访问外部变量而5年经验的回答是先讲闭包的定义和原理作用域链、函数对象引用了外层变量再讲实际开发里用到的场景防抖节流、模块化隔离变量、React Hooks中的useMemo再说一说什么场景会造成内存泄漏以及现在用闭包需要注意什么。这个回答才有深度才配得上5年经验。4. 高频面试题拆解从 ...arg 到框架原理这个月面了8家公司来来去去高频出现的题目其实就那么多。我把其中最有代表性的几道题拿出来详细拆解每道题都给出我自己的答题思路而不是标准答案。4.1 函数 ...arg 的隐藏考点你可能只答对了一半这道题是热搜词里出现的我特意拿来说。面试官通常会问说说你对函数参数中...args的理解它和arguments有什么区别很多人在这一题上翻车因为只答了表面用法。先看这个例子function sum(...args) { return args.reduce((prev, curr) prev curr, 0); } console.log(sum(1, 2, 3, 4)); // 10...args是ES6引入的rest参数剩余参数它会将多余的所有参数收集到一个真数组中。这里的关键点是args是数组实例可以直接使用数组的方法reduce、map、forEach而arguments是类数组对象需要使用Array.from或扩展运算符转换成数组才能使用数组方法。rest参数有两个关键限制rest参数必须是函数的最后一个参数function test(a, ...rest, b) {}这种写法会直接报语法错误rest参数和arguments不能同时使用在同样的作用域里因为rest参数已经包含了所有剩余参数此时arguments不再可用再深一层面试官还喜欢追问一个点...在函数参数里是rest参数在调用时是展开运算符spread这两者是同一个符号在不同场景下的两种用法const arr [1, 2, 3]; console.log(Math.max(...arr)); // 展开运算符把数组展开成独立参数 function log(...items) { console.log(items); // rest参数把独立参数收集成数组 } log(a, b, c); // [a, b, c]高级一点的问法是如果让你实现一个rest参数的原理你怎么做这个就问到了ES6编译到ES5的过程实际上是通过slice等方法把arguments转成数组然后用循环收集参数。// ES5 模拟 rest 参数 function sum() { var args Array.prototype.slice.call(arguments); return args.reduce(function(prev, curr) { return prev curr; }, 0); }这道题可以延伸出的知识点非常密集箭头函数没有自身arguments、剩余参数和解构赋值结合const [a, ...rest] arr、React组件里...props的用法。答题的时候如果能把这些点自然地串起来面试官会觉得你是真正理解了这个语法而不是死记硬背。4.2 Vue 3 响应式原理从 Proxy 到依赖收集这道题基本是Vue技术栈必问。如果只是背出Vue3使用Proxy实现响应式这句话大概率会被继续追问Proxy和Object.defineProperty的区别是什么依赖是怎么收集的为什么Vue3改用了Proxy。我的答题思路是分四步第一步讲为什么要响应式。在Vue里data是一个普通的对象但当你修改data上某个属性的值时UI会自动更新。这个能力的核心是数据变化→视图更新的自动联动机制。第二步讲Vue2的实现和局限。Vue2用的是Object.defineProperty通过getter做依赖收集记录哪些组件用了这个属性通过setter触发更新通知依赖更新。但Object.defineProperty只能劫持已经存在的属性所以Vue2有一个著名的坑给对象新增属性界面不会更新。要通过Vue.set来解决。还有数组的索引和length变更也无法被劫持所以要重写数组的部分方法push、pop等来实现变通。第三步讲Vue3的改进。Vue3使用Proxy它可以直接代理整个对象包括新增属性和数组操作不需要像defineProperty那样遍历每个属性。而且Proxy有更丰富的拦截能力get、set、has、deleteProperty等可以做到更细粒度的操作。第四步讲依赖收集的流程。Vue3用WeakMap存储目标对象和它的依赖映射每个对象内部通过Map管理属性对应的依赖集合Effect当属性被访问时收集依赖当属性被修改时触发依赖。这里可以主动提一下为什么用WeakMap可以避免对象不被引用时产生内存泄漏。这样的回答从是什么到为什么到怎么做层次分明面试官基本挑不出毛病。4.3 diff 算法为什么key不建议用indexdiff算法尤其是Vue3里提到的最长递增子序列让很多人头疼。其实面试官想听的并不是你能完整推导出源码而是你是否理解diff的核心优化策略。diff算法的核心是基于一个事实在Web UI中跨层级移动DOM节点的概率极低绝大多数操作都是同层级的增删改。所以diff算法只做同层级比较不做跨层级比较这样就把复杂度从O(n³)降到了O(n)。在列表渲染中key的作用是帮助diff算法识别哪些节点是同一个节点——也就是复用的节点。如果key值不稳定比如用index当key在中间插入一条数据时后面所有节点的key都会发生变化Vue会认为这些节点都是新节点销毁重建造成性能浪费和状态丢失问题。我遇到过最典型的一个场景是一个上传图片的列表用index做key用户在中间删掉一张图后后面的图片组件的上传状态全乱了。这是key不稳定的经典表现。在项目中用稳定唯一的业务id做key这种问题就不会出现。讲这道题的时候我会主动说一个实际经验复杂列表 子组件内部有状态key必须要用唯一id不然会有各种隐蔽的bug。4.4 HTTP缓存从强缓存到协商缓存前端面试里HTTP缓存几乎是必考题而且面试官喜欢把它和页面刷新后为什么还是旧版本这种实际问题结合起来。我的答题框架是强缓存服务器返回响应头Cache-Control: max-age3600浏览器在1小时内直接使用本地缓存不再发请求。Expires是HTTP/1.0时代的写法现在基本被Cache-Control取代。协商缓存强缓存过期后浏览器带上If-None-Match对应ETag或If-Modified-Since对应Last-Modified再发请求服务器判断资源有没有变化。没变化返回304浏览器继续用缓存有变化返回200和新资源。缓存优先级Cache-ControlExpiresETagLast-Modified。实际场景打包出来的静态资源文件名加了hash如app.9d2d3a.js配合Cache-Control: max-age31536000实现永久缓存HTML文件用no-cache保证每次请求都会到服务器确认这样发新版本时HTML引用新的hash资源浏览器就会自动加载新版本。答完这个面试官基本就会进入下一个话题因为这道题你已经展示出完整的知识体系了。5. 项目经验低代码平台和复杂业务怎么讲5年经验的面试项目经验是最重要的占了面试的大半时间。面试官会从你的项目经历里判断你的技术深度、业务理解能力和解决问题的思路。5.1 用STAR法则讲项目而不是背流水账我见过很多候选人讲项目都是这样讲的我当时负责一个后台管理系统用的是Vue2 Element UI主要功能包括用户管理、订单管理、数据报表……这种讲法的问题在于它是在罗列功能不是在展示能力。我推荐用STAR法则来讲SSituation项目背景业务为什么要做这个项目TTask你在这个项目里的具体职责承担的挑战AAction你采取了什么技术方案为什么这么选RResult最终的结果如何最好有数据量化比如我讲HZero低代码平台上的二次开发项目具体版本是这样说的背景是公司要上一个新的订单管理系统但我们不想从头开发因为后台系统的前置功能用户管理、权限、菜单其实有很多是通用的。所以我们选型了HZero这个低代码平台做底座。我当时负责的是订单模块和审批流模块的定制。有一个比较大的挑战是HZero默认的列表页和数据表单没法满足我们业务里有大量联动校验的场景比如订单A类型选了AB字段的可选项、默认值和校验规则都要跟着变。一开始我们的写法是在HZero提供的钩子里写一堆if-else后来发现维护成本太高我改成用配置驱动的方案把字段联动规则抽成独立的JSON配置写了一个小的规则引擎来解析这些配置。这样业务改动只需要改配置不用改代码。最后这个模块的迭代效率提升了大概50%后来还被团队其他项目复用。这段话里有冲突、有解决方案、有结果面试官一听就能记住你。而且我特意点出了选型HZero的考量——不是因为公司让用就用而是因为后台系统确实有通用的能力可以直接复用这是我在技术选型上主动思考过的。5.2 针对HZero前端开发经历的面试准备如果你也有类似HZero的低代码平台开发经验面试前一定要想清楚这几个问题HZero是什么它解决了什么问题在HZero上做开发和传统的前端开发有什么不同HZero哪些能力是开箱即用的哪些是你二次开发的你在二次开发中遇到的最大挑战是什么以HZero为例它的核心能力包括统一权限体系、菜单配置化、标准列表页/表单页、工作流引擎、消息中心。这些都是通用能力在开发时直接配置就能用。但低代码平台也有明显的反噬当你遇到非常规需求时平台的抽象能力反而会变成束缚。比如你想实现一个非常个性化的页面布局但平台的布局已经被固定了这时你就需要在平台提供的扩展点比如自定义组件插槽、生命周期钩子上做文章或者干脆跳出去用原生H5实现后嵌入到平台里。这些思考过程远比我会用HZero搭一个页面更有价值。面试官真正关心的不是你会用某个平台而是你在受约束的环境下做技术创新的能力。5.3 前后端协作一个被忽视的加分项热词里有一个trea 开发 前端后端你可以把它理解成目前团队对前后端协作这件事的关注度。5年经验的前端已经不能只满足于后端给接口我就调面试官更希望看到你能和后端良好协作推动项目落地。我面试时被问到一个问题如果后端的接口设计不符合前端的需求你怎么处理我的回答分三步第一步先自己梳理清楚需求。确认前端需要的数据结构是什么样为什么这个方案更好比如列表页需要同时返回分页信息和列表数据如果后端拆成两个接口前端就要发两次请求增加延迟。第二步带着方案去沟通而不是抱怨。给后端提供两个选择要么直接返回组装好的结构要么前端做一次转换。同时说明各自的成本和收益。第三步如果后端确实无法调整那就接受现状在前端做适配层adapter把后端的返回值包装成前端需要的结构尽量不影响业务代码。这种答案展示的是解决问题的思维方式而不是谁对谁错的站队思维。面试官听到这种回答一般都会觉得你是一个成熟的协作者能减少团队沟通成本。6. AI辅助开发今年面试绕不开的新话题这个月面试让我很意外的一点是几乎每一家公司的面试官尤其是技术负责人和HR都会问到AI辅助编程的问题。你平时用AI写代码吗用的什么工具AI写出来的代码你敢直接用吗你对AI改变前端开发这件事怎么看。一开始我没太当回事直到有两三家都问了我才意识到这是今年面试的一个新趋势。6.1 面试官问AI辅助开发到底想知道什么面试官问这个问题其实并不是要考察你掌握了什么AI技术而是想了解三件事第一你有没有在真实工作中使用过AI工具而不是停留在听说的层面第二你有没有对AI生成代码的质量有判断力比如AI生成的代码有没有bug、有没有安全隐患、有没有性能问题第三你是不是一个愿意拥抱新工具、新方法的开发者还是那种抗拒改变的老顽固。我在这块的真实使用场景是日常开发里我用AI辅助工具主要是四个用途写一些重复性的模板代码比如新页面的基础结构、表单校验规则帮我看代码比如一段复杂逻辑里有没有遗漏的边界情况生成单元测试的骨架代码遇到不熟悉的API时用它生成示例代码我再根据实际情况调整我一般不会直接把AI生成的代码无脑复制进项目里因为AI对项目上下文比如业务语义、团队规范的约束理解有限它产出的是看起来像那么回事的代码但你稍微多跑几个边界case问题就暴露了。所以我的原则是AI负责把代码的草稿写出来我负责把你的草稿改到能上线。6.2 我怎么在面试时展示AI辅助开发能力有一次面试末尾面试官问我如果让你在团队里推广AI辅助开发你会怎么做我当时愣了一下因为这个问题确实没准备过但好在平时真的有思考过。我的回答是第一先明确AI适合做什么不适合做什么。适合做的是模板代码、基础CRUD、常见算法和正则表达式这类通用性强的事情不适合做的是涉及复杂业务规则的、跨模块联动的、以及需要理解历史遗留代码来龙去脉的事情。第二团队需要一份AI使用规范比如哪些场景可以用AI、哪些不可以、AI生成的代码必须经过review才能合入、AI给出的依赖包要手动检查安全性。第三建立一个共享的prompt库把团队里比较好用的prompt沉淀下来比如帮我生成一个符合Vue3组件规范的搜索表单这样的模板提高整个团队的使用效率。为什么要强调规范因为AI生成的代码有一个隐性风险它看起来很专业但实际上可能有隐藏的依赖问题、数组越界、key重复等低级错误而且AI很容易一本正经地写出看起来没问题但根本没有这个API的代码。如果没有规范约束AI生成代码一旦混入线上排查问题的成本会比人工写代码高出很多。这个回答说完以后面试官明显有点意外他说这个角度他没想到。所以这块经验确实值得在准备面试的时候花点时间想想现在如果你能在这个问题上给出有深度的思考在面试官眼里会非常加分。6.3 前端会不会被AI取代还有一次面试面试官直接抛出一个问题你担不担心前端岗位被AI取代这个问题现在很多面试官爱问因为确实有很多初级前端的日常工作可以被AI替代了。我的真实想法是AI会取代的是只会写简单页面、调用接口填充数据这种可替代性极高的初级工作但对于需要理解业务、做技术决策、协同上下游、处理复杂交互和状态管理的开发工作AI目前更多是工具而不是竞争者。我判断一个前端工程师是否会被AI取代就看他的工作内容里有多少是理解和决策有多少是执行和编码。前者越多越安全后者越多越危险。面试官听完这个回答点了点头然后问我如果团队里有人完全依赖AI怎么办。我说我会建议他先建立自己的知识框架因为AI可以帮你写代码但不能替你做技术判断。一个连闭包都理解不了的人用AI生成的代码会埋更多的坑。7. 避坑指南与面试心态最后这部分我记录一下这个月里踩过的坑和最后总结出来的经验。这些内容可能比面试题本身更值钱因为它们是真实环境里才能感受到的。7.1 我踩过的坑希望你不要再踩第一个坑是简历上写了太多精通。我第一版简历上写了精通Vue全家桶结果第二家面试官真的深入问了很多Vue底层的东西——从模板编译到运行时从虚拟DOM到diff细节全都问了一遍。当时确实有些答不上来面完我就把精通两个字改成了熟练掌握。不是说不让你写精通而是写精通之前要问自己真的能达到精通吗面试官有可能会按精通的标准来考你。第二个坑是低估了场景题的难度。我之前以为重点准备基础知识就够了结果有几家公司在二面开始考场景设计比如如果让你设计一个千万条数据的表格组件你会怎么做移动端H5首屏性能怎么优化到2秒以内。这类题没有标准答案考的是综合能力。我当时的应对方略是先拆解需求再列出约束条件然后给一个可落地的方案。千万条数据表格先确定是流式加载还是懒加载是否需要虚拟滚动是否需要服务端分页再做技术选型。这么一拆再复杂的场景题也能找到切入点。第三个坑是对目标公司了解不够。我有一家面试挂在最后的技术负责人面对方问我你对我们的业务和用户量有什么了解我当时只说了我看到你们在做XX方向但具体到产品形态、数据量级、主要用户群体我其实没做功课。面试官很失望我也很后悔。所以建议面试前至少花30分钟研究目标公司的产品、技术栈、竞品和最新动态这是基本面。7.2 谈薪阶段的实战技巧谈薪是很多人最不会聊的环节。我的经验是不主动说具体数字但要提前知道市场范围。我通过几个渠道去了解目标公司的薪资带宽招聘软件上同岗同级别的薪资范围通常是个区间取中位数身边朋友的跳槽行情面试过程中HR的表态如果HR主动提了这个岗位的预算范围就说明有戏谈薪的具体话术上我一般会说我目前手里有别的offer但你的岗位我更感兴趣我期望的薪资区间是XX到XX这个数是我基于岗位要求和目前的行业行情判断的如果公司这边预算范围有差异我们可以再聊聊。注意一点如果你手里已经有offer不要拿来当威胁而是当信息透明。你可以说另外一家给的是XX但这不是我最终的决策依据我更在乎的是团队和业务。这样既不会显得很功利也能让HR知道你手里有筹码。最后谈薪成功以后务必跟HR确认清楚薪资结构固定工资是多少、绩效占多少、年终奖是几个月、有没有股票/期权、五险一金缴纳基数是多少、有没有餐补交通补贴。这些细节最好在邮件里确认不要只听口头承诺。7.3 裸辞期间的心态管理最后说说心态。裸辞的前两周还好到了第三周开始如果还没拿到满意的offer焦虑感会自然涌上来。我自己的办法是第一给自己设定一个最低可行的交付物。比如每周规定自己必须投够20份简历必须约到至少2场面试这些是可控的指标只要做到了不管结果怎么样都应该肯定自己。第二每天保持规律作息。裸辞的人最容易作息混乱每天睡到中午晚上刷手机到凌晨这种状态下整个人会越来越没有精神。我给自己定的是早上8点起床9点开始学习中午休息1小时下午继续晚上运动40分钟。一个月下来精神和心态都稳定很多。第三找靠谱的人聊聊。最好是同样做前端的朋友或者前同事他们能理解你面试不顺利的挫败感同时能给你实际的建议。我有一个朋友帮我做了一次模拟面试直接帮我发现了项目讲法上的大问题。第四给自己设置一个停机时间。面试不顺利的时候不要一直沉浸在复习和投简历里停下来看电影、运动、做饭把注意力从找工作这件事上移开。越是紧绷越容易犯错。回想这一个月裸辞找工作这件事有点像跑马拉松不是比谁起步快而是比谁节奏稳、不崩盘。只要方向对、方法对、心态稳offer只是一个时间问题。如果这篇文章对你有帮助那就祝你接下来的面试也一路顺利。如果后续有拿到offer记得回来分享一下你的好消息。

相关新闻