技术面试


面试者

面试前

如何寻找一个面试机会?

  • 内推
  • 公司官网投递
  • 招聘网站

需要为面试做哪些准备?

  • 一份优秀的简历
  • 了解投递的岗位要求
  • 复习面试岗位相关知识
  • 整理自己做过的项目
  • 适当的做一些算法题

接到面试邀请时需要和HR确认什么?

  • 面试时间
  • 预计总面试时长
  • 面试地点
  • 面试要求
  • 面试联系人

如果临时有事无法参加面试如何处理?

和HR协商就好

面试中

如何自我介绍?

  • 重点介绍实习中做过的项目,说明自己在项目中的角色、负责研发了那些部分、使用了什么技术栈、学习到了什么
  • 有参与开源项目或社区建设的

面试整体流程

  • 笔试
  • 技术面试
  • 岗位match
  • HR面试

遇到不会的问题如何处理?

千万不要不懂装懂,这样反而会留下负面印象。
确实不会的问题请直接和面试官说明,可以让面试官给一些提示,或者征询面试官意见看能否现场查阅相关资料(一定要在面试官许可下查询,否则容易被算作作弊)。如果在提示或查询资料后,解决了原本不会的问题,也是加分项——说明学习能力、应变能力、抗压能力不错

面试时可以问面试官什么问题?

如果通过面试需要学习哪些内容做准备、面试官对你本轮的评价和建议(如果面试官不方便说,也不要追问)、面试过程中某个困惑问题的解决方法(时间限制面试官可能只能给出思路)等

面试后

总结面试过程中回答的不好的,寻找原因

面试官

面前准备

团队职位预期

职位预期可以理解为:假如候选人来到团队,我们期望候选人能去执行什么事项,能去承担多大职责,能给团队创造多大价值。 大家都喜欢动手能力强、发展潜力大,技术能力、个人素质都很不错的同学,但在实际面试中很少会遇到这么完美的候选人,我们更多的时候是要评判候选人是否可以在预期范围内为团队带来更多收益

另外,有些团队还对候选人的教育背景、管理经验、技术能力、当前职级等有比较特殊的要求。这个时候就需要特别注意,发现不符合条件的时候应该尽快提前终止面试流程,减少后续消耗

候选人基本情况

作为面试官,我们更多是通过简历中来初步了解候选人的基本信息,如工作年限、教育背景、技术栈等,这些信息对我们初步评判候选人能力、后续准备面试问题帮助都很大

很多情况下,面试官会从简历中推断自己的初步评判结论,后续面试过程只是在一步步验证自己的结论、矫正误差。所以,简历中的信息对候选人、面试官都很重要

有些时候我们也会在简历中遇到一些不太符合常规的信息,如毕业时间、工作时间等,可以提前跟 HR 或者候选人沟通下,保证双方认知一致。毕竟现在这种社会背景下,造假的成本还是比较低的,为减少后续麻烦,需要提前排除这些意外因素

面试流程

一定要提前跟 HR 或者候选人做下沟通,明确自己进行面试的时间、方式、流程等信息,为面试过程中的问题花点时间做准备。同时,提前规划自己的日程,避免工作安排冲突

面试问题

  • 候选人项目背景

项目 A 产生的业务背景是什么(考察对项目 A 的了解程度)?

自己在项目 A 中主导了哪些功能开发(考察候选人的参与程度,对项目的贡献大小等)?

你是如何解决项目中遇到的 B 问题的(考察候选人处理问题的前期调研、方式、手段等)?

为什么选择方案 C 而不选择方案 D 来解决(考察候选人多角度思考、解决问题的能力)?

  • 候选人技术栈

Vue 如何实现数据双向绑定的(考察对框架底层原理的了解程度)?

假如开发一个简易的 MVVM 框架,你会首先处理哪些问题(考察对框架本质的认知)?

你在业务开发都是如何使用 vuex 的(考察基本的使用方式、最佳实践等)?

  • 候选人工作年限

项目 A 的整体架构是什么样的(考察候选人对项目的认知高度)?

浏览器的渲染一个页面的流程是怎样的(考察候选人对相关技术原理的认知程度)?

如何实现多个整数数据中查找重复数据的功能,时间、空间复杂度如何计算(考察基础的编程能力)?

  • 候选人管理状况

当前团队中,你负责几个同学的日常开发工作?

