聊聊技术面试

2024-05-13

1. 聊聊技术面试

 最近作为面试官,参与了多场专场面试,短期内大量的面试,面对不同风格,性格迥异的面试者,让我对面试这件事本身产生了一些思考,结合自己的一些理解和技术领域特有的定级制度,我们不妨来聊聊技术面试这回事。
   我所理解的面试,是一场围绕着两个角色 - 面试官 & 面试者 之间的一场“对接之旅”, 如何在短短的30分钟内, 让彼此更多的了解对方, 就像两个不同的形状的卡口,不断的调整彼此认知,进行思维对接,最终完成面试。由此我们大致可以将面试划分出几种失败的场景。
   面试官完全不看面试者的简历,仅从自己的技术领域出发,对面试者进行考察,面试者往往会有一种被 diss 了的感觉,脾气不好的可能会进行反向 diss,然后一场面试就变成了带点火药味的攻防战。
   面试者对自身的认知有限,简历上几乎体现不出有价值的内容,缺乏经验的面试官不知从何问起,或者面试者的简历虽然详实,但所有的问题都点到为止,场面一度陷入尴尬,就像一场尬聊,这种情况下,经验丰富的面试官可能会通过一系列问题来确定面试者的能力边界,从而构建出面试者的能力模型,如何做到这一点,我们后面聊 :)
   面试官或者面试者占据绝对的主动,但是彼此沟通并没有形成体系,往往在某个细节上进行过于深入的沟通,一方占据优势导致另一方疲于应付,最终形成一边倒的局面,结果无非是
   从上述的一些场景中,我们不难发现,面试失败的原因可以归纳为2类:
   俗话说人力有穷尽,每个的能力在任何方向上都会有尽头,这个尽头便是你能力的边界,我们经常在游戏中看到一种五边形,每个顶点都代表一种能力,角色在这个五边形中不同能力的数值最终构成了一个角色的能力模型,譬如敏捷型 / 力量型 / 智慧型 等等,而作为技术工程师,确定自己或者确定一个人的能力模型是及其困难的事,尤其是在短短的几十分钟内,通过一场面试,那更是难上加难,故而如果面试者能对自己的能力模型有很好的认知,面试官有丰富的经验技巧和对应的知识储备来验证这个能力模型,那面试的过程就会非常高效。
   回到面试者本身,因为不同的技术背景的公司对于同一层级的能力模型的定义可能存在偏差,譬如同样是 高级前端工程师 ,对于专业能力的理解,可能会因为技术栈的不同而产生变化,一个使用 React 技术栈的公司对于能力相同,但是使用 Vue 开发的工程师给出的评价可能会低于使用 React 的工程师,而这种技术变量的存在给面试本身带来了很多的不确定性。尤其是对于面试官如果相应的知识储备不够,那评价可能就会更加失真了,所以作为面试者,我们应该从自身的角度出发,尽可能在简历中给出一个可评估的能力模型,让面试官能够更好的了解,愉快的完成对接,这里我罗列了一些边界的点,尽可能从相对通用的角度来定义工程师的能力模型。
   体现技术的基础技能的掌握情况,以前端举例,可能包括通用计算机基础,例如基本的数据结构和算法,像堆栈,队列,数组,树,链表等定义,和常规的操作等;前端技术基础,对 JavaScript的理解,对 http 协议的理解,css / html 掌握和理解以及其底层的协议和规范的理解和掌握;业务能力基础,包括对实际用于业务开发的技术掌握的情况,譬如对 React 的理解,对 Vue 的理解,如果是公共技术团队则可能涉及 Webpack 打包构建方面的理解,也可能是对 nodejs 的理解;仔细观察,不难发现,基础能力边界是一个层层推进的过程,面试者可能具有丰富的业务经验,但是如果你要理解 React 的底层实现,就一定会去学习树的数据结构和算法,看到JSX,就会想到 babel 是如何解析的,这里涉及到编译原理的前端部分,而这些又绕不开对 JavaScript的理解,从而形成一条清晰的基础能力链条,如果你的简历能体现这些,面试官就能很快的核对出你的基础能力到底是否扎实,作为面试官,我们从业务基础能力往通用计算机基础方向去不断的发问,形成一条问题链条,就能考察出面试者的基础能力是否扎实,对于那些只局限于 API 使用的情况,那基础能力上的评价就是相当低的。
   相对于基础能力聚焦于技术领域,考察的是技术工程师中的 技术 两个字,而专业能力则考察技术工程师中的 工程 两个字,一个优秀的工程师,一定具备良好的工程项目设计,管理,推进能力。一个软件工程从无到有的过程,其最初一定是设计,如果一个技术工程师没有任何设计一个项目的经验,那这一项一定是不合格的,如果他有,那设计的方案是否合理,是否具备良好的扩展性,可维护性,就是需要考察的一个点,因为有了设计,那一定需要将设计落地,这个过程就是工程项目的推进,作为工程师,他如何推进,如何落地一个设计,这中间是如何管理的,如何控制项目风险,确保设计最终能够被落实到项目中,这些都是考量的点,面试官可以持续的深入去了解从设计到落地的全过程,并通过工程项目的复杂性来判断他专业能力的高低。这也是在基础能力通过的前提下,给一个技术工程师评级的关键。
   任何工作都离不开沟通,尤其是技术工程师,在团队协作中跟不同的角色产生的沟通,更是团队能否有效率的持续完成任务的关键,那如何体现自己的沟通能力 / 面试官如何考察一个人的沟通能力?
   第一应该是直接感觉,在面试过程中,对方是否能够很好的说明自己的优势,并获得面试官的认可,这本身也是沟通能力的体现,但光靠这个可能还不够。所以第二点,又回到了之前的专业能力上,面试者所完成的工程项目的复杂性直接体现了他沟通能力,譬如这是个跨部门跨团队的大项目,他能够拿到比较好的结果,那沟通能力一定不会太差,如果一直都是做一个人的项目,或者是从没有 owner 过一个项目,那沟通能力可能很难被评估出来,这时候不妨问些有引导性的问题,譬如:“是否遇到过工作上的难点,需要同事协助?”;“有主动去和其他部门的人沟通,完成一些工作么?”,如果都没有,那只能靠第一感官了......
   很多时候,面试者可能并没有丰富的履历和工作经验,有些甚至是半路出家的“自学达人”,这时候,如果仅仅评估上述三点,也可能会错失人才,另外即便是上述3点都非常好,但是因为人的阶段的不同导致后续的表现并不如评估的那样,为此我们需要考量面试者的潜力,即成长性
   那怎么定义潜力,或者说成长性呢?
   我个人的理解,一个人的潜力来自于两方面,一方面是这个人在早期的学习和工作经历中的积累,即基础是否扎实,这在基础能力评估中可以比较准确的判断,另一方面则是自我驱动,学习能力,善于思考,善于总结抽象等软性能力
   综合起来看,即面试者对于自己的工作是否真的感兴趣,对于技术是否有很强的好奇心,表现在行为上,一个自我驱动好,对技术有好奇心的人,往往会对工作之外的技术表现出极大的关注,即虽然这些技术目前你用不到,实际工作中可能没有场景,但是依然会去了解,并进行尝试,并深入去了解背后的实现原理,技术发展的前因后果,跟同类的比较等等,最后再进一步进行思考提炼加工,变成自己的东西,这个过程最终体现的其实是你的学习能力,即面试者是否有潜力,是否有成长性,就是看他是否能够自我驱动,并拥有优秀的学习能力。
   为什么把经验放在最后,因为我认为在整个能力模型中,经验是万不得已的评判标准,即一个人4项都不行,但是他有经验啊,对于商业化的公司来说,某些场景下,我们需要的仅仅可能是一个对某一块非常有经验的技术工人。
   通过对能力边界 & 能力模型的定义,面试官可以组合出你自己想要的能力模型, 然后匹配面试者的能力模型,让面试的过程一开始就具备良好对接的可能,而面试仅仅是完成对接,验证这个能力模型是否真实,是否匹配罢了。
   比较极端的一个例子是外包,大公司可能会有不少苦力活需要外包,这时候其实就可以定义出外包的能力模型, 即对某一块经验丰富,同时熟练掌握业务基础 API,即业务基础能力较差,但是至少不是 0,另外沟通能力不能太差,所以至少有中等规模项目的参与,并且和不同的角色进行沟通过。这样一个能力模型,再去匹配外包,招聘必然是事半功倍的。

