跳到主要内容
预计阅读 18 分钟

HR面篇 | 优势劣势

前言

“你的优点是什么?” “你的缺点是什么?”

这两个问题简直是 HR 面试的”月经题”——几乎每次 HR 面都会问,但大多数人的回答要么太假,要么太傻。

太假的回答:“我最大的缺点就是太追求完美了。“——HR 听过无数遍了,一点诚意都没有。

太傻的回答:“我最大的缺点是沟通能力不好。“——你面试的是需要跨团队协作的岗位,这不是自杀吗?

这两个问题看起来简单,但回答的”度”很难把握——太真实可能暴露致命弱点,太虚假又显得没有诚意。今天我们就来聊聊,怎么在”真实”和”策略”之间找到平衡。

诊断自测

先测试一下你目前的状态:

1. 你能说出自己 3 个真正的优点,并且每个都有具体案例支撑吗?

2. 你能说出一个”真实但不致命”的缺点,并且展现你正在改进吗?

3. 你说的优点和你应聘的岗位是匹配的吗?

点击查看答案

第1题: 优点不是自我表扬,是需要证据支撑的。“我很细心”不够,“我在做前端开发时养成了写单元测试的习惯,上线后零 P0 bug”才有说服力。

第2题: 好的”缺点”回答有三个要素:真实(不是编的)、不致命(不影响岗位核心要求)、正在改进(展现成长性)。

第3题: 优点要匹配岗位需求。面试前端开发,说”我数学特别好”用处不大;说”我对用户体验有很强的敏感度”就很加分。

怎么回答”你的优点是什么”

原则一:优点要和岗位相关

HR 问优点不是闲聊,而是在评估你和岗位的匹配度。你的优点应该能直接回答”为什么你适合这个岗位”。

前端开发岗位相关的优点方向:

优点方向说明案例示例
技术钻研喜欢深入原理,不满足于”能用就行""我看到一个有趣的 CSS 效果会去研究它的实现原理”
用户思维关注用户体验,能从用户角度思考”我会主动在弱网环境下测试页面加载体验”
工程意识注重代码质量和可维护性”我在团队中推动了代码规范和自动化测试”
学习能力能快速学习新技术”两周内学会了一个新的可视化库并应用到项目中”
解决问题遇到困难不退缩,善于排查问题”曾经花两天排查了一个跨浏览器的渲染 bug”
团队协作善于沟通,能推动跨团队合作”推动了前后端团队的 API 规范统一”

原则二:用”观点 + 案例 + 结果”的结构

光说”我学习能力强”是空洞的。你需要用具体的案例来证明。

模板:

“我认为我的一个突出优点是 [优点]。举个例子,[具体案例],最终 [取得的结果]。”

示例:

“我认为我的一个突出优点是解决问题的韧性。遇到技术难题时我不太容易放弃。

举个例子,之前我们的产品在 iOS 低版本机型上出现了一个偶现的白屏问题。这个 bug 很难复现,团队里已经有两个同事尝试排查过但没有定位到原因。我花了两天时间,系统性地做了排查:先分析了线上的错误日志,发现白屏时都会报一个 Promise 相关的错误;然后去查了 iOS 低版本的 JavaScript 引擎对 Promise 的支持情况;最终定位到是一个第三方库在内部使用了 Promise.allSettled,但这个 API 在 iOS 12 以下不支持。修复很简单——加一个 polyfill,但排查的过程需要足够的耐心和系统性。

我觉得这种’不轻易放弃’的特质在前端开发中挺重要的,因为前端的兼容性问题经常很玄学,需要有耐心去排查。“

原则三:不要超过 3 个优点

被问”你有什么优点”时,说 1-2 个就够了。说太多反而显得你在自吹自擂。挑最突出的、和岗位最相关的来说。

优秀回答示例

示例一(技术导向):

“我最大的优点是对技术有比较强的好奇心和钻研精神。我不满足于’能跑就行’,会去深入了解技术背后的原理。比如我用 React Hooks 的时候,不只是学会怎么用 useState 和 useEffect,还去研究了 Hooks 底层的链表实现和闭包机制。这种习惯帮助我在遇到问题时能快速定位到根因,而不是在表面打转。”

示例二(团队导向):

“我比较突出的一个优点是善于推动事情落地。很多技术改进停留在’大家都觉得好但没人做’的阶段,我比较擅长把这些事情从想法变成现实。比如我们团队之前一直说要引入 TypeScript,但一直没人动。我做了两件事:一是在一个小项目上先试点,证明了 TypeScript 的价值;二是写了详细的迁移指南,降低了大家的迁移成本。最终在一个季度内完成了核心项目的 TypeScript 迁移。“

怎么回答”你的缺点是什么”

