总会找到更好的

2022/10/31

一、必先利其器

简历似乎是开始寻找一份新工作时,第一个需要关注的事。大部分在经历一两年的工作经验后,原先简历的内容早就与当下的状态大相径庭。而往往「简历还没有更新」,称为众多人畏惧迈出第一步求职的主要原因。所以如果你目前由于各种原因,萌生出了换一份新工作谋求更好的发展的话,那么先从更新简历这第一步开始

如何写简历呢?简单的做法无非就是将教育经历、工作和项目经历等一一阐述。但我觉得,写简历就好比是写一篇作文,需要好好打磨。招聘的 HR 就像是阅卷老师,只会有短暂的时间来判断这份简历是否合格。同时,HR 在筛选简历时,会根据岗位的需求来过滤关键字,所以在简历中专业技能版块中,体现岗位相关的技能关键字,如:Java、Spring 等等,可以使用粗体适当地凸显出来。

至于项目经历部分,STAR 法则是用来阐述自己过往工作经历不二法门

STAR 法则其实是一种讲述自己故事的方式,它是四个英文单词的首字母组合,对应在项目经历中会是:

  1. Situation(情景):项目的背景和目标,或实际解决业务上的什么问题
  2. Task(任务):自己负责/参与哪个模块,做的关键事情
  3. Action(行动):使用了哪些技术方案和框架,或业务上的创新,可以体现出关键字
  4. Result(结果):项目带来的收益(技术或业务),最好用数字体现

下面是我在简历中描述的内容,可以适当的参考:

  1. 使用 AsyncHttpClient 和 Reactor 进行全链路异步化编排,节省大量机器资源,并提高接口响应速度 30 ms 左右。

  2. 基于去哪儿自研的 QSchedule 分布式调度框架,设计全结点并行拉取价格变动的方案,提升同步速度 2 倍以上。

二、如何投简历

投递简历的渠道有很多,考虑沟通、考核和费用成本,从我个人经验来看,优先级从高到低依次是:

  1. 用人团队负责人直招:这个概率比较低,可能是对方 Team Leader 了解你或对你特别感兴趣的前提下,先面试后走流程
  2. 同事朋友内推:可以极大降低沟通成本,反馈比较及时
  3. 招聘 HR:直接在招聘网站上投递 HR 发布的职位,但时常「已读不回」,必须海投
  4. 猎头:成本变大,但资源较多

招聘平台方面,我认为目前来说比较好的平台还是 BOSS、脉脉,自己网投的方式需要采取海投战术,投递多家企业或同一家的多个岗位,这样才能提高获得面试机会的成功率。但我个人是比较不倾向于找猎头的,所以在这两次求职中都没有经过猎头投递,原因有如下:

  • 信息不对称:与 HR 直接交流更加高效和准确,消除中间传话
  • 费用问题:入职及试用期满后,需要支付给猎头「中介费」
  • 作用不大:猎头对于低职级的候选人似乎效果不明显

三、面试形式

这里不是想分享什么八股文资料或者算法刷题技巧,目前这些内容在网上比比皆是。而是想分享一下这次求职中的历程,并做一些总结,以及吸取的一些经验。

下面这张图是我将进入到面试历程的大约 20 家公司最后终止的流程类型,以饼图的形式进行展示:

值得一说的是,一面挂的这几家都是中小型公司,

  • 不深挖项目:基本就是让你自己阐述一遍项目就结束,或甚至不问,而是一直在问八股文,有的甚至问配置参数等(如 Spring Data Redis 的连接参数)
  • 不考察算法:以八股文的答题率作为通过的标准,而且由于不考察算法,多出来的 20 分钟都在考察八股文,总会遇到个人的知识盲区

相比于中小厂,大厂的一二面会综合考察项目的细节,并根据项目使用到的一些技术来延伸考察,以及通过算法来考察代码能力,或是一些行为类(Behavioural)的问题。这样的考核形式的反而在你充足准备的前提下,基本都能顺利地通过一二轮面试。

很多人包括之前我自己,都认为通过了一二轮基础和业务面后,三面大概率就能畅行无阻,在欢声笑语中迎来下一轮的 HRBP 面。其实不然,从我脉脉职言收集的信息以及我个人的经历来看,三面不通过的概率还是很大的