聊聊技术面试

2. 如何面试业务人员?

  面试应聘业务人员的基本问题 :
  面试应聘业务人员的基本问题 面试应聘业务人员的基本问题(可选择性提问) 判断沟通能力与工作经验; 判断沟通能力与工作经验;
  沟通能力
  您好,我代表公司欢迎您前来本公司面试业务岗位 请您谈谈前公司的业务运作方式及其业务流程,您又是如何做的呢? 您又是如何评判您在上一家公司的表现的? 您为什么离开您原来的公司呢? 原公司最让您喜欢或(不喜欢)的是什么? 您从事过电话业务吗?您对电话业务有何见解与体会? 您认为您具备做业务的潜质吗?为什么? 您自身有何优点又有何缺点呢 您理想中的公司是怎样的,您喜欢在何种工作环境中工作? 请根据您以往的工作经历,试模拟推销您所熟悉的产品; 您觉得哪种客户是最难与其合作的?
  判断从业心态
  判断从业心态 您是否想过以何种方式超越您的同事? 如果您在一个士气很低落的环境中工作,您将如何做? 在您的业务生涯中,请举一例能证明您具备一名优秀业务员的潜质? 谈谈您对互联网行业发展态势的看法 您近三年的奋斗目标是什么?
  判断抗压能力
  判断抗压能力 您是如何面对压力又是如何分解压力的? 如果您入公司两个月仍没有出单您会怎么想? 业务压力很大,业内竞争很激烈,您会如何应对?
  判断应变与推销能力
  判断应变与推销能力; 推销能力 请您向我推销您自己? 在您的业务经历中,试举例您最满意的案例 您为了达到自己的目的都会用什么方法?
  学习能力
  学习能力; 您下班之后都做些什么? 在一个陌生的环境中您多长的时间可以适应? 试举例说明一下您在平常的工作中学习到了一些什么新的东西? 您平常学习的途径有哪些?有哪些业余爱好?
  团队精神
  您是如何理解团队精神的?请举例; 当您代接到其他同事的客户投诉电话时,您将如何处理?

