严格来说,这个标题还是有些宽泛。仅以互联网公司来看,招聘职位包括前端、后端、产品、运营、测试、运维等等;从职级上看可能包含 初级、中级、高级、资深/专家、架构... (职级仅用来举例,各公司的级别体系各有不同)。本文以所负责的方向,来描述后端,中高级以上级别对候选人的面试要求。希望能够给各位面试官或候选人起到一点参考或帮助。
一 自我介绍
1.1 表达能力
能否简洁清晰描述自己的工作经历,并适当突出其中的亮点。如大厂核心部门工作经历,突出业绩(关键指标数据);
1.2 简历真实性校验
针对简历和表述内容,面试官也可以初步判断简历是否有过分夸大和造假的可能。例如通过表达是否流畅,关键时间清晰/模糊,工作内容矛盾/时间冲突等;
常见问题及注意事项:
0、切忌造假!
造假是大忌,属于越过底线的动作,一定谨记。有人会说,项目不都是要夸大一些的吗?没错,但修饰是有前提、有底线的。拿来讲的项目一定是建立在有足够掌握程度的基础上,而且,为了数据好看,可以突出某些口径下的数据,但一定是真实的,至少不会偏离太远。
1、清晰描述、突出亮点是最大的两个要点
严格来说,应该叫个人简介,既然是「简介」,就不能过于繁琐,最忌流水账式的描述,或针对不重要的点繁冗描述,这会导致快速降低在面试官心中的第一印象;
2、引导
争取能够将经历与面试岗位相关的部分,尤其是有过亮点业绩的地方突出出来,快速引起面试官的兴趣,并在后面针对这段经历进行提问。如果能在一定程度上掌握主动权,那么显然是有利的。很多面试官其实也乐于让候选人表现出自己的优势,只要这些亮点是真实的。
二 项目经历
同样包含1.1 和 1.2的内容,但这里更多会侧重考查对项目的了解程度。这个「了解」,不只是背景、预期收益、设计&执行过程、最终结果,更要突出体现业务价值,项目收益,甚至你在项目中的位置和作用。
业务和技术是其中的两个考察维度。尤其对于高级/资深以上的级别来说,决不能只是作为一个执行者的角色,而是应该从项目/产品整体的角度来思考问题。
经常被考察的一个问题,如果让你作为这个项目的负责人,或现在回头来看,当时有哪些问题,有没有什么优化方案来把项目做得更好?
三 技术细节
作为一名开发者,技术是自己安身立命的基础。手中的工具越多,掌握得越扎实,越熟练自然是越好。这里就包括了语言基础,和项目常用技术。数据库、缓存、消息中间件、容器、服务治理等等。对于面向C端的职位,高并发场景和解决方案是必须掌握的;其次涉及金融或关键数据的,鉴权、幂等、对账、风控等等也需要有足够了解。每个话题都可以搜到相应的专题,所以这里暂时不展开描述。
四 设计能力
基础是技术设计,针对一个需求,怎样落地到代码实现,是一个过程。在掌握的技能基础上,选择合适的方案,实现业务逻辑是作为一个开发的基础技能。这里需要足够了解需求背景、目标,先保证所做的事情与目标相符,方向对是前提。然后设计并实现业务逻辑,这里同样要注意,需求的逻辑是否合理,即使局部合理,在整个产品中是否会与其他逻辑矛盾、冲突,导致引入错误的结果?
立足整体,充分评估,考虑到一定的可扩展性,然后才能做出正确的选择。
五 独立解决问题和抗压能力
这点大家都很清楚,几乎每个人都会遇到紧急项目或线上问题,不可能每次都向其他人寻求帮助。这就要求我们具有独立解决问题的能力;在工期紧急,项目压力大的时候,足够的抗压能力保障在一个相对健康的心态下完成所负责的任务。一定不要情绪化,这解决不了任何问题。
每年都有大量的新人涌入这个行业,作为行业人海中的一员,我们需要常常思考,自己的优势在哪里,在当前的岗位上,是否具备一定的不可替代性?(为了避免杠精,我们首先承认极少有人是绝对不可替代的,但被替换的成本是否是企业容易接受的可以作为这点的评估标准。例如,在这个岗位,相同能力/产出的条件下,你是最经济的。。。)
六 总结
总体来说,本文是偏方法论一些的。相信大家都有自己的独特思考角度和收货。以上只是针对过去的一段经历分享个人的经验,希望大家持续进步,保持深度思考。当回顾时,不是只在看自己做过了什么,而是能看到收获了什么,当前和未来能做什么。毕竟经历已成过去,我们在追逐的,是未来。生存不易,祝安好。