想写这篇文章很久了,一直没有时间,想着要写就写全面,所以拖了很久。找工作的确切准备时间是从2020年的7月初开始一直到2021年的5月底结束,时间跨度很长将近一年时间,但是其实也在我计划之中,因为太多东西需要从零开始准备,而且因为有很多事情没有经历过,属实也不知道怎么办,所以可以说一切都是摸着石头过河,有很多额外的精力损耗。从一开始探索该准备哪些技术内容、简历怎么写怎么投,到后来如何规划面试时间、各个面试环节有哪些坑,最后该怎么和HR谈薪、怎么选择Offer、怎么提离职等等,在这个过程中也没有特别完整的资料去告诉我整个链路该怎么做,都是自己走到哪一步了再七拼八凑的去了解,所在当这件事情快到尾声的时候我就想着有朝一日我入职新公司后能把这些经验教训都写下来,能够消除大家的信息差,毕竟这是我一直致力于想要做的事情。

前置参考

如果你和我的用户画像非常一致:211本硕毕业刚满两年、一直在小厂工作、没什么拿得出手的项目、技术语言主要是C#,Java只会基础,其它技术都停留在使用层面,算法在三年前校招求职的水平线上,想要寻求一份Java高级开发的大厂的工作,那准备时间大概是一年。如果情况有出入,可以依照下文的各个选项进行时间的增减。

核心指标

对于能够花时间改变的事情我依据个人情况提前说明。以下内容是花时间努力可以改变的且非常关键的内容,有的人可能比我花时间少,有的人可能比我花时间长,基准是我刚开始规划跳槽时的实力,也就是去年的7月初,

  • Java语言体系:C#,会Java基础,Web框架例如Spring体系不了解,JVM、集合、并发这些基本忘完了。如果你一直就在Java的完整技术栈上,那么你会比我花更少的时间
  • 数据结构和算法:只知道大概有哪些数据结构,至于算法从毕业之后就没再做过。水平都停留在三年前校招求职的水平,如果你平时经常刷算法题,那么你会比我花更少的时间
  • 数据存储:MySQL关系型数据库只会基本的SQL语句,索引、存储引擎等原理一概不知,如果你平时会关注一些MySQL性能或底层原理,那么你会比我花更少的时间
  • Redis:用Redis做过一个项目,基本操作会,但是集群没有进行过配置和使用,对于原理也不甚了解。如果你之前有使用过Redis的集群或学习过原理,那么你会比我花更少的时间
  • ElasticSearch(选做):用ES做过基本的检索,但是都是基础研发部门封装好的接口直接用,对于原理也不甚了解,如果你之前学习过ElasticSearch的原理,那么你会比我花更少的时间
  • Kafka:用Kafka接收过消息进行处理,但是使用很有限,都是基础研发部门封装好的接口直接用,对于原理也不甚了解,如果你之前学习过Kafka的原理,那么你会比我花更少的时间

至于每个模块我复习时具体花了多少时间,你可以从下文的时间规划里了解到。

参考指标

对于文章的受众依据我的个人情况提前进行如下说明,这些内容是不可变的但仅做参考的一些指标,熟知这些指标可以让你心里有底。

  • 教育背景:教育背景为本硕211。如果高于(985)那么在简历筛选环节和最终的HR环节可能会更有优势,如果低于则可能相对劣势一些
  • 工作背景:垂直领域独角兽小厂工作经历。如果高于(大厂)那么在简历筛选环节和最终的HR环节可能会更有优势,如果低于则可能相对劣势一些
  • 工作稳定性:连续三年工作经历。因为我只有一段工作经历,所以稳定性很高,如果持平那么在各个环节都占优势,如果3年内跳槽频繁那么可能相对劣势一些
  • 项目经历:项目经历简单,有长达一年的技术支持经历。因为我的项目经历简单,所以大多数人应该都会高于,如果高于那么在三次技术面试中更占优势。如果低于例如你连项目都没做过那么可能相对劣势一些
  • 语言使用:C#,会Java基础,Web框架例如Spring体系不了解。因为我没有接触Java的整个Web开发体系,所以大多数人应该都会高于,如果高于那么在三次技术面试中更占优势。如果低于例如连Java基础都不会那么可能相对劣势一些

以上的这些内容不会对你当时所处的环节有致命影响,只是作为一个参考,如果低于大家不要气馁,高于也没必要骄傲,最终看的还是真实实力,也就是核心指标里的内容。客观理性看待问题也是一个人的基本能力和素质。

目标规划

做一件事情之前先做好计划,这个属于我一贯作风,也就是定好目标,分解目标,做好时间规划,将目标分撒到时间线中,那么接下来只需要一步步执行,走完整个流程目标也就达成了。

跳槽原因

跳槽之前一定想清楚为什么要换工作,因为换工作的成本很大,如果自己都没想清楚,很有可能只是换个环境继续想如何跳槽,

  • 如果理由是:和同事相处不融洽,钱给的不到位,工作内容不喜欢等在别的公司也可能会经历的工作上的问题,要是能在公司内部通过和同事领导HR沟通就能解决的,就先别冲动离职
  • 如果理由是:需要换城市、家里需要照顾等家庭原因那么就无需考虑了