这个问题比”优点”更难回答。核心原则是:真实但不致命,展现自我认知和成长。

策略一:选择一个”不影响核心胜任力”的缺点

你面试的是前端开发,你的缺点不能是”代码写得不好”、“不喜欢学习新技术”这种致命的。

可以说的缺点方向:

缺点方向为什么”不致命”如何展现改进
公开演讲/展示紧张日常工作不需要频繁演讲”我在练习通过做技术分享来改善”
追求完美有时影响效率不是根本性缺陷”我在学习’够好就行’的判断力”
对后端/运维了解不够深不是前端岗位的核心要求”我在主动学习 Node.js 和 Docker”
不太善于拒绝不合理需求不是技术问题”我在学习如何评估需求优先级并合理说不”
对业务理解还不够深入可以通过时间积累”我在主动参加产品评审会,理解业务逻辑”

策略二:用”过去式 + 现在进行时 + 未来时”的结构

模板:

“我之前有一个不足是 [缺点的过去状态]。后来我意识到这个问题后,开始 [你的改进行动]。目前 [改进的效果],但我觉得还可以继续提升。”

示例:

“我之前的一个不足是在做技术方案时倾向于追求’最优解’,有时候会花太多时间在方案调研和对比上,影响了交付速度。

后来我的 leader 给了我一个反馈,让我意识到:在很多场景下,‘80 分的方案 + 快速交付’比’100 分的方案 + 慢速交付’更有价值。

从那以后,我开始给自己设方案调研的时间上限。如果一个方案在合理时间内找不到明显的最优解,我就选择当前最好的方案先落地,后续再迭代优化。现在我在效率和质量之间的平衡比以前好了很多,但我觉得这方面还有提升空间。“

策略三:避免的雷区

绝对不要说的缺点:

  • “我没什么缺点” —— 缺乏自我认知
  • “我最大的缺点就是太负责任了” —— 经典假缺点,HR 会翻白眼
  • “我脾气不太好” —— 沟通和协作的红线
  • “我不太喜欢加班” —— 虽然真实,但在面试中不适合说
  • “我做事比较慢” —— 效率问题是硬伤
  • “我不太会和人打交道” —— 协作能力的红线

正确的”度”: 你说的缺点应该让 HR 觉得”嗯,确实是个小问题,但不影响他做好这份工作,而且他在积极改进”。

“真实 vs 伪装”的平衡

有些人担心:面试中说的都是”包装过”的回答,会不会太假了?

我的看法是:面试中的回答应该是”真实的精选版”,而不是”编造的完美版”。

什么意思呢?

  • 你的优点和案例必须是真实的。 编造的案例经不起追问。
  • 你的缺点也必须是真实存在的。 但你可以选择说哪个缺点——挑一个不致命的、你确实在改进的。
  • 你的表述可以经过”包装”。 同样的事实,换一种说法会有完全不同的效果。

举个例子:

事实:“我做事比较磨叽,经常在一个问题上纠结很久。”

包装后:“我在做技术决策时比较谨慎,倾向于充分调研后再行动。这有时候会影响交付速度,我正在学习在’充分调研’和’快速决策’之间找到更好的平衡。”

两个说法描述的是同一个特质,但给人的感觉完全不同。前者是”缺点”,后者是”有待优化的特质”。

常见误区

误区 1:把优缺点当成”标准答案题”

很多人在网上找”面试优缺点标准答案”然后背下来。HR 面过太多人了,一听就知道你是背的。不要背答案,用自己的真实经历和自然的语言来表达。

误区 2:优点说太多,缺点说太少

优点说 5 个以上 —— 显得你在自我推销。 缺点就一句话带过 —— 显得你在回避问题。 优缺点各说 1-2 个就够了,关键是有深度、有案例。

误区 3:缺点说完没有”改进”的部分

只说”我的缺点是 XX”就结束了,没有说你在怎么改进 —— 这给 HR 的感觉是你不思进取。缺点一定要跟上”我在做什么来改善”的部分。

误区 4:优点和岗位完全无关

“我做饭很好吃”、“我篮球打得不错” —— 这些和你面试的前端开发岗位有什么关系?除非面试官在闲聊,否则你的优点应该和工作相关。

小结

回答”优点和缺点”的核心在于:真实但有策略,展现自我认知和成长性。

核心要点:

  1. 优点要和岗位相关,用”观点 + 案例 + 结果”的结构
  2. 缺点要”不致命”,用”过去式 + 现在进行时 + 未来时”的结构
  3. 展现你的自我认知 —— 你知道自己的长处和短处
  4. 展现你的成长性 —— 你在积极改进你的不足
  5. 回答要真实,但可以选择说哪个、怎么说

本章思维导图