如何在个人成长、业务开发、团队收益之间达到利益最大化?

如何帮助团队内的新同学快速成长?

面中沟通

面试官介绍

如公司没有强制要求,可以不说明面试官个人相关信息,可直接说明为 XX 公司 XX 团队技术面试官即可

面试流程介绍

可以简单说明下面试相关信息,如持续时间(20~45 min 为宜)、问题处理方式(如遇到不清楚的问题可以跳过,缓解候选人压力)等

正式面试过程

一般按照准备的题目开展面试过程,可以根据情况临时补充一些问题,能达到自己了解候选人整体情况的目的即可

候选人反问环节

面试最后可以问下候选人是否有想要了解的内容,可以适度描述一些团队的正向宣传内容,切记要适可而止,禁止涉及公司内部隐私

结束环节

尽量不要直接告知面试结果,只需说明会将情况反馈给 HR,由 HR 同学沟通后续面试流程,从而避免产生一些不必要的尴尬

  • 一些技巧

开始可以让候选人先花一分钟简述下自己的工作、项目经历。 一方面,可以让候选人缓解下压力,这样在后续沟通过程中可以更好发挥。另一方面,我们面试官可以快速判断下候选人描述的情况跟简历内容是否匹配(简历造假、信息不匹配的情况很常见,基本遇到就铁定不会有后续结果了,快速决断避免后续浪费时间)、是否符合公司/团队要求的“及格线”(教育程度、经验年限等,如工作 5 年,前端只有 1 年开发经验,而我们想要一个高级前端开发,遇到这种情况很少能符合岗位预期)

发现简历信息多而杂,不知道如何下手时,可以让候选人自己介绍下技术挑战最大的项目。 通过候选人对技术挑战大的理解和回答,可以快速预估出候选人的能力“天花板”有多高。然后,再通过候选人详细描述和双方沟通,基本可以认定候选人的业务处理能力、动手实践能力和项目规划能力。

在准备的问题基础上,可以适度考虑“压力”提问。 针对项目中的特定领域问题,连续不断追问一些具体实现、底层原理、业务逻辑等,目的是为了让候选人更彻底的去回答为什么、是什么、怎么做、怎么评估、怎么优化的问题,从而更全面了解候选人在开发过程中的调研广度、思考深度、执行力度和结果高度。“压力”情况下,候选人是否依然表现符合预期,是考察发展潜力的重要标准。知识的广度和深度作为额外补充,两点结合起来就可以推断出候选人的技术职级

写一写算法。算法是最适合考察动手能力的方式,无论什么职级的同学建议都考核一下算法代码实现。为避免大量刷题同学碰运气的成分,建议提前准备一些算法时间/空间复杂度分析、算法优化等更高程度的问题,能更真实的反馈结果。过去有候选人曾因为面试流程不安排算法而觉得面试流程不专业,所以为了提高公司的“逼格”,算法环节最好不要省略。单千万别提难度太高的问题,有限时间内除非候选人有相关经历和背景,不然很难达到预期考核效果。我们只需要做一些稍微有点挑战或者需要灵活变通下的题目,来考察候选人解决问题的思路和编码能力,能否真正写出得到预期结果的 code 反而不那么重要了

面后评价

相较前面两个步骤,评价部分相对而言流程比较规范化。我们评价候选人的总体原则是:真实描述、客观评价

真实描述是指,评价中的面试记录内容一定要是面试官和候选人的原文记录,即使有些是错误的提问或者回答也需要真实记录

客观评价是指,按照团队预期和职级标准,在不参杂任何外界条件的影响下,根据自己的判断来最终认定候选人面试结果和预估职级

【面试评价】XXX - 前端工程师 - 初面
面试时间: 2020-10-01 10:30
面试地点: XXX 会议室
面试官: XX
面试结论: XXX 符合当前职位预期技术能力要求,通过当前轮次面试。后续面试轮次可重点考察 xxx 方面的能力。
面试记录:
Q: xxxx ? A: xxxx.
Q: xxxx ? A: xxxx.
...
面试总评: (可以详细描述下候选人业务、技术能力如何,发展潜力如何,自身优势、劣势,是否适合当前团队需求,适合那些团队类型等等)

转载自

https://juejin.cn/post/6844904085678768141
https://juejin.cn/post/6892258121134440462


文章作者: 江湖义气
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 江湖义气 !
  目录