从面试人员来看,通常只有大厂会有三轮面试(排除 HR 面),一二轮(基础+业务面)的面试官可能是同组同事与直属 Leader,或是同组同事与同部门下的其他组同事(交叉面),而三面则都是总监级别的人物。从面试的内容来看,我总结了两点:

  1. 内容形式多变:与一二面考察基础和业务不同,面试形式不确定
    • 有深入了解业务或技术底层
    • 有啥也不问,看个人经历和眼缘的
    • 有正常面试(业务 + 算法),并且整体参考前两轮评价的
    • 有考验你对整个项目,甚至团队的大局观的
  2. 考察维度较广
    • 个人素质:是否具有独立思考的能力,如业务上的瓶颈、智力题
    • 整体能力:技术 + 业务 + 代码
    • 过往经验:项目 or 行业经历,是否参与过难度比较高的项目

综合上面提到的几点,所以在准备面试时,不仅需要保证基础内容足够扎实,同时也需要提高对业务的理解和思考

3.1 善于总结

最好对每一轮面试都录屏(考虑到存储成本也可以录音)。然后在面试完成后收集成「面经」(最好是在面试刚结束,过了一段时间可能就懒的再整理了),将不会的问题记录下来,很有可能下次就遇到相同的问题。

例如,下面是某中厂二面的面经,我会通过 ❓ 符号来标记答的不好的问题,并针对性地对这些问题查找资料,并记录下来:

3.2 多加练习

对于像自我介绍、项目介绍、HR 常见问题(离职原因、选择上家公司的原因)这类基本每次面试都一致的内容,最好事先写好然后反复朗读练习,做到脱口而出

尤其是项目介绍,可以以文字的方式先写下来,有序地去介绍一个项目的流程,包括:背景、解决的问题、具体的方案、效果、项目的难点和亮点。这样,在真正面试介绍项目时,不会思维混乱,减少卡壳的几率。

3.3 反向面试

基本每个面试官的最后一个问题都是:”你还有什么要问的我吗?“,即所谓的反文环节。这个环节中避免问以下与业务方无关的问题,如:

  • 公司福利和待遇
  • 薪资能有多少涨幅
  • 我这次面试的表现,你是如何评价的?

其实反问环节在面试中也是非常重要的一部分,它是我们能收集当前面试的岗位和所做的业务与其团队相关信息的最佳途径。我们可以适当问面试官几个问题,来帮助我们来了解岗位的信息,大致的方向有:

  1. 技术栈:目的在与了解是否需要转语言,公司的技术能力
    • 使用的开发语言?
    • 公司是否有自研框架和中间件、使用的技术是陈旧还是新颖?
  2. 所在部门和做的业务
    • 防止出现认知偏差,进去之后发现业务和自己想象的大相径庭
    • 业务的经营模式、体量、难点,是否有发展前景

另外,通过反问环节询问面试官所的业务时,从面试官给你解释的积极性和详细程度,其实就可以大致猜测到你这次的面试结果(但也不是绝对的):

  • 如果只是一两句就概括,说明意向不是很高
  • 如果详细地介绍整个业务细节和组织架构,说明对你还挺青睐

当然也可以问一下组织架构、产研比或一些你比较关注的一些内容,收集起来便于后序 Offer 对比时提供关键信息。这里推荐阅读 Github 上的 reverse-interview-zh 库,里边会有很多「反向面试」具体的相关问题。总之,需要好好利用这个环节,来提高你对面试岗位和公司的了解。

四、个人感受

当在一家公司待的足够时间长后,就会进入思维的舒适区,不想再做什么重大决定,不想开启一个新的东西。前面也提到,当你有想法逃离目前的状态时,却又假借「简历还没改好」、「还没开始刷题」、「还没准备好」等各种理由来让自己踟蹰不前。你要做的可能只是花上几个小时更新一下简历,尝试投一些公司获取到面试机会来迈出这困难的第一步。

如今的互联网大环境每况愈下,裁员风潮似乎波及每一家公司,寒气也随着这次隆冬蔓延着整个 IT 届,传递到了每一个人的身上。反而在这种环境下,需要时刻保持着居安思危的状态,如今似乎没有任何一家企业是绝对稳定的,只有保证自身足够的竞争力,才能脱颖而出,无所畏惧。而在求职的过程中,在这种僧多粥少的大环境下,很难再有过多的选择,在害怕失去的状态下,一直在做自己不喜欢事情的妥协。

我一直在想,如果有一天我当上面试官,我会考察候选人什么方面和维度的问题呢?当被源源不断的业务需求接踵而至,身心俱惫的状态下是否还能积极地思考应该从哪些角度去挖掘候选人呢?还是使用事先准备好的八股文题库,再加上随机抽选的一道 Leetcode medium 原题,综合候选人的准确度提交面试评价,就草草结束了呢?

最后,希望看到这边文章,在求职的你,能找到一份满意的工作。

总会找到更好的“,我在每次求职的低谷期,都是如此这般的安慰自己。