3. 应届生如何应对二面技术经理的面试

应对二面技术经理的面试,需要试探经理的需求。
第一步:岗位信息的采集搜集。
现有的岗位说明书、组织机构、团队结构、用人机制等资料是岗位信息的重要来源,实地考察、任职者访谈、绩优者分析等是采集搜集岗位信息的有效方法。
第二步:岗位信息的整理提炼。
所有与岗位相关的信息可以被整合成四个方面:
岗位职责要求:岗位的关键产出是什么?岗位对人的行为要求是什么?这些要求哪些是对人的,哪些是对事的?
工作环境特点:是否要求承担较大的工作压力?工作节奏快慢如何?岗位在公司中的地位如何?任职人所在团队氛围如何?
公司文化要求:公司倡导什么样的价值观?公司体现什么样的精神风貌?公司需要体现什么样的工作风格?
公司发展需要:公司未来的业务方向是什么?在可预见的未来,业务发展对人的要求将发生什么样的变化?
第三步:汇总岗位的用人要求。
从“知识、技能、经验”、“能力”、“动机/价值观”五个维度,对上述信息加以汇总,形成岗位用人要求。
第四步:有效招聘要素的选择。
上述岗位用人要求是一种理想状态,但企业需要的是最合适的人,而不是“完美”的人。在招聘过程中,不需要面面俱到,只需要重点选择若干个核心要素作为考察点。考察点的衡量标准如下:
培养成本:某项考察点在短期内进行培养的难易程度。易于培养的,作为考察的次要标准或不予考察;不易培养的,则作为主要考察点。
人群区分度:某项考察点在应聘者群体中的差异度和区分度。区分度小的,作为次要标准或不予考察;区分度大的,则作为主要考察点。
环境约束度:某项考察点因环境因素对职责发挥的影响程度。环境约束度高的,作为次要标准或不予考察;约束度低的,则作为主要考察点。
可衡量度:某项考察点能用现有方式进行衡量的程度。不能或不易衡量的,作为次要标准或不予考察;易于衡量的,则作为主要考察点。

应届生如何应对二面技术经理的面试

4. 如何面试业务人员

1. 无领导小组面试。这种面试方式已经被越来越多的大型公司采用。业务员对应聘者变通能力和团队合作能力要求较高,可以通过无领导小组面试来测试应聘者的这些能力。

2. 设置情境让应聘者解决。比如要应聘者向其他人推销一支笔、一瓶水。通过应聘者采用的方法,语言的组织,进行取舍。

3. 询问工作经验和职业规划。通过回答了解应聘者的经验积累和发展方向,以及通过压力面试判断应聘者是否在回答中作假,最后进行取舍。

希望对你有所帮助

5. 如何正确的进行技术面试?

 最近在面试上出现了很多问题,电面和onsite一面的评价不一致,以及onsite一面和二面的评价不一致。诚然每个阶段的面试考查点不一样,但也不至于相差那么大。说到底还是评价标准不统一,每个面试官心里都有一杆秤,但是秤砣重量不一。    首先,从能力要求上来看 ,每个职级的能力要求不一样,面试官需要有针对性的参照对应职级要求来进行面试
    其次,面试官的角色与职责也是门学问 (上段的能力模型更倾向于被面试的人的能力)
   遗留问题:   如何问出面试候选人真正的水平?

如何正确的进行技术面试?

最新文章
热门文章
推荐阅读