前端知库

面试中被问“团队协作中有过分歧怎样处理”“职业规划是什么”,应该怎样回答?

分歧题用一个真实的技术分歧讲:分歧是什么、双方理由、你怎样用数据或原型对比、最后怎样决定、结果如何、你学到了什么。重点是展示“对事不对人、用事实推进、决定后全力执行”。职业规划题讲未来一到三年想深入的方向和具体行动,并和应聘岗位联系起来,不要说空话,也不要暗示很快会离开。

参考答案

本题是回答思路与示例,不对应某个官方规范。示例中的经历和数字只用来演示怎样表达。

简答

面试官问“和同事有过分歧吗,怎么处理的”,不是想听你赢了谁,而是想看你遇到意见不合时,能不能把事情推进下去,同时不伤合作关系。所以要挑一个真实的、和技术方案有关的分歧来讲,不要讲人际矛盾,也不要说“我从来没和别人有过分歧”。

按顺序讲五步:分歧是什么,双方各自的理由,你怎样用数据、原型或者对照规范去比较,最后怎样做的决定,结果如何。关键是让面试官听到你“对事不对人”,用事实而不是职位或嗓门解决问题;如果最后没采纳你的方案,也要说你是怎样全力配合执行的。

职业规划题,面试官想知道你的方向和这个岗位是否一致、你会不会持续成长。回答时说清楚未来一到三年想在哪个方向深入,以及正在做什么具体的事情,比如在补哪块知识、做什么项目,再说这个岗位怎样帮你走这条路。

要注意避开几个坑:分歧题不要贬低前同事或领导;职业规划不要说“三年后想转管理”“想创业”这类让面试官觉得你待不久的话,也不要只说“我想成为全栈”这种空话,要说到具体能力和行动。

分歧题怎样讲

先看一个例子。这个结构适用于大多数技术分歧:

上一个项目里,我和另一位同事在列表页的状态管理上有分歧。他想把筛选条件、分页和数据都放进全局 store,方便其他页面复用;我认为这些状态只属于这个页面,放进全局会让很多无关组件跟着重新渲染,而且离开页面后状态还残留着。

我们没有在会上争谁对,而是约定各写一个最小原型,用同样的数据对比。结果是全局方案切换筛选时有十几个组件重新渲染,局部方案只有列表本身。另外我们发现他真正担心的是“从详情页返回时要恢复筛选条件”,这个需求用把筛选条件同步到 URL 参数就能解决,不需要全局 store。

最后我们采用了局部状态加 URL 参数的方案,他负责 URL 同步那部分。这件事让我体会到,很多分歧背后是双方在担心不同的问题,先把对方的顾虑说清楚,往往就能找到都能接受的方案。

这段回答里有几处是面试官会注意的。第一,分歧是技术方案层面的,双方都有合理的理由,没有谁对谁错。第二,解决方式是做原型、拿数据,而不是谁资历深听谁的。第三,你理解了对方真正的诉求,而不只是坚持自己的方案。第四,结尾说了你学到什么。

这和不少工程团队在代码评审里的做法是一致的。比如 Google 公开的代码评审规范写道,技术事实和数据优先于个人观点和偏好;软件设计问题几乎从来不只是风格或偏好,要按设计原则来衡量;评审双方有冲突时,第一步是尝试达成共识,评论来回难以解决时,当面或视频沟通,仍然解决不了再升级给技术负责人等人决定,不要让变更一直卡着。面试时你不需要引用它,但回答的思路可以对齐:先讲事实,再讲共识,最后才是升级。

如果你的方案没有被采纳

这同样是很好的素材。可以这样讲:

讨论后团队还是选了另一个方案,主要是考虑到交付时间。我把自己担心的风险写进了技术方案文档,并且在实现时主动负责了这部分的测试。上线后确实出现过一次我之前担心的问题,因为提前有记录和监控,我们很快就定位修复了。

面试官想从这里听到的是:你能接受团队的决定,不会消极对待;同时你会把风险记录下来,用行动降低风险,而不是事后说“我早就说过”。

常见的不好的回答

  • “我没有和同事有过分歧。”听起来要么没参与过重要决策,要么不愿意说真话。
  • “后来领导支持我,就按我的来了。”没有体现你怎样说服别人。
  • 把对方描述成不讲道理的人。面试官会想象你以后怎样描述现在的同事。
  • 讲需求排期、加班这类和协作方式无关的抱怨。

职业规划题怎样讲

职业规划的回答可以分三层:方向、行动、和岗位的关系。

接下来一到三年,我想在前端性能和工程化这个方向深入下去。之前我在项目里做过首屏优化和构建优化,越做越觉得这块需要系统的知识,所以最近在系统学习浏览器渲染和网络这部分,也在团队里推动接入了真实用户性能监控。

了解到这个岗位要负责 C 端核心页面的体验和团队的构建工具,和我想走的方向很一致。我希望在这里先把核心页面的性能做扎实,之后能把这些经验沉淀成团队的工具和规范。

这段回答具体在哪里?方向不是“成为技术专家”,而是“前端性能和工程化”;行动不是“多学习”,而是正在学什么、在团队里做了什么;最后落到了这个岗位的具体职责上。

不同阶段的候选人侧重点也不同。应届生可以说先在一个方向打好基础、尽快独立负责模块;有几年经验的可以说想在某个技术方向做深,或者开始带新人、负责更大的模块;面技术负责人岗位的,可以讲团队的技术规划和怎样带人。

常见的不好的回答

  • “我还没想好。”显得没有方向。
  • “三年内想转产品”“以后想自己创业”。面试官会担心你很快离开。
  • “想成为全栈工程师”“想成为架构师”,但说不出要补哪些能力、正在做什么。
  • 规划和应聘岗位毫无关系,比如面业务前端岗却只讲想做底层引擎。

常见追问

如果同事一直不配合,你怎么办?

先私下沟通,弄清楚他不配合的原因,可能是排期冲突,也可能是对方案有顾虑。如果是方案问题,就把双方顾虑摆出来一起评估;如果是资源问题,就和负责人一起调整优先级。不要在群里公开指责,也不要直接跳过他做决定。

和产品经理、设计师有分歧怎么处理?

先弄清楚对方要解决的用户问题是什么,再从技术角度给出成本和替代方案,比如“这个动画实现要两周,换成这种方式两天就能完成,效果接近”。最终由谁决定按团队的分工来,技术这边负责把风险和成本说清楚。

你的职业规划为什么和上一份工作的方向不一样?

如实说明变化的原因,比如在上一份工作里接触到了新方向并发现更感兴趣,已经为此做了哪些准备。重点是说明这次调整是想清楚的,而不是随意更换。