还有一类主要就是职业规划的原因,例如我。基于现状(C#工作机会少、项目经历简单、公司平台小)我一共给自己设定了四个宏观目标:

  • 完全切换为Java技术栈,完全拥抱Java生态,通过对市场的接触和C#招聘遇到的一些窘境,这是迫切需要改变的
  • 提升自己的项目经历和复杂度:技术为业务而服务,之前三年工作都是B端的业务,那么接下来的工作内容理应是B端的顺延,不频繁的换大方向才是持续成长之道,换言之业务要保持延续性
  • 切换到一个更大的平台和更为核心的部门,虽然当前的公司在垂直业务领域很强,是独角兽,但是日常能接触到的业务内容有限,反馈的链路比较长,工作内容横向但不纵深,继续在B端方向上前进需要找一个业务场景,最好是从0到1,历史负债少、容易出成果的方向去努力
  • 涨薪:当然工作就是养家糊口,涨薪也是必不可少的,涨薪是为了对抗机会成本的,不涨薪用爱发电么,在新的环境一定有一段时间新人阶段,这段时间很难出绩效,所以跳槽的涨幅就是一个保障。

一旦目标满足这四个条件,就可以进入备选,然后再从中精挑细选最为合适的,结合公司福利、团队氛围、领导能力和工作节奏去综合考虑最终确定。如果这些目标都达到了,同时也试探到了自己实力的上限也就不需要再面试了。

时间规划

这个是去年做的一份时间规划,除了算法题没有按计划刷完以及最后拿到offer没有休假以外,其它的基本都按计划完成了:

当然整个过程不能裸辞,裸辞的心理压力是巨大的,尤其是像我这种有房贷、房租double kill的人来说,社保可以自己可以缴倒不是问题,一直找不到工作而没有收入来源才是很恐怖的一件事,即使你有一定积蓄。

那么工作那么忙什么时候复习呢?我是这样规划的【早上8点到10点】,【晚上8点到11点】,休息日周末两天无休,累是累点儿,但是总得吃点儿苦。

记住如果你拉的战线特别长,你可能疲劳,觉得干脆裸辞算了,裸辞复习一天相当于工作复习五天多爽啊,但是如果不是实力特别强,最好别这么做,我在这个过程中有好几次裸辞想法,最后还是压抑住了,主要是衡量了自己的实力和风险承担能力。

准备工作

确定好想要换工作后就收集自己想去的目标岗位JD描述并上进行梳理,看看自己在哪些方面存在Gap,先把所有的Gap都列举出来,最好排列成一个技能树,看看自己哪些技能树上的节点已经点亮,哪些尚未点亮需要去弥补的,我当时罗列的如下:

确定好技能Gap后依据自己的掌握程度和重要性做优先级的划分,整理一个思维导图进行优先级to do list规划:


这些准备工作做完后就可以进行具体的学习了。

理论基础

理论基础也就是大家通常俗称的八股文,我主要准备Java相关的内容,因为之前在研究生的时候使用的企业级框架是SSH早就过时了,所以这次也没有准备框架,主要准备了基础。依照我一贯的学习方式,没有按照应试的方式去准备,而是按照学习的方式去准备,这样做的好处是理解的更加透彻,不足之处也很明显,就是比较消耗时间。我准备的内容列表如下:

  • Java SE核心基础语言特性、基本语法和运算符、面向对象思想(封装、继承、多态)、Object类的常见方法、String类、装箱与拆箱、异常处理、IO流、反射、泛型、序列化,这部分内容是我依据自己之前的专栏体系重新整理和学习完成的。
  • Java集合框架Java的集合类,主要是HashMap的原理结构,非常重要,这个专栏实际只有两篇Blog,大多数面试只问HashMap的源码。这部分内容是我从各个渠道学习加上看源码整理和学习完成的。
  • Java并发编程并发和并行、JMM内存模型、原子性、有序性以及可见性如何实现、Synchronized与Volatile、进程与线程、Java多线程模型、线程生命周期、线程安全实现方式(乐观锁、悲观锁、无锁ThreadLocal)、JUC下的锁(Reentrantlock和AQS模板)、Java线程池、JUC下的工具类、JUC下的原子类,这部分内容是我系统的看完《Java并发编程的艺术》这本书再加上一些Blog学习整理完成的。
  • Java虚拟机Java程序执行全流程、Java编译过程、字节码Class文件结构、虚拟机类加载机制、JVM运行时数据区域、虚拟机字节码执行机制、JVM垃圾回收机制。这部分是我看了《深入理解Java虚拟机》这本书再加上自己研究生之前的积累边学边整理这个专栏实现的。
  • Java版数据结构与算法算法的时空复杂度、数组、链表、队列、栈、堆、树、常见的相关算法题,这部分是学习《极客时间-数据结构与算法之美》完成的,学习了但没有完全学习完,就看了前几章,但是这个讲的挺好,尤其是时间和空间复杂度部分。
  • MySQL原理MySQL架构及执行流程、数据库存储引擎、MySQL日志系统、数据库索引结构、数据库事务机制(隔离级别和MVCC)、MySQL锁机制、数据库拆分方式,这部分我是通过学习《极客时间-MySQL实战45讲》完成的,这个也只学了基础的前8讲,面试其实也够用了。
  • 计算机网络五层架构体系、物理层、数据链路层(ARP地址解析)、网络层(路由转发协议)、传输层(三次握手和四次挥手、滑动窗口和拥塞控制)、应用层(DNS解析)、浏览器中输入一个url的执行流程,这部分因为我读研时候上过课,在校招时也整理过,所以这次相当于又重新整理了一遍专栏完成的。
  • Redis核心原理五种基本数据结构、缓存一致性如何保证、集群cluster模式、数据持久化策略、数据删除策略、缓存穿透、雪崩和击穿、布隆过滤器、Redis为什么高性能、Redis的分布式锁如何实现,这部分我是看黑马教程自学的,并写了这个专栏。
  • Kafka核心原理Kafka框架组成和工作流程、Kafka存储机制、Kafka故障转移机制、Kafka高可用原因、Kafka如何保证全局有序性、Kafka消费模式,这部分我是看黑马教程自学的,并写了这个专栏。
  • ElasticSearch核心原理ES的底层结构和工作流程、ES的存储机制、ES的集群及ES的脑裂现象、ES的选举机制、ES的分段机制和延迟写策略、ES的常见DSL查询语句,这部分我是看黑马教程自学的,并写了这个专栏。

当然如果你不需要仔细的看一遍全部内容,因为我还单独罗列了一个问答形式的专栏,这个专栏是面试常见的一些问题归纳,每篇文章都以问答形式罗列,每篇文章对应上述的一个专栏,是上述专栏的一个精华总结版,对应上边的十个专栏,本专栏一共有十篇blog,如果你有一定基础直接学习这个专栏即可:

  • 常见面试问题及原理汇总:共十篇blog,将上述Java SE、Java框架、Java虚拟机、Java并发编程、Java版算法和数据结构、MySQL、计算机网络、Redis、kafka、ElasticSearch每个专栏结合面试遇到的问题以问答的形式独立整理。

有一点遗憾是没有好好学习完操作系统,操作系统在社招面试里问的不多,但是感觉学起来很爽,因为软件就是基于操作系统的,学习操作系统很多别的知识都能理解通透,之后有时间还是会好好看看这部分内容的,这部分我是看了《王道考研403》。

我觉得此次入职后还是要拥抱生态的,最新的SSM、Spring Boot以及Spring Cloud体系知识也是需要了解的,当然这部分我还没有深入学习,只是画出了一个内容流程图,还待之后深入学习和补充,专栏的位置已经预留好了,节奏的去学习就可以了。

算法练习

算法练习也是必不可少的,俗称刷题,通过面试了包括不限于小米、滴滴、快手、美团、阿里、贝壳、电子云、高途、爱奇艺、快看、神策、老虎、头条、小红书、MetaApp、天眼查等N家公司,发现可以这么进行分类:

  • 算法难的:头条视部门而定,难的Hard,简单的也要Mid,【看重技术基础知识的公司】
  • 算法中等的:美团、滴滴、快手、阿里、高途、爱奇艺、贝壳,当然这几家也要视部门而定,不过大多数都是,难的Mid,简单的只要Easy,【规模大重视实践知识的公司】
  • 算法简单的:MetaApp、神策、小红书、天眼查,就只要Eazy即可,【规模偏小的公司】
  • 不考算法的:电子云【国央企类型的公司】

当然这个不做为标准答案,因为和面试的具体部门也有关,总体感受而言,80%的公司出的算法难度都不会超过Mid,依据二八原则,只要把大部分精力投入到中等及以下的题目难度即可,同时可以尝试做几个经典的动态规划的Hard,有个大致印象即可。

刷题我最初选择的是LeetCode,甚至还专门充值了3个月的会员,不过毫无意外的白费了这笔钱,后来面试次数多了发现很多公司都是通过牛客网进行面试的,给出的题目也有很多是直接从牛客网甩出来的,然后调研了一番,发现牛客有个专门做统计的刷题利器,牛客刷题站点,这里的题目出现的都比较高频,推荐大家梳理完数据结构后,按照【研发最爱考】从上到下的刷,反正反转链表这题我在实际面试过程中也确实没少见过。

项目整合

当然在准备理论基础和算法练习的同时,还需要回顾下这几年在公司里做了什么,整理一下自己的项目,挑一到两个较为核心的列举到简历上,如果只是参与的但非常熟悉实现和业务逻辑也可以描述为自己为主要负责人之一。列举秉持如下原则:

  1. 项目背景:为什么要做这个项目,项目解决什么问题
  2. 项目实现:项目通过什么技术手段和业务逻辑实现,你在里面负责哪部分具体内容
  3. 项目难点:项目的主要难点有哪些,你是怎么解决的
  4. 项目价值:项目最后产出的价值是什么,例如获得了什么奖项,得到了什么认可

虽然涉及方面比较多,但是语言力求精简,因为描述项目的目的是为了让面试官据此和你聊,而不是通过简历让他看明白,说白了就是话题引子,如果你足够聪明,可以把想让面试官问到的技术点描述到项目里,这样引导他提问就不会做到措手不及了,因为无论如何你对各个技术掌握程度一定不同,尽量埋自己熟系的东西把问题引导过来是一种不错的技巧。

简历投递

简历投递是第一步,当你把技术的内容准备完成之后,就要开始投递简历寻找机会了,简历投递这部分重点包括:排版优秀简历、简历投递目标,简历投递渠道

排版优秀简历

一份优秀的简历我理解一定是短平快,简历最好是一页A4纸,不是亮点的不要写,不要有多余的废话,这里给出一个模版,大家可以参考下:

总结一句话就是废话少说。换位思考,如果一堆简历给到HR,他当然想快速结构看亮点。

简历投递目标

其实投递目标分阶段也分人,不同实力所处不同环境的人开局模式是不同的,按照你当前的角色去做正确的选择:

  • 如果你实力不错一开始就在大厂,那么直接大厂开面就行了,但是还是要从自己不想去的部门开始。
  • 如果你和我一样实力一般且目前在小厂,那么可以先从小厂(1000人左右规模)面起来练手。

需要注意的是:别从太小的厂(500人以下规模)开始,没有意义

  • 北京的互联网公司真的很多,一般的中小厂都面不过来,从太小的开始会耗光你的精力,因为面试真的很累,尤其是在在职的状态下就更没有时间准备了。
  • 太小的厂往往要求你直接干活,所以问的问题也会和准备方向大相径庭,尤其是我这种项目经验缺乏的人

节奏最好是这样,挑两家中厂(垂直领域top)同时开始面,面的差不多到了该准备三面的时候就开始投递一些大厂。依据个人经验,一般只要到了三面,除非你前两面发挥很一般或者情商低,三面没有过不了的,为了能用到小厂的offer argue大厂的offer,要保证小厂的offer到的时候,大厂面的也差不多了才行,否则等小厂面完,再去投大厂,小厂的offer也过期了

简历投递渠道

投递渠道有三种,内部推荐、BOSS直聘和猎头推荐,这三种方式各有优劣,需要依据你自身情况做优先级决定,当然这三种方式也可以同时进行,总体而言还是首推内部推荐。

内部推荐

内部推荐的好处是目标公司的人比较熟悉当前公司各个部门有哪些坑,哪些业务发展好,甚至哪些领导pua。这样在投递之前就能避免投一些没必要的岗位来减少精力的损耗,否则等你面的后期才发现不合适又因为沉没成本不舍得放弃岂不悔之晚矣。所以最好找内部推荐。

内推又要优先找自己认识的人,最好是自己的同学朋友,因为只有他们才会牺牲部分生活工作时间给你认真挑选一些岗位,毕竟你们有关系在,他也不能坑你。实在没有这类资源再从网上,例如牛客网、脉脉等社区去找一些发布内推帖子的同学来内推,对于这类想赚内推费的朋友也最好是先问清楚自己一些想问的情况再给简历,换位思考,互不认识,你又老缠着我工作生活时间问很多问题,我拿到简历目的达成后肯定就不会花那么多时间和你沟通呀,当然靠谱的人除外。

BOSS直聘

如果你已经经历过社招,有一定的经验,并且长期混迹在脉脉,了解各大公司各个部门的实际情况,并且有自己比较心仪的目标了,那么可以选择BOSS直聘来进行投递,投递前需要做三件事:

  1. 设置自己的在线简历,在BOSS上添加完善自己的在线简历
  2. 上传自己的附件简历,一般招聘者是通过附件简历看更详细的信息并录入他们的招聘系统
  3. 修改自己的求职意向,调整为:在职-考虑机会

还要进行一项设置,也就是如下图所示的隐私设置:


这样就开启BOSS招聘的简历投递了。

猎头推荐

猎头推荐有利有弊,总体而言,找个靠谱猎头能大大减少你的踩坑次数,找个不靠谱的很有可能打乱你的求职节奏,好处有这么几点:

  1. 猎头对一些部门和岗位比较熟悉,再和你当前的经历结合,给你推荐的都是比较合适靠谱的岗位,而且一些周末专场的面试一般只有猎头有渠道知道
  2. 在整个环节中他会主动push流程往下走,当你萌生退意的时候会给些鼓励,毕竟他希望你能面试成功他能拿到钱。
  3. 对于社招小白来说,找个靠谱的猎头会让你少趟很多坑,从简历修改到投递到谈薪阶段甚至离职申请,因为你没经历过,所以什么都不懂,很容易踩坑里,这个时候有个经验丰富的猎头带着你就很好了。

弊端也是显而易见的:

  1. 有些岗位是不开放给猎头的,这类岗位他是推不了的,如果你自己不主动去发现,那么有些比较好的岗位可能就错过了。
  2. 如果遇到不靠谱不专业的猎头,那么很有可能会发生拿到简历给你到处去占坑乱投、上班时间毫无预料的打电话给你这些现象

我就是找了靠谱猎头投的,所以环节上少踩了很多坑,靠谱猎头最好通过口口相传、熟人推荐得来。

面试流程

好的,简历投出去了,那么就要开始面试了,在这个环节有几个大块需要注意:面试时间安排,面试重点问的内容和形式以及面试注意事项。这部分我会聊些抽象的方式不会谈具体哪家公司问什么(也就是面经),面经这个东西,大家可以从Java程序员面试指南获取。

面试时间安排

面试的时间一般可以这么约,在一个offer都没有的时候,先苟着。面试时间大致可以分为三块:

  • 工作日中午和晚上面试:大多数互联网大厂都会接受在中午午休【13点-14点】以及下午的【18点-20点】之间进行面试的,个别的例如字节,甚至可以接受晚上21点面试。当然这样节奏就比较慢,一天最多也就一面,而且还需要在工作场所找面试的会议室,搞不好会被发现,除非住的离家近提前早点下班。
  • 工作日请假面试:自己安排出一天来,从上午10点到晚上21点可以密集安排5场面试【10点-11点,12点-13点,14点-15点,16点-17点,18点-19点,20点-21点】,这样的好处是效率非常高,一天顶五天,缺点就是累的要死,我经历过两三次这样的场景,口干舌燥,真的累的要死。
  • 周末专场面试:可以通过猎头或者自己去搜集下这类信息,周末专场的招聘一般集中在【金三银四】这两个月,好处是到一家公司一天内可以从头面到尾,快的当天可以拿offer。缺点就是需要很快对这家公司做决定,可能影响整体的选择,总之太快拿offer也不是件好事儿,尤其是当你想比较几个offer的时候,你就得保证这几家公司面试节奏比较同步。

当你有了一个offer的时候就可以提离职了,离职交接一个月左右,这一个月把年假都修完,可以痛痛快快的密集安排一波面试,效率非常高。

面试准备内容

面试一般分为三轮技术面和一轮HR面,每轮面试的侧重点都不同,每轮面试面对的面试官角色也不同,大致是这样的:

  1. 第一轮技术面:在本轮面试你面对的面试官一般为部门较资深开发,可能是之后的menter,在这轮技术面试中侧重点为理论基础和算法,当然项目也会问一些,一般情况下不超过1小时:

    • 首先会让你挑一个自己最拿手的项目介绍一下,就其中的技术点进行提问,主要目的就是看看项目是不是你自己做的,实践了多少,同时引出一些技术点进行提问。这部分交流的时间大概为【20min】左右。
    • 其次会就你简历里的写的技术栈列表,例如语言基础,数据库原理,分布式中间件等项目里没有涉及到的知识点进行提问,主要目的就是考察你的语言和技术基础,能不能用好这些开发工具。这部分交流时间大概也是【20min】左右
    • 最后会出一道算法题,主要目的是考察逻辑思维。如果你前面答的很好,业务比较match,那么这道算法题大概率会放水,难度不超过mid,如果你想不出来甚至会让你换一题,再想不出来甚至说下思路就可以了。反之如果你前面答的一般,那么会通过出个难的算法要求运行通过来卡掉你。这部分时间也大概在【20min】左右
  2. 第二轮技术面:在本轮面试你面对的面试官一般为部门某一块业务的负责人,可以理解为你要虚线回报的leader,在这轮技术面试中侧重点为项目、业务和场景题,一般也会有一道算法题,一般情况下不超过1小时:

    • 首先还是会让你挑一个自己最拿手的项目介绍一下,就其中的技术点进行提问,同时也随便聊下你其它的一些技术点,这部分交流的时间大概为【20min】左右,主要目的就是验证第一轮技术面的结论。
    • 其次可能会问你对公司业务,考察你对公司业务的理解深度或者出一个场景题,很开放的场景题,没有正确答案,随便回答,主要目的就是探探你技术的底,对技术的真实理解程度,看看基础知识是不是纯背的。
    • 最后会出一道算法题,和一面的情况一样,如果你前面答的好,会放水,答不好会通过这个卡掉,因为用客观内容卡人对谁都好做交代。这部分时间也大概在【20min】左右
  3. 第三轮技术面:在本轮面试你面对的面试官一般为部门老大,对于扁平化的组织来说可以理解为你要直线汇报的leader。在这轮技术面试中侧重点为业务理解和个人智商情商考察,一般情况下不超过0.5小时。

    • 部门老大一般都不参与具体的业务实现内容,而且前两轮已经对基础有了深度考察了,所以这一轮老大比较关心你有没有基本的做事逻辑,能不能快速融入团队,优势是什么,能带给团队哪些价值。没有特殊应对方式,表现的积极一些真诚一些即可。
    • 反问环节可以问问对部门的规划,业务的宏观发展方向。
  4. HRBP面试:本轮面试一般为部门的HRBP,这轮面试一般不会用到电脑,都是电话面试,一般不超过0.5小时

    • 主要聊聊兴趣爱好,平时怎么学习的,手上有什么offer,哪个学校毕业的,上家公司的绩效,上家公司的职级,当前薪资是多少,期望薪资是多少,最快多久能到岗,职业规划是什么,为什么要跳槽,对我们公司有什么了解,主要目的就是了解下你是否有基本沟通能力和你求职的诉求,判断下你的稳定性和多大程度的薪资能cover住你的期望。
    • 反问环节可以问问晋升、调薪等核心问题
  5. 薪资HR对接:完成了以上四轮面试,就是薪资HR对接,大点儿的公司一般会有独立的薪资HR进行对接,这块就是你绝佳的细节反问环节,大概也是不超过1小时:

    • 主要聊的就是薪资,给出的薪资方案、职级是否满意,愿不愿意接受offer,有无竞业限制。
    • 反问环节可以问很多问题,一些你想知道但最好不要在技术面问的一些问题,例如:公司福利、工作节奏、生产力工具、薪资组成等等,以我的经验,一般过了二面,只要智商情商在线,没有什么稳定性或者竞业等大毛病,基本offer就到手了,所以不要不敢问,不要担心说错话。

对接完以上这几轮面试和谈薪,一个公司的面试流程就走完了。

面试注意事项

还有以下几点需要让大家知道,这些常见问题就不用大家再四处搜罗去找答案了,这几点可以说是我亲身经历趟出来的坑或者一些经验

  • 关于面试约时间:面试多久后才能收到通知呢?

    • 如果本轮面试表现的都非常好,面试官会比较急切的当场通知你有下一轮面试,即使由于规定不能不当场通知,也会让HR尽快联系你下一面,一般不超过2个小时
    • 如果你表现的比较一般那么通知优先级就比较低了,第二天你问的时候才会通知你过了;
    • 如果你直接被paas了那么可能连通知都没有。
  • 关于面试后的体验调查问卷:很多同学收到调查问卷后都很慌,收到问卷是不是表明流程结束了?

    • 调查问卷就真的是调查问卷,我面了很多公司,调查问卷真的和面试结果不挂钩,甚至有些公司每轮面试后都发调查问卷,所以无需担心。
  • 关于反复投递同一家公司

    • 挂了还能被捞起来么,分情况,如果一面挂了面评也不好那么比较难捞,如果一面过了,基本都能捞起来。
    • 同一家公司的不同部门能同时进行么:我这里了解到的是必须走完一个流程再走另一个,不能同时进行
  • 关于技术面整体注意事项:在技术面试的时候有几点还是需要注意下

    • 不会的问题直接说不会或者没了解过,不要支支吾吾乱说,可能会给自己埋坑里面,不熟悉的知识点可以尽量说自己知道的确切的,模糊的就不要提起了,否则会给自己埋坑里面
    • 回答问题前先整理下思路,有逻辑的说出来,不要想到什么说什么,乱说一通
    • 自我介绍的时候2分钟左右简单一些即可:我什么时候哪个学校哪个专业毕业的;什么时候在哪儿工作的,具体干的事儿是什么;掌握的技术栈是什么,自己熟悉的技术在自我介绍时着重强调一下,做引导。
  • 关于技术一二面反问环节,这个地方由于可问的问题很多,罗列下:

    • 千万不要问你觉得我本轮表现的如何,这个显而易见的就是要答案,提前知道一个不会改变的结果其实没有意义
    • 千万不要和技术面试官谈论薪资,至少不要和一面二面聊,如果他们被倒挂了会很伤心,即使没有被倒挂也知道了你的底,这对你而言没有好处
    • 千万不要问加不加班,平时工作节奏如何,如果他们想说会告诉你,不想说问了也是白问。这些问题最好留到HR环节问
    • 最好问问技术栈和具体负责的业务以及团队规模等等,这样能让你直接明确业务是不是match,团队是不是核心,技术栈是不是匹配。
  • 关于HRBP聊薪资:这个地方也是有些技巧和坑

    • 对方问你期望的时候别说死了,告诉HR可以依据自己的面试表现给出,如果非要给出一个,那么可以报一个30%—40%左右的涨幅,因为跳槽有机会成本,低于30%没有意义,高于40%很多公司又很难给到,当然除非你当前的base和市场非常不match,那么涨幅可以要更高。
    • 别不敢要,一般公司不会因为一锤子薪资卡掉你,一般会有几个回合进行沟通的。
  • 关于晋升调薪:窗口期很重要,别错过

    • 你入职的第一年如果没有普调而你又刚好错过了窗口期,那么很不幸,你可能要等将近两年才能参与晋升和调薪了。例如窗口期是4月,你5月入职,2022年5月你有资格参与但错过了窗口期,只能等2023年了。当然如果公司有些补充政策解决这个问题也可以,但是还是要问清楚

好了以上啊就是一些注意事项,想到哪些,我再补充到Blog里来。

Offer选择

好了,非常开心,已经拿到了几个Offer了,这个时候就要进行Offer选择了,关于选择Offer这块主要有两部分内容:选择合适的Offer,体面的拒绝不合适的Offer。

选择合适Offer

什么是合适的offer,合适的offer就是契合你目标的offer,还记得本文开头聊的目标么,我们再来回顾下这些目标形成闭环:

  • 完全切换为Java技术栈,完全的拥抱Java生态,通过对市场的接触和C#招聘遇到的一些窘境,这是迫切需要改变的一点
  • 提升自己的项目经历和复杂度:技术为业务而服务,之前三年工作都是B端的业务,那么接下来的工作内容理应继续是B端的顺延,不频繁的换大方向才是持续成长之道,换言之业务要保持延续性
  • 切换到一个更大的平台和更为核心的部门,虽然当前的公司在垂直业务领域很强,是独角兽,但是日常能接触到的业务内容有限,反馈的链路比较长,工作内容横向但不纵深,继续在B端方向上前进需要找一个业务场景,最好是从0到1,历史负债少、容易出成果的方向去努力
  • 涨薪:当然工作就是养家糊口,涨薪也是必不可少的,涨薪是为了对抗机会成本的,不涨薪用爱发电么,在新的环境一定有一段时间上手阶段,这段时间很难出绩效。

每个人都有自己的职业规划和求职目标,你的可能和我的不同,如果目标契合之后我们再讨论一些细节:

  • 公司福利:五险一金是否足额缴纳缴交基数是否为足额工资,年假、福利假和带薪病假有多少,有补充的商业险和年度体检么,有食堂么三餐是否免费,试用期是全薪么,入职后的培训机制及新人有保护机制么,考勤制度是否灵活,团建经费和频率,职级职等,晋升机制和窗口期,绩效分布比例,普调机制和窗口期
  • 团队氛围:在以上的四轮面试中不光是面试官考察你,你也在考察面试官,从一面二面的态度语气和逻辑可以判断出这个团队的氛围如何,值不值得加入;从三面聊天过程中可以判断这个团队老大的风格,是压迫型的还是循循善诱型的;从和HRBP的聊天过程中可以判断这个公司是怎样的,刻板的不尊重人的还是平等有活力的。
  • 领导能力:最好加上二面甚至三面领导的微信,和他们聊聊具体做的事情,你过去后具体做哪块业务,规划是什么,同时如果能知道领导的名字,从脉脉上提前看下他们履历,从各种渠道了解下这几个人,看他们的发展速度。
  • 工作节奏:是否双休,如果大小周那么加班费怎么算,单倍还是双倍,加班费合并计税么。工作日一般工作节奏如何。

ok,基于这些讨论相信你能大概划定出一个范围了,再具体一点可以结合公司办公地点和自己住的地方的距离等生活问题进行选择。

体面拒绝Offer

既然有选择就有舍弃,对于自己比较后不想去的公司offer该如何体面的拒绝呢?毕竟这行很窄,很有可能再相见,不要把关系搞僵也是一个人情商的体现。

  • 提前一周通知HR:在拿到一个口头offer后往后拖两天做决定,做决定时再把确定入职时间的尽量往后拖三周左右,这样你的决策周期会更长,如果决定不去了可以提前入职一周前和HR沟通下,这样不至于打乱他们的招聘节奏,克服不好意思的心理,越早提对双方越好。
  • 微信长文告知:之前在脉脉上看到有HR说一看到候选人发了一大段文字过来心就凉半截,大概率是不来了,但是也会理解。尽量真诚一些表达:贵公司挺好的但是由于职业规划我去不了了,在整个沟通环节感谢耐心解答,希望之后有机会合作blabla,尽量委婉有情商一些,相信HR小姐姐虽然难受也能理解。

如果确定了不去了(公司改变不了的理由例如大小周,没食堂)拒绝理由可以虚一些,如果是因为具体可改变的原因(例如薪资感觉不到位)可以体现出来,没准还能谈,虽然希望比较渺茫,一般电子offer发了就很难改了,除非特别想要你。

离职申请

好了,有offer到手了,那么就可以提离职申请了,这个时候有很多坑在里面,分为两个部分讲吧:离职申请怎么提,离职访谈怎么做。

离职申请怎么提

如果你和我一样,和leader关系特别好,和团队小伙伴相处也特别好,而且团队正值用人之际的时候,相信你也会很难办,这件事我处理的不是特别好,反思了下总结在这里希望你能处理好,提离职最好发生在【第一个口头offer拿到】心里有底后:

  1. 时间选择:提前一周私下和自己的直属leader沟通下,告诉自己的想要离职的想法,让他有个思想准备,这点我做的特别不好。提离职时选在周五晚上发邮件给直属领导和部门老大,这样他们能有周末两天的时间去消化这个消息并且规划接下来的用人方案以及想好该怎么和你聊。
  2. 邮件内容:回顾下和兄弟们并肩作战的岁月,感谢下领导和团队;告知自己为什么要离职(宏观一些),不要吐槽,现状他们比你更清楚,留着窗户纸;把交接的内容总结在一个文档里;列举未完成事项并告知自己一定会完成。

因为我和领导关系都特别好,对公司也很有感情,所以提完申请后一起吃了两顿饭,后续的交接事情也都很顺利,还是那句话圈子很小,大家都真诚点儿日后好相见。至于网上说的不要和自己领导说自己的下家什么的,我觉得具体情况具体分析吧,看关系处的怎么样,我就都说了没所谓。

离职访谈怎么做

离职访谈是和HRBP做的,和她的接触当然不会和自己部门领导那么多了,而且她是会背指标的,如果你是核心人才,是绝对不想让你走的,离职访谈会问这几个问题:

  • 为什么要走:先说虚的,职业规划,实在不行再说实的,但也别具体,具体了对方就能见招拆招了,当然如果真的拆招能满足你诉求,也可以提。
  • 现有团队哪些地方不满意:即使真有也千万别说,原因不具体展开。
  • 调岗可以么:如果公司确实有想去的岗位而且公司也确实三观比较正其实是可以考虑的,并不是网上所说的一杆子打死:开弓没有回头箭。
  • 加薪可以么:一般加薪幅度不会有跳槽大,但是看你的具体目标,外边有机会成本。综合考量吧,就像我加薪是优先级最低的目标,当然不可以。

离职访谈做完后大头兵没有竞业就无所谓了,确定好最后工作日,修完自己的剩余假期去面试或玩儿都可以。

入职报到

好的,你已经确定好心仪的公司了,那么可以去报道了,这个环节基本没什么坑,比较随意,需要注意的有两部分:入职社保缴纳、新人快速融入。

入职社保缴纳

入职为了不让社保断缴一般是选择在每个月的15号以后离职,下个月的15号前入职,当然我说的是北京,公积金等同理。嗨,有这么长时间的窗口期我居然没有申请晚点儿入职出去玩儿玩儿,和校招毕业时一样浪费了。

新人快速融入

这部分因人而异了,就是看你情商了,到了新环境保持不卑不亢,多参与社团活动,和大家一起吃饭散步闲聊,好像也没有别的要叮嘱的了,再就是好好表现。

以上就是整个过程了,行文至此,有些疲惫了,希望对大家能有帮助吧,有未尽事宜我会随时补充,大家可以提问题,如果我知道我就会把回答补充到Blog中 —————————2021年6月20日于北京

【生活工作经验 四】互联网社招求职攻略相关推荐

  1. 2019秋招求职攻略

    2019秋招求职攻略 按照顺序进行学习,并保持在线编程模拟的频率,根据做题及时的补充知识点 需要掌握的技能 一.机器学习算法 有监督学习算法 1.1 线性模型 1.2 支持向量机 1.3 贝叶斯分类器 ...

  2. 推荐Datawhale整理的秋招求职攻略

    秋招变夏招,还没准备好?Datawhale团队成员offer收割机牵头,带领14名成员历时2个月,整理了一份机器学习算法工程师求职面经:Daily-interview.一份小而美的面经助您备战秋招,夏 ...

  3. 秋招启动,送给2021届同学的最强求职攻略

    秋招启动,送给2021届同学的最强求职攻略 2020年,对于即将参加秋季校园招聘会的大学生可能是特别特别困难的一年. 我们可以看到自2月份以来的一些现象-- 2020年应届大学毕业生874万,相较去年 ...

  4. Interview:Java岗位面试—面试求职攻略之一个JAVA程序员面试心得(非常值得收藏)

    Interview:Java岗位面试-面试求职攻略之一个JAVA程序员面试心得(非常值得收藏) 导读 据网上资料显示:2018年互联网行业是寒冬,其他行业日子也不好过.各个互联网大厂纷纷缩招减员,严格 ...

  5. 史上最全2019届秋招备战攻略

    2017秋季校园招聘笔经面经专题汇总 转眼间已是六月!19届同学们的最后一个暑假即将到来! 但是,与以往的暑假不同, 在这个暑假中,你们会遇到高考之后第二个人生转折点!! 秋招来了! 相信有一部分早鸟 ...

  6. 应届毕业生网上求职攻略

    应届毕业生网上求职攻略 今年是高校大规模扩招后的本科生毕业就业的第3年,毕业生数量在去年"洪峰"的 基础上持续增长,全国高校应届毕业生达328万人.在赶各种招聘会场子以外,临近毕业 ...

  7. [老齐的求职攻略] 第七章 外包求职攻略

    第七章 外包求职攻略 什么是外包? 所谓"外包",白话就是甲方"委托方"将工作或任务交给乙方"实施方"完成的合作方式,成为外包.在中国软件业 ...

  8. 软件测试求职攻略第三季:面试篇【乐搏TestPRO】 乐搏软件测试

    作为曾经的测试总监,在面试上我觉得是可以聊一聊这个话题.首先买个关子,如果你是面试官,你希望招一个什么样的人进来?如果这个问题搞明白了,那么可以说测试岗位的面试,就变得非常轻松了. 面试常规流程一般分 ...

  9. Github获星99k的Java面试八股文,最全秋招面试攻略

    Github获星99k的Java面试八股文,最全秋招面试攻略 2020年我凭借一份<Java面试核心知识点>成功拿下了阿里.字节.小米等大厂的offer,两年的时间,为了完成我给自己立的f ...

最新文章

  1. ThinkPHP基础概念
  2. Visual C#实现HTTP代理服务程序
  3. 面象对象设计6大原则之六:迪米特原则
  4. 表单项标签的input标签的单选框(radio)
  5. HTTP协议简介_请求消息/请求数据包/请求报文_响应消息/响应数据包/响应报文
  6. mysql alter 唯一键_MySQL列属性 之 唯一键
  7. C#LeetCode刷题之#641-设计循环双端队列(Design Circular Deque)
  8. WebGL学习笔记(二)
  9. huffman编码——原理与实现
  10. c语言计算火车的运行时间_C++火车入轨算法的实现代码
  11. 单向链表和双向链表区别_双向链表
  12. scala实现数值类型加法
  13. 特征点法光流法直接法
  14. 自己写了一个小小的双色球号码随机生成器
  15. 怎么检测硬盘是否有坏道
  16. 飞秋怎么搜索指定ip好友_飞秋怎么加好友
  17. NANDFLASH与PSRAM
  18. Failed to execute goal org.apache.maven.plugins:maven-checkstyle-plugin:2.17:check (checkstyle-vali
  19. XIB总结(代码加载xib或xib拖xib)
  20. 2019-12-24

热门文章

  1. TUTK海外部分双卡手机视频卡顿问题排查过程
  2. [VBA]字符转换代码:全角转半角,平假名转片假名,首字母大写
  3. 配置文件详解+AlertManager微信邮件告警配置
  4. 多关键字排序问题-瑞神打牌
  5. Cache Maintenance-通过set/way对cache进行clean和invalidate操作-汇编代码详解
  6. 从物理学到天文学,科学界正在被人工智能改变
  7. iOS9中实现微信分享到好友、朋友圈
  8. 记录可控硅控制电路不能完全关闭的问题解决
  9. 认识SOS(SYSTEM OF SYSTEMS)概念
  10. 领导力来自天赋?还是学习?