优势劣势
  • 优点回答策略
    • 与岗位相关
    • "观点 + 案例 + 结果"结构
    • 不超过 2-3 个
    • 用真实案例支撑
  • 缺点回答策略
    • 不影响核心胜任力
    • "过去式 + 现在进行时 + 未来时"结构
    • 展现改进行动和效果
    • 避免致命缺点和假缺点
  • 真实 vs 伪装
    • 回答是"真实的精选版"
    • 事实必须真实
    • 表述可以包装
  • 常见误区
    • 背标准答案
    • 优点太多缺点太少
    • 缺点没有改进部分
    • 优点和岗位无关

练习挑战

挑战一:基础(⭐)

面试官问:“你觉得你最大的优点是什么?”

请准备一个有案例支撑的回答。

参考思路

步骤:

  1. 从你的真实经历中提炼 2-3 个优点
  2. 评估哪个和你要面试的岗位最相关
  3. 为这个优点找一个最有说服力的案例
  4. 用”观点 + 案例 + 结果”的结构组织回答

自检:

  • 你说的优点是真实的吗?
  • 案例是否具体?(有时间、有场景、有结果)
  • 优点和岗位是否匹配?
  • 回答时长是否控制在 1 分钟左右?

挑战二:进阶(⭐⭐)

面试官问:“你觉得你最大的缺点是什么?”

请准备一个”真实但不致命”的回答,展现你的自我认知和改进行动。

参考思路

步骤:

  1. 列出你真实存在的 3-5 个不足
  2. 排除致命的(影响岗位核心要求的)
  3. 选择一个你确实在改进并有成效的
  4. 用”过去式 + 现在进行时 + 未来时”的结构组织

自检:

  • 这个缺点是否”不致命”?(不影响你胜任这份工作)
  • 你的改进行动是否具体?(不是空话)
  • 改进是否有可见的效果?
  • 说完之后 HR 会不会因此否定你?

一个小技巧: 把你的”缺点回答”讲给一个信任的朋友听,问他/她听完后的感受。如果他/她的反应是”嗯确实,但这不是什么大问题”,那你的回答就是合适的。

挑战三:综合(⭐⭐⭐)

模拟面试场景:HR 在你回答完”你的缺点是什么”后追问:“那你觉得这个缺点有没有给你的工作带来过实际的负面影响?能举个具体的例子吗?”

这是 HR 在验证你说的缺点是否真实。你要怎么回答?

参考思路

不要慌,这说明 HR 认真在听你的回答。 她想验证两件事:

  1. 你说的缺点是不是真的
  2. 你是不是真的在改进

回答策略:诚实地给出一个例子,但重点放在你从中学到了什么。

示例:

假设你之前说的缺点是”技术方案追求完美导致有时影响交付速度”。

“确实有过。有一次我负责一个数据看板的技术方案,我花了一周时间调研了 4 种可视化方案,做了详细的对比分析。但其实产品那边只需要一个简单的图表展示,用 ECharts 就完全够了。我花一周调研的时间,如果直接用 ECharts 开发,项目可能已经做完了一大半。

那次之后我 leader 和我聊了一次,给了我一个建议:在做方案调研前,先评估一下这件事的’技术深度要求’——如果是核心基础设施,值得花时间做深度调研;如果是常规业务需求,用成熟的方案快速交付就好。

从那以后我会先做一个’5 分钟快速评估’,判断这件事值不值得深度调研,然后再决定投入多少时间。现在这方面比以前好了很多。”

关键: 例子要真实、具体,重点放在”你学到了什么”和”你怎么改进的”。不要把例子讲成一个灾难故事,而是一个成长故事。

自我检测

读完本章后,确认你能做到以下几点:

  • 准备了 2-3 个和岗位相关的优点,每个都有案例支撑
  • 准备了 1-2 个”不致命”的缺点,有改进行动和效果
  • 优点回答能用”观点 + 案例 + 结果”的结构
  • 缺点回答能用”过去式 + 现在进行时 + 未来时”的结构
  • 不会说出”我最大的缺点是太完美主义”这种假话
  • 面对 HR 追问缺点的细节,有准备好的真实案例
  • 回答时间控制在 1 分钟左右,不啰嗦也不太短

下一站:结束篇。 HR 面篇到这里就全部结束了。从自我介绍到行为问题再到优势劣势,这三章覆盖了 HR 面的核心考点。至此,整个专栏的内容——JavaScript、CSS、框架、浏览器、工程化、可观测性、算法、项目经历、开源、HR 面——你已经全部走完了。最后一篇,我们做个总回顾,再聊聊面试的心态和长期成长。

购买课程解锁全部内容

大厂前端面试通关:71 篇构建完整知识体系

¥89.90