共计 12433 个字符,预计需要花费 32 分钟才能阅读完成。
面试是每一个人必然要经历的过程,我在最近几个月投递了数百份简历,经历了至少有 30 场面试,其中至少有 10 场为大厂面试,每天也基本处于经历耗尽的状态。但通过面试,我发现:我可以判断一家企业是否优秀并适合我,我的下一步学习路线是什么,等等内容。也因此,在这几个月里,我的技术水平、面对企业以及与人沟通的能力飞速进步。
我曾经也当过技术面试官,如果让我为公司招聘,我该如何找到合适的人选是一个困难的事情。所以在有了这些经历后,我决定分享一下那些给我深刻印象的面试,以及面试的经验。也希望能给看到本片文章的后人和招聘方一些参考。
为什么要保持面试
在正式开始前,我想先说说为什么要保持面试。面试看起来是一个停下的过程,你要分出精力,去应对那些不同的面试,去做取舍。不过现在,我们抛开表面,向深层看去。
面试,是最简单的消除信息差的方法:通过面试你可以迅速知道市场需要什么样的人,你欠缺的知识是什么,以及是不是走向错误的技术方向。
以我自身为例,我在乌鲁木齐生活,我的做的是 DevOps 岗位。在乌鲁木齐,基本没有人做相同的事情,所以我在这里非常吃香,能够调度起资源,提升开发人员的效率,减少“造轮子”的情况,也带领团队做到了从0到1的技术转型,一支腿迈入了云原生的大门。可是下一步学什么,总是让我迷茫,云原生,就是那些工具么,学会了主要的就够了。所以通过应聘,你会知道你欠缺的知识,还能通过市场的反馈,让你重新对技术保持敬畏,让你相信人外有人,天外有天的道理。即使你在团队内工作,也不能保障你的成长路线是正确的:从历史的角度来看,多少大厂推行的技术被扔进了垃圾堆?通过面试,你才能知道市场的需求,而非闭门造车。
因此,保持面试,不要让自己走入技术的“死胡同”,在正确的道路上前进,而非在错误的道路上狂奔。我最近看到了非常好的一句话,在这里送给读者:
如果一块表走得不准,那它每一秒都是错的。但如果这块表停了,那它每天至少有两次是对的。清醒的停留胜过盲目的前行。
我们总被催促着要快一点,要赶在所有人前面,要把每一分钟都填满。却忘了偶尔停下来,看看自己是否还在正确的路上。那些看似停滞的时光不是浪费,而是在积蓄力量、校准方向。人生的很多圆满本就藏在半途而废里。那些没写完的字,没说尽的话都是生活温柔的止损。
与其在错误的方向上狂奔,不如在对的路口稍作停留,等风来,也等自己。行到水穷处,坐看云起时。
面试的流程
现在让我从应聘者的角度,剖析一下完整的招聘流程。首先拆解一般社会招聘的面试流程,整个招聘流程可能分为:
- 简历投递与初筛
- hr电话联系简短面试了解情况,包含可能的测试环节
- 技术一面
- 技术二面
- 技术三面/交叉面(可能)
- hrg/hrbp 面
- 横向
- oc,准备谈薪
- offer
至于怎么做好简历,这一块儿是一个学问,我印象最深的是当年我作为技术面试官我筛选hr发来的简历的时候,我从将近100份简历里只筛选出了一到两个可以面试的。同样,我在投递简历的时候也遇到了类似的情景。具体的方法,我建议参考其他教程。
对于校招则是上面流程的简化版,可分为:
- 简历投递与初筛
- 可能的现场测试环节
- 一面/群面
- 技术面(可能)
- offer
每轮面试的作用都不相同,同一个岗位,有上百人投递,这些流程是帮助企业筛选出那个合适的人。
另外,除了 HR 的那个电话联系面试以外,剩下的面试都是十分消耗精力的,面试是一个高强度的脑力活动过程,要保证输出,所以请保证面试时有充足的精力。
HR 面
HR 联系应聘者一般是所有应聘流程的开始,在该环节,联系你的那个人是负责招聘工作的HR。如果你接到了该HR的电话,那么也就意味着你的简历大概率过了HR的法眼,HR有意向把你的简历推给业务团队。
在该流程中,主要是需要收集你的个人信息,例如:某些候选人简历上没留合适的联系方式。他一般还会询问你为什么要应聘他们的岗位,对你有个大概的了解。对于为什么要应聘这个问题回答要谨慎,简单说明来应聘的理由即可,不要一上来就是钱不够,合适的理由一般不会有什么问题的。此外还会和你确认 Base 地点,看你能否满足他们的公司地点。
在这个流程中,你可能会遇到一些不那么专业的HR。例如有一次,我在上班,HR 没有和我提前预约交流时间。我接到电话十分懵逼,HR 就开始了询问模式,然后问我有没有想问他的问题,可是我连他是哪家公司的都不知道。对于这种情况,一般是新手HR或企业培训不到位导致的。所以需要仔细确认应聘的公司是否合适,面试永远是双向的。
当然绝大多是招聘 HR 给人的感觉是彬彬有礼的,你可以和善地和 HR 沟通交流。并且,越是大厂,该 HR给你的体验会越好。在这个环节中主动和 HR 交换信息可以让 HR 更了解你。
注意:一般该 HR 不懂技术,你需要用简单、直白的方式和她交流,展现出知识广度,而非深度,来让她明白你的价值。例如我在该流程中多次都尝试向 HR 介绍自己的工作经验,有几位 HR 给我推荐了同公司的不同岗位,来让两个岗位的应聘同时进行。不过注意,这不能强求,只能看当时该公司的招聘规章和 HC 的情况。
同时你需要注意 Job Description 中的内容,对于专业词汇,在该流程中,要尽量把这些技术词汇和该 HR 提到。例如:你自己是一个 HR 你需要为企业找到一个会计,而你不懂会计学,这时看到会计团队给出的 JD,此时你的方法则是对比候选者的技能和该 JD 的专业名词是否重合。在这个环节多和 HR 交流有利于获得其他岗位的面试机会。此外该 HR 可能会给你一些简单的问卷,来了解你。
同时该位 HR 和你是同一阵营的,和该 HR 好好交流,有利于走入后续流程。该 HR 可能的绩效评价包含:
- 这个月筛选了多少简历
- 有多少候选人被团队选中进入后续流程
- 有多少候选人接受了 offer
所以,这位 HR 肯定希望你能顺利入职。
这位 HR大概率是一名女性,需要使用合适的称呼。一般可以采取姓+老师/师傅的称呼方式,或直接说 HR 老师。
技术一面
恭喜你来到了技术一面。走到这里,说明技术团队对你也感兴趣,所以需要更加深入地了解你的信息,同时测试你的技术能力。你也获得了正式面试的机会。
此轮面试的面试官一般是你将来的直属领导或同事(也有可能遇到多位面试官的情况,可能包含前一面的 HR 和多位同事)。想象一下,将来你会和这位面试官共事,你们将是同事/直属领导的关系。此时面试官将不再和你同一阵营,而是面试中的考官,需要了解你的技术水平。因此,在这轮面试中,你需要更多地展示对应领域的技术深度,同时,你可以考察他们的工作情况你是否喜欢。
技术面的面试一般使用自我介绍开头,在这里需要准备一个3分钟以内的简单自我介绍。在自我介绍过程中尽可能展示自己的不同之处,以及做过的项目或取得的成果。自我介绍不宜太长,如果想分享项目经验,可以在这个自我介绍结束后问面试官 “Would you like me to dive deeper into these specific projects?”,“你想让我详细介绍一下我提到的项目吗?”通过先将话题的选择权控制在自己的手里,而不是面试官掌控,让面试官做选择题,那么此时他可能会选择他感兴趣的项目进行询问,此时就是你分享经验和 NB 之处的好时间。
那么什么东西能凸显出自己和别的候选者与众不同呢?我认为分两点:
- 技术积累
- idea
技术积累是每一个面试者都要有的,如果技术积累不够,学再多的面试技巧,侥幸通过一两轮面试也会在后续的面试或横向流程中淘汰掉。说明技术积累除了被动考察还可以用获得的成就来说明。
其次是创新点 idea。比方说我在工作中提到我给团队引入了新技术栈,做了些有趣的事,改变了团队的工作情况,这就是一个 idea。大家都会用菜刀,但我用菜刀不仅会切块,还会切片和切丝,甚至还能雕花。例如这是我的语料库:
- “The core innovation lies in shifting the CI/CD boundary from Application-level to OS-level.”对应中文”核心创新点在于:我将 CI/CD 的边界从‘应用层’下沉到了‘系统层’。
- “These initiatives led to me being awarded ‘Outstanding Employee’ for two consecutive years.”,“这些行动让我连续两年获得了优秀员工的称号。”
- “I didn’t just rely on off-the-shelf tools; I developed custom solutions”,“我并没有仅仅依赖现有工具,而是开发了定制化解决方案。”
通过介绍自己的项目切入主题,一般是个非常好的方案,无意间将话题引入自己擅长的领域。当然面试官不会让你无休止地说下去,一般来说面试官还会考察技术问题。这些问题是不可避免的,你需要尽可能地回答上来。如果遇到回答不上来的,可以这样说:根据我的经验,我认为这个是怎么样的。做合理推测,毕竟每个人的技术不可能面面俱到,或者“以我的经验,可以用xx工具来解决该问题”,条条大路通罗马,同时能展示知识广度。
压力面
面试进行到此时,可能会面临一些不同的情况:部分面试官不知道从哪看到的,采用异常压力面试。此时我们针对面试官的问题要去识别,什么样的问题是压力问题,他压力你,你也可以在后续流程压力他。我认为压力面试分为两种情况,一种是合适的压力,另一种则是面试官有否定性人格,不知道从哪看到的否定别人来面试。前者通常不需要在意,保持合理心态,沉着冷静,而后者千万不要被面试官搞毛了,及时调整心态。
正常的压力情景如下:
- 性感程序员在线 debug 环节
- 在线 coding 环节
- 不能看文档,直接写配置文件
- 来一个小考试
- 对技术深挖
这些是正常的压力情景,可能还有很多。不过形式基本类似,主打的是实操。如果实操不出来,或不确定的地方,你可问面试官,比方说“这个问题有两种解决方案,你想让我用哪个?”或者“我对这个题目不太理解,这里说的是xx吗?”弄明白再去做,这不是真正的考试,允许你和面试官交流,或许面试官会向你透露一些小 tips。
但是后者就不一样了,例如面试官会问
- 凌晨4点服务器报警了,你的解决方案是什么?
- 你会对没按时完成任务感到愧疚吗?
- 你做的这些有什么用呢?
- 没你的话,你的团队就不行了吗?
那么对于这类问题你需要记住不吃压力,你需要能迅速识别到这是异常的压力问题,大部分异常压力问题以反问或打断你说话来进行。首先频繁打断是一个非常不礼貌的行为,如果你是招聘方,请耐心等待候选人说完再问。如果你是候选人,请及时结束和该公司的后续面试,你将来的领导或同事脑子不够用。
对于这类异常问题在心中想好回答方案:
- 为什么报警?自动化工具呢?值班的人呢?没值班机制吗?你有没有休息过假期吗?
- 你家小孩写不完作业会愧疚吗?是老师布置的作业太少吗?你会对降薪感到愧疚吗?
- 你问的问题有什么用呢?
- 没了你地球还能转吗?
然后用温和的语气说出:
- 首先,我会第一时间介入,先止损、再排查。我会先尝试通过重启服务或切换冗余节点恢复业务,确保用户受影响时间最短。服务恢复后,我会分析日志定位根因,是代码Bug、流量激增还是硬件故障。最后,我会提交一份复盘报告,通过完善自动化监控或优化系统架构,确保这类问题以后不再凌晨4点叫醒我。
- 比起愧疚,我更多会感到警醒。延期通常意味着前期进度评估或风险控制出了问题。我会第一时间向Leader说明情况并给出补救计划。事后我会深度复盘:是需求理解有偏差?还是技术选型太复杂?我会把这次延期当成一次成本,通过优化工作流程。职场上,解决问题比沉溺于情绪更有价值。
- 我理解您是想看这项工作的投入产出比。我所做的表面看是代码优化,但实际上它解决了瓶颈,直接降低了服务器成本。技术从来不是空中楼阁,我始终目标明确:我的工作要么是为业务增长铺路,要么是为团队提效挡雨。
- 一个健康的团队离开任何人都能运转,这是制度的成功。但‘能运转’和‘跑得快’是两回事。我的存在,是因为我在该领域有深厚的积累,能帮团队规避掉很多潜在坑,提升整体效率。团队从来都是是一个1+1>2的集合。
压力面试往往折射出公司崇尚“高压”、“丛林法则”或“等级森严”的文化。如果你偏好平等、协作、透明的环境,加入只会让你痛苦。对我个人来说,遇到这种问题后我直接终止后续面试流程,这种面试风格通常预示着入职后会有大量的内耗、无意义的责难和情绪化的管理。不过,如果这是家大公司的话,如果充分了解了工作环境,这可能是面试官的个人问题,你需要查清入职后他和你的关系。
一定要早早拒绝掉那些不合适的 offer,职场上有一种说法:“面试是你能见到的这家公司最体面的时候。”如果他们在求贤若渴阶段都不能给你基本的体面,那么入职后的真实状况大概率只会更糟。你过滤掉的可能不是一个机会,而是一个“火坑”。
提问环节
如果你遇到了刚刚的压力面并不打算后续流程,那么你就可以对这位刚刚压力的面试官怼回去。把你心里想的直接说出来。当然我遇到的这种公司没给我这个机会,连提问环节都没有。所以我终止后续流程后他们还奇怪怎么不继续面了,还问我,我自然是无可奉告了,只能助他找到“志同道合”的伙伴了。
来到该环节前,时间属于你。你在问他问题之前,还可以进一步展示自己,用一些话术,比方说,我想和你分享更多有关我的经历,以此来进一步分享自己处理问题的能力。在这里你可以展示你对这家公司的文化认同。你需要了解这家公司的价值观,为什么要招这个岗位,他们正在做什么事情。你可以说我了解到公司正在做某个项目,我做过什么,我对参与该项目的可能性感到很激动,我能为这个岗位做什么事情。即使你入职后不做相关事情,也可以说,反正前面说的是“可能性”,以此表示对公司的了解。另外,表示文化认同可以对阿里这样的公司可以说,我人生的第一个服务器来自阿里云/腾讯云。对游戏公司的时候可以说我还是个小孩的时候就知道了该游戏,从游戏彩蛋里知道了某某工作室等等。我也是某个游戏的粉丝等等。也就是所谓知己知彼,百战百胜。
现在来到正式的提问环节,有意义的提问会给面试官留下深刻印象。除了钱,别的都可以问。下面例举一些有意义的问题
- “If I were to join the team, what would be the single most important skill or domain knowledge you’d want me to master in the first 90 days to have the biggest impact?”,“如果我加入团队,那么你认为我接下来90天里掌握什么知识或技能能给团队带来更大的影响”
- “You know. I’ve really studied your website and I’ve learned a lot about the company. But I’d like to know your own personal experience. What have you enjoyed most about working for the company.”,“我了解了很多关于公司的情况,但是我想知道你的个人体验。你最喜欢的工作哪个部分”
那么在最后你可说如果有什么问题,我还没有讲到,你还想知道的,你可以问我,我会告诉你我的经历,以及我为什么是这个岗位合适的人选。主动迎接挑战,以此留给面试官更深刻的印象。当然问这个话的前提是:肚子里真有技术。
回顾与感谢
面试结束后,立刻把刚刚没答上来的问题记录下来。所有没回答上来的技术点立即记录,后续学习,千万不要等到二面了还是不会,那就直接完蛋了。同时赶紧学习面试官提到的需要学习的技术,这也是我这几个月以周为单位技术快速进步的原因。可以采取先学习,后实践的方案,下次面试时,你可以在更深层次上回答面试官的问题。“没吃过猪肉,还没见过猪跑吗?”
接着针对于所有面试的岗位,请写一个感谢信给面试官。面试官在工作中抽出时间和你面试,尤其是跨时区协作的团队,一定要感谢面试官。即使感谢信对你的面试表现并没有太大帮助,但是请给别人留下一个好印象。
技术二面
恭喜如果之前一切顺利,接下来进行的是技术二面。小型企业只有技术一面,其实大多情况技术二面和技术一面的流程差距不大,大部分环节都可以参照上面。同样的自我介绍,同样的话术。不过要注意的是:二面往往是一个领导层级的人,在这里你并不是他的下属,不要顺从,而是和一面一样,正常沟通和交流即可。
技术二面会在技术上深挖,深入了解你的技术熟悉程度,在这里你可能会遇到更多的追问。绝大多数情况,技术二面的问题要比一面更加深入。我经历的一场特殊的问答方案是这样的:
- 面试官针对不同领域准备从简单到难准备一系列问题
- 面试官问你你对自己的技术在这个领域内打几分
- 接着根据你打的分问对应难度的问题
面对这种问题,候选人容易陷入打分一时爽,提问火葬场的情况。通过这样,面试官既可以了解你的技术水平,还能知道你的自我评价是否真实,有没有在糊弄面试官。同时面对问题,面试官很可能不断追问,问道你打不上来以此探索你的技术边界。
候选人要做的则是诚实并有勇气地打分。比方说我给自己的 Linux 水平打了接近满分,然后面试官问我 Kernel 的 namespace 内核参数以及 SELinux,等问题。面对这些,谁一天调内核参数啊?因此我告诉面试官,我给这一项打满分是因为我用过什么样的 Linux,我为什么不喜欢使用 SELinux,我使用 SELinux 干了什么,我现在虽然说不不出来很多内核参数,但是我用过 Gentoo,编译过整个内核等等。有理有据地表示出自己为什么值得高分。此外即使你答不上来,面试官会降低问题难度来找到你的技术水平。
面对低分,自己不熟悉的技术领域,你可以说对于这项技术,我没有在生产环境中使用,但是我在我的个人技术探索中尝试过,所以我给自己打了这个分数。
不得不说这是一个极其聪明的面试方案,在回答问题时非常庆幸自己用真实能力打分的。
此外,即使你当时有问题每回答出来,但是你可以展示自己过去的工作成果,例如代码仓库,产品demo,等等。向面试官展示这个工作,能让面试官理解你的水平,毕竟技术水平并不是几个问题就能完全确定的。
复杂问题
在解决复杂问题的时候我们可以使用画图,而不是光用嘴说。一个清晰的图表,能让面试官了解到你对该技术的了解,这一点在英文面试的时候非常有用。无论是 Windows 画图,drawio,excalidraw,还是什么白板,只要你熟悉,尝试用这些工具,展示自己的想法给面试官。
在画的同时注意不要光埋头苦画,要记得边画边说。例如让你描述 git merge 和 git rebase 命令的区别,画图往往比讲方便得多。
收场
同样,和一面一样,来一个体面的结尾,感谢面试官的时间和这次机会,结束后发送感谢信。
技术三面/交叉面试
如果进行到技术三面或交叉面试则说明你的面试情况可能有些特殊,通常两轮技术面就知道了你所有的信息,那么为什么会安排技术面试或交叉面试呢?总结下来几种情况:
- 面试的岗位处于领导层级或高技术岗位,例如核心算法工程师,或团队 leader
- 岗位急招,需要交叉面试来保障人选可靠性
- 新岗位,公司之前没有对应领域的技术人才
行为面试
走到这里,基本上是一家公司的终面了,有的公司可能没有行为面试,而且行为面试在不同公司重要程度不同,例如阿里这种行为面试依然会挂人,也有的行为面试则宽松很多。既然面试进行到了这个地步那么不如认认真真完成这场面试。
行为面试一般考察候选人的动机、能力,而非技术水平。总得来说这是一个比较难量化的东西,不像技术面中对错分明。不过面对行为面试我们仍然可以用一些技巧进行准备。
行为面试的问题非常百变,考察点从浅到深可以问各种各样的问题,如果靠背是背不完的。这里通过两种方法划分行为面试,从而解构该轮面试。
经历
按照经历划分,则可以分为:
- 成绩
- 失误
- 转变
- 回顾
针对这四点,面试官可以提出无数种问题。例如你做过最成功的事情,最大的失误,最大的转变,工作的感受等等。通过这类问题,可以快速了解过去的经历,从而了解是性格、成果等方面。
能力
按照能力划分,则分为:
- 领导力与主动性
- 韧性与抗压
- 团队协作
- 影响与说服力
- 矛盾处理
同样的,面试官可以就这些问出各种千奇百怪的问题。
回答要点
面对行为面试,我们需要明白,面试官不一定有我们工作领域的技术水平,面试官可能是专门的行为面试官,也许是管理层领导,从技术转移到管理多年,并不在一线。也就是说,如果面试的是技术岗位,那么我们要尽可能少用专业术语,用简单而又直白的方式描述出经历和带来的影响,这个影响在符合背景的情况下越打越好。
在准备阶段,我们需要为各个重点准备小故事,每个准备2个以上。有时面试官问到的问题同时包含两个重点例如:分享一次你不同意领导/同事的观点的经历,你是怎么解决的。这个问题同时包含矛盾处理以及影响与说服力。如果用掉了一个故事,那么在面试官问你稍有重合的问题时,你还有一个备用的故事,而不至于现场构想。
当然准备是准备不完的,现场随机应变的能力也十分重要。根据面试官提到的问题,快速构建出合适的回答。
这里推荐一个 YouTube 上的视频
该视频详细介绍了如何面对行为面试。以及联系行为面试的方法。
同样的,在面试结尾依旧可以继续问,有什么还想知道的,我没讲全的等等。如果你的经历中有一个非常特殊、且有重要意义的故事在面试中没能讲出来,可以在现在和面试官分享。例如我准备了一个我在和其他团队同事合作,我主动发现他们的问题帮助他们在另一个领域解决问题,这并不是领导要求我做的,而是我自己发现、提出并优化的。
横向对比
通过了行为面试,进入横向对比,这是最无力的一个阶段。在之前的面试中只能相信努力会有回报,现在你则需要一定程度上的运气。除非前几轮面试过于优秀,面试官给了你非常高的评价,hr 害怕你被抢走会飞速和你推进 offer 进度。
这一阶段是残酷的百分比淘汰机制,前几轮面试有多个候选者都表现不错,但是只招一两个人,那么现在开始就看谁更具备优势。例如我面试外企的时候我认为我的英语能力已经很 ok 了,但我只能祈祷不要来个留学生并且有同样工作经历的跟我竞争这个岗位。
在这个阶段企业会从各种各样的角度来考评候选人,最主要的还是面试官的评价,但是在评价相似的情况下则会从,家庭、入职时间等等其他不取决于你自己的角度来选择候选人。
面对横向
面对横向对比时最有效的方案则是同时申请多家公司,当你手上有多个 offer,同样也会选择最有利的 offer。通过同时推进多家公司,来面对候选人横向对比,毕竟不可能每个公司都在横向阶段被挂。
不过申请多家公司的前提则是足够优秀,能进入到横向阶段。
在收到 offer 前,也就是横向阶段,你需要确定自己的目标薪资范围。毕竟投了那么多家公司,你已经知道了你的能力范围,以及对应岗位在市场上的大概薪资范围。如果是大厂可以适当提升范围,如果是外企则保持一个中等的薪资范围即可。准备好预备的薪资包和期望月薪资。
如果收到了 hr 发来的口头 offer,一般是电话或网络会议加邮件的形式告知,则说明顺利通过了横向阶段,公司希望录用你。有的时候经常看到 oc,这是 official confirmation 的缩写。
斩获 offer
在电话中 hr 会先说明来意,并且询问你大概的薪资范围。一定要记住在这一阶段千万不要说什么我只特别看重平台,不看重薪资这种自己把自己往坑里带的话。大胆提,只要不是离谱的薪资 hr 是会把薪资意愿发给其他定薪团队的。
过两天则会和你正式谈薪,给你大概的薪资范围,这时候除了可以用自己的能力和想法想办法提价以外,还可以用别家公司的 offer 做筹码,来和当前公司谈。当然用这个方法要会说,不是说“你低于我别的 offer 我就不来”,而是“我很看重成长性,但是别人给我的薪资是更具备竞争性”的这种类似的说法。
同样谈薪是一个有技巧性的事情,即使工资比较满意,也可以再申请稍稍再提升一点薪资,例如提升每月1000元这样。这种薪资提升通常不需要hr做非常努力地争取,总之,如果企业想录用你,提升这1000元是非常容易的。
收集流水
除了得到你的目标薪资,还有一步则是收集流水以及背景调查。很多公司会根据历史流水来定薪资,这就导致即使能力强,也会出现低薪资的问题。我这次应聘就碰到了这种问题,我要求的薪资涨幅是现在薪资的2倍多,对于很多需要流水定薪的企业是接受不了的,也是因为流水原因导致直接和 hr 谈崩了。向这种情况候选人就非常得劣势,唯一办法就是用其他offer来谈,或者去寻找那些不通过流水定薪公司。
传统大厂很多都是流水定薪的,大厂子公司这类问题更严重,大厂还有一个明确的职级划分,会在一定范围内流水定薪,而子公司由于没有明确职级划分导致这类 hr 根据你的流水直接张口就来。不流水定薪的这类公司主要在中等大小厂商,比如这些年上市的独角兽企业,此外还有一些外企,他们的管理往往更灵活,收集流水仅仅是看候选人是否真的有对应的工作经历,即使像我这样从偏远地区来的候选者也能开到一个合适的薪资。
正式通知
接下来是一封正式的 offer 附件,需要签署该附件来确定正式录用关系。也就是说最晚的 offer 抉择期在签字之前,一旦签字再选择放弃 offer 则可能面临一定程度上的问题,这取决与公司的不同而不同。
首先把里面的附件仔细阅读,里面详细说明了 offer 的薪资水平,工作的年假等等,一定要仔细阅读。还可以把这些内容发到一个本地的大语言模型上,让本地模型进行分析是否有潜在的坑。
至于 offer 的选择,这里每个人有每个人的衡量标准,有的认为薪资重要有的认为平台重要,各种各样的原因,不同的人都有,优秀的人往往有清晰的目标,因此 offer 排序也是清楚的。
总结与学习
每一场面试,在技术领域对我帮助最大的就是技术一面和技术二面。好的面试官给我指点并讲了很多我下一步的学习方向。我通常会在面试后立即把面试中每回答上来或是回答不满意的问题立即记录下来,然后后续去看文档,学习。
面试的数十家公司里,只有大约 3 位面试官给了我有深度的指导,更普遍的则是通过面试中没回答上来的问题进行学习。这3位面试官一位来自阿里,两位来自育碧,两位是中国人,一位是外国人。这三场面试每一场时常都在两个小时左右,我们交流得很愉快。经历过这三场面试没经历一轮我的经验和要学习的下一个目标便立即清晰起来,然后我用面试中间的空档期马不停蹄地阅读文档,看教程,在测试集群上瞎搞,就像我刚入门 Linux 一晚上装了十几次系统。当然这三位中至少有一位以上是纯大厂背景,我也发现了面试官的问题,他是一颗精致的大厂螺丝钉,在特定领域内具有非常深的技术深度,但广度欠佳。
当面试官看到我的简历时问我做了什么,不要举例团队做什么都时候,我则明确告诉他,我们的集群,从硬件需求评估开始,到与 IDC 团队合作进行服务器组装上架,调试,虚拟化层,网络层,k8s集群以及集群上一系列服务再到微服务设计,程序架构都是由我一个人完成的,他则非常不可置信。我一下就明白,这类技术人员只在自己的领域内工作,其他领域的工作被划分给了专门的同事。这种大厂的细致化分工导致没有自驱学习能力的人进入岗位后的技术视野是非常狭窄的,工作内容即技术视野。
我的经历中还有一个比较特别的一点是我用了那些不是特别主流的工具,举个简单的例子,我用了 Gitea 作为代码仓库托管,而非 GitLab。有的面试官则完全不能理解,为什么要用这个解决方案,有 GitLab 不用。我当然知道 GitLab 更好,但其实对于一个团队最重要的是选择合适的工具,而非什么都用最强大的解决方案,每一款工具都有使用它带来的收益和代价,如果一个技术人员不能理解什么样的工具适合团队,总想找一个大而全,可是一个团队总会在某个技术领域处于新手的状态,需要去依赖决策者的意见,那么这种技术人员在我看来很难走向领导决策层级。
所以我虽然给团队用了 Gitea,可我自己也在用 GitLab,同一套流水线我用很多 CI 工具都实现过。对于一个问题我的选择是把所有的解决方案都试一遍,找到最适合我们当前团队的那个,在团队的技术、文化进步转移之后,我就可以切换到下一个技术栈上去,永远做团队中第一个吃螃蟹的人。
在这几十场面试中,我拿到了数十个offer。总之,感谢自己曾经的努力,也感谢每一位面试官的时间,这是一场检验,一次有深度的学习。与不同的技术人员交流,仿佛参加了一场技术论坛,让我受益匪浅。
英语
即使工作了,我没有放弃学习英语,在工作中,我每天抽空背完了雅思词书,每天读英文文档、看英文技术视频则是我认为获取技术与信息最快的途径。
我的英文除了在平时工作中使用,在其他场景基本都没怎么用过。上次的日本旅游让我第一次开口说英语,让我不再惧怕口语。也正是那次旅游经历和每天的英文视频让我在面对纯英文技术面时从容应对。除此之外我的手机和电脑在大学时期就已经全部使用英文了。
针对英文面试我直接用 ai 进行模拟,我让 ai 充当面试官,我来当面试者。为了全英文技术面试,我至少模拟了接近 10 遍。正因如此,我第一次发现我能和一位外国面试官用英文愉快地聊了两个小时的技术问题,我也通过了这轮技术面。
同时英语对我这种需要大幅度工资涨幅的人来说起了决定性作用:大厂给我开的 offer 薪资偏低,中小厂的技术进步有限,而大型外企则给出了一个合适的薪资。既然薪资合适,平台合适,休假又多,还不用调休,那我只好选择进入外企了。也许将来我还会选择大厂,但当下我只会选外企。
也正是我的英语成就了我,在面对去小厂复刻技术路线还是接受大厂低薪资的时候,我选择通过我的技术和英语能力去外企。在我推进 offer 流程的时候,hr 都很惊讶,在她的工作经验里企业从来没在江浙沪和广州之外的招聘范围招过人,更不要说从新疆招一个人来了。我认为我在面试中已经做到了 do my best 了,但当我知道了岗位只招一个人,看到光领英上就有 200 多人投来简历的时候,我觉得我也是是幸运的。
关于我的英语学习程度,可以分享一次独特经历:我有一天在刷视频,突然刷到一个英文脱口秀节目,我看完了觉得非常好笑有趣,我也没注意看字幕,属于完全听懂的状态,然后准备划下一个视频。划到下一个视频是中文,语音的变化才让我反应过来我刚刚竟然看了一个英文脱口秀的片段,而且没有任何理解问题。我当时时震惊的,也是非常开心的。
应聘时长
这次找工作总计花费时间约 4 个月,我从去年 12 月底开始应聘,4月底拿到 offer,这四个月对我来说是一场磨练,也是我人生中第一次跳槽、第一次社招、第一次去别的城市工作。
每天一场的面试对我来说消耗是巨大的,压力也大,每天的心情是绝望的,不过支撑我能走下去的原因是我有一份工作,如果是待业状态,恐怕坚持不了这么久。但好在一切的结局很完美。找工作,如果能速战速决则是最好的。
以上是我对找工作的一些体会和感悟。在此做一个总结,希望下次还能用上,也希望能够帮到其他尝试找工作的人。也祝读到这里的读者工作生活一切顺利。