分类
招聘

从招聘方的角度理解求职

0. 起因

前些日子,有位同学找我咨询求职问题。他本科专业其实不错,但是第一份工作没找好,所以只好报了家培训班,想社招之路走得更稳一些。结业之前,他担心培训班就业辅导不够,也找了几位外部导师帮忙。其中就包括我。

熟悉我的人都知道,我比较反对报培训班,因为:

  1. 性价比太低。
  2. 培训班里真正有实战经验的很少,大部分都是纸上谈兵。

这次咨询也基本印证了我的观点。所以我想再分享一下,到底招聘方的情况是怎样的,他们有哪些需求,准备简历的时候应该注意什么,面试的时候又应该注意什么。

1. 企业要招人

1.0 产生需求

某天,老板想做个产品。我们假设公司里已经有靠谱的技术团队和技术管理,那么,技术主管很快就会梳理需求,落实到岗位和个人,如果他发现,目前的人力无法应对满足需求,就会启动招聘。

1.1 产生岗位描述(JD)

岗位描述(简称 JD),即这个岗位职责是什么、需要哪些职业技能、工作地点和福利待遇等,是招聘前必须准备好的物料。

产品确定、需求确定,所以岗位需求和岗位职责基本也是确定的。此时技术主管一般会找来以前的 JD,改一改职责和需求,完成新的 JD。然后 ta 会把 JD 发给招聘负责人(多半是 HR),上传到招聘网站、开发者社区、公司招聘库等等。

比如 OpenResty Inc. 招聘前端工程师 就是一份很典型的 JD。

1.2 筛简历

一段时间后,HR、技术主管会从各种渠道获得一大批简历。于是他们就要从这一大堆简历快速筛选出能满足岗位需要的候选人。

怎么筛呢?一般是关键词。拿我某项工作来举例,我当时负责开发的 Showman 产品,是浏览器插件,界面部分采用 Vue,需要兼容 Puppeteer API。那么在我招聘的时候,就会很重视候选人这几方面的经历。因为匹配度越高,他能顺利接手工作、快速度过适应期的可能性就越大。

找到关键词之后,HR 可能会接受简历,转发给岗位负责人,即初筛。而岗位负责人则会结合候选人的教育经历、职业经理、项目经验等,判断这些关键词的可靠性与含金量,最终再筛选出其中最合适的一些人进入面试环节。

1.3 面试

招聘方从成百上千的简历中筛选出了若干的“看起来”比较合适的候选人,接下来,就要约过来面试聊聊,看看哪些人真正合适。

面试的过程,其实是验证简历的过程。张三简历里说,他开发过浏览器插件,但是这个插件有多少用户、运营过多久,在开发过程中解决过多少问题,并没有写得非常详细;即使写得很细,也未必跟他有关系。所以作为面试官,我就需要再面试中弄清楚,这项职业经历对他来说,是加分还是减分,甚至是一票否决。

除了验证简历,面试还可以让招聘方初步了解候选人的非职业特性,比如沟通能力、语言概括能力、接人待物能力,等等。这些东西在招聘中占比不大,不过在诸多候选人的技术能力拉不开差距的时候,也会是必要的判断依据。

1.4 多轮面试

单场面试时间有限,通常做不到面面俱到。所以面试通常不止一轮。每个面试官关注的点不一样,比如 A 关注项目经验、B 关注代码实现能力、C 关注职业规划等。最终 ABC 的观点会汇总到一起,给每个候选人一个总评。

接下来,面试进行到一定阶段,总评过关的人数积累到一定数目,公司就会给其中比较出色的几位发 offer,然后就是入职试用转正,略过不谈。

2. 我们应该怎么做

2.1 简历要有针对性

正如前文所说,企业收到的简历量很大,筛简历的压力也很大。通常来说,招聘方负责人会花在每个简历上的时间很短,基本上就扫一遍,有必要的关键词就再看仔细一点,没有就直接扔掉。

很多同学只做一套简历,投所有企业所有岗位。在这种情况下希望渺茫:A 公司招数据可视化,B 公司招小程序开发,C 公司主做移动端,三家公司的岗位要求差异很大,一套简历很难覆盖不同公司的不同需求。

有同学说那我简历里把所有技术关键词都写上可以么?很遗憾,招聘方也不是傻子,你的工作年限和项目经验、技术专长不符,也难逃直接扔掉的命运。或者简历太长,重点不突出,要费力查找关键词,招聘方多半也会直接扔掉。

当然,为每家公司单独准备一份简历成本太高,也不现实。所以,推荐的做法是:

  1. 准备一份比较通用的简历,不要太长,写上自己最擅长的东西,最能凸显自己特长的经历,用来海投,碰运气
  2. 对自己比较中意、比较重视的公司,单独准备简历,突出该公司招聘岗位需要的知识、技能、项目经验等,专门投递

2.2 简历要尽可能真实,面试前也要做好准备

前文也提过,面试是验证简历的过程。能够走到面试这一步,说明招聘方认为候选人的履历可以满足岗位需求,接下来就是要对简历验真,以及判断候选人的发展潜力和综合排名。

所以简历里的内容可以适度美化,但一定不要做假。为什么呢?面试时间有限,面试官不会针对简历中的每一项进行审查,而是对自己关注的、擅长的领域盘问,也就是大概抽查 20% 的内容,给整份简历打分。

如果候选人简历有做假,面试时被面试官发现,ta 可不会只扣这一条的分,而是整份简历都显得不可靠,都要扣分。即使剩下的部分都是真实的,但是没有被抽检到,就不会改变面试官的判断。甚至,如果连问两条都不符合预期,可能就会直接中止面试。

面试前的准备也要尽量做好。比如你参考上一条建议,优化了简历内容,突出以前的某段项目经历以匹配特定关键词。那么这个时候最好回顾一下,审视一下当时的得失,搜搜看该领域目前的发展状况,等等。不要面试官问起来,这个想不起那个不知道,好好的加分项直接被干成减分项。

2.3 项目经验要择优表现

通常来说,简历不要太长,因为筛简历的人不会有那么多时间认真仔细的读。有人说不要超过一页,我觉得不用这么极端,但是三页绝对是极限了。短简历更容易突出重点、突出优势。

所以通常来说,我们要对项目经验进行取舍,不要把每个项目都罗列出来,即使是海投简历,也要选择会增加自己竞争优势的项目,写到简历里。

比如,某位培训班同学的简历里,介绍 ta 做过的某个全栈项目,混用 MySQL + MangoDB,koa2 + express。这就很奇怪,这两组技术产品定位冲突,在实际生产中,几乎不会混用。所以这样的项目经验就只能减分。还有,在一些同学的简历里看到,他们这两年都还在用 easyui、jquery 做项目,我当然不否认这些传统框架也能完成产品需求,但是写到简历里,就不要指望它们还能帮你加分。

如果,极端情况,你的项目经验都很差,那我建议你抓紧时间参与一些能给自己加分的项目,不管是开源的、商用的、独立项目都可以,别憨憨的写一堆没价值的项目,然后抱怨拿不到面试机会。

2.4 面试时找机会突出自己的优势

目前来看,招聘方占据优势,是买方市场。招聘方会在众多候选人当中选择最好的几个发出 offer。所以我们在面试时,不仅要证明简历上写的都是真实可靠的,还要抓住机会,展现自己的优势。不然,平平淡淡拿到一个中等分数,可能在招聘方的眼里,只是一块“鸡肋”。

别的岗位就不说了,只说技术开发岗。

通常来说,技术研发,简历外,通常需要在面试中展现的能力主要有:

  1. 沟通能力
  2. 业务理解能力
  3. 主动学习的习惯和能力
  4. 积极思考的习惯
  5. 解决问题的韧性和积极性

这些条件可能不足以形成一票通过/否决,但会影响你在同一批候选人里的排名,也要尽量好好表现。另外,不同的公司、职级、岗位,可能也有不同的权重,我就不详细解说了。

分类
职业

希望大家记住,求职面试也是双向选择

前几天在思否上答题,看到这个问题:

面试被问到:let不能在相同作用域重复声明的底层原理是什么?

简单总结一下:题主去参加面试,面试官问他 letconst 不能在同一作用域里重复声明的底层原理是什么。题主答不出来,面试官得意地教训他:“做一个合格的 JavaScript 开发者一定要掌握编程语言的基础原理。”

看得我狠从心头起,恶从胆边生。怒答道:

这个问题不好。

let、const 不能在相同作用域重复声明变量是规定,规范就是这么制定的,开发 JS 引擎的程序员就这么执行了。就像公司规定 9 点上班,员工 9 点之前就要到办公室打卡一样。没什么底层原理,我想怎么实现就怎么实现,想坐公交就坐公交、想开车就开车、想走路就走路。

也许某个实现方案会好一些,有些会差一些,但对于 JS 程序员而言,都是毫不相关的领域。如果想问,可以先问一下,候选人答不出来,面试官就应该把实现原理说出来,请候选人分析其中的道理。

这个面试官多半就是偶然看到篇讲解这方面知识的文章,奉为瑰宝,到处拿来卡人,跟孔乙己一样的。所以,没过是好事。题主收拾心情,再去面别家就是。

谁都年轻过,我当年也喜欢在工作中积攒一些很偏门的小知识小技巧,面试的时候拿来问别人,一旦候选人不知道,就沾沾自喜。随着后面知识渐广、经验渐丰,发现这种做法真的是愚蠢至极。开发领域的知识技能浩如烟海,谁都不敢说自己全知全能。关键问题在于,面对一个未知领域,一个没遇到过的问题,我们怎么能解决它,多快能解决它。

对应到面试,我们要确认的是:

  1. 候选人是否具备这个岗位的基本能力
  2. 候选人面对陌生问题时,能提出什么样可行有效的解决方案

如果面试官不理解这一点,做了蠢事还沾沾自喜,那么这个岗位的未来也岌岌可危,所以不去也罢。


我还在 V2 上看到这个帖子:

当招聘信息上的薪资与他的要求明显不符合时,通常如何提出自己的薪资要求

我猜楼主是个小朋友,一副天真烂漫的样子。看到一些企业的招聘启示,岗位要求和岗位薪资不太对的上,就想去面试,期望在面试的时候纠正对方,即拿到更多的 offer,还得到理想的薪资。

这里的核心问题在于,楼主假设所有公司都是靠谱的,他们只是一时糊涂,标错了薪资,而已。

企业招人,都有很明确的想法和定位。企业当然可能对市场、对招聘环境理解有误,导致落到招聘启事的纸面上,让行内人觉得奇怪。但这正说明这家企业有问题。他们或者对技术人员的价值理解有误、或者根本不清楚自己的需求应该怎么满足。这些问题都不是一场简单的面试能掰扯清楚的,更何况我们只是个陌生的候选人。

所以最简单也是最好的选择就是放弃这家公司。


简单总结一下,面试求职,是双向选择。不仅公司在我们几个候选人之间挑选,我们也要在几家候选公司之间挑选。要选择最靠谱、最有价值的公司,给自己的履历加分,让自己越走越好。

至于那些不靠谱的公司、不靠谱的团队、不靠谱的领导,早点认出来,跟他们说再见,别让他们耽误了自己的美好前程。

分类
职业

尬聊会:第二期实录

视频地址

时间锚点:

  1. [00:33] 创业那点事儿
    1. 股权
    2. 期权
    3. 融资
    4. 估值 200w / 20% = 1000w
    5. 市盈率
  2. [10:00] 如何制作简历
    1. 两个不好的简历
    2. [47:55] 一个好的简历
  3. [37:50] 面试时算法和计算机基础怎么准备?
  4. [39:00] 校招和社招的差别

  5. [43:00] 学了 H5 和 CSS,怎么巩固?

  6. [47:55] 一份好的简历

  7. [52:35] 实习工资

    1. 北京 10K
    2. 杭州 4.5K
  8. [1:00:33]怎么选择合适的公司
    1. 在各个方面给予提升
    2. 看老板,看业务
    3. 慎重选择每一份工作
  9. [1:08:15] 对于转行自学就业,找工作,这方面能不能发表下你个人看法
  10. [1:13:33] 我今年31在一家大公司的地方站做前端工作 4年工作经验 今年想去北京工作

  11. [1:16:55] 前端接口测试通常要怎么做呢?有没有考虑做个课程出来聊聊?

  12. [1:18:55] 老师,对原生JS使用熟练, 目前项目多是混合app开发,没有react, angular,vue 框架的经验,对目前面试有影响吗

  13. [1:21:25] 框架学到怎样的程度合适呢

  14. [1:22:00] 老师,最近想换实习公司,如果在上班的时候,面试的HR打电话过来

  15. [1:24:22] 会写小程序优势大吗?

  16. [1:27:19] 与今天有关的课程广告

分类
学习 技术

看看前端技术的发展动态,我们似乎应该重新规划学习方向

这个标题是仿照好奇心日报起的。

近期在帮朋友招聘,目标是找到一个可以独立工作,能够应对大多数问题的前端。初筛简历的时候我比较偏爱之前经历大多是 JS 开发的候选人,比如专门写插件的,或者写过游戏的,对接的同学就问我:前端是不是做过游戏有加分?其实也不完全如此,只是由于环境的变化,JavaScript 开发在前端的整体工作中占据着越来越为大的比重。以前那种先考察切页面能力的做法已经完全不适用了。也导致,我们在前端学习上,需要重新调整侧重点。

创造 HTML 的目的,是为了阅读文献,从 HTML 标签当中我们就能看到很多来自于印刷时代的痕迹,比如:

  1. 各种语义化的标签 <p> <h1> <h2> <blockquote>
  2. 以竖排版为主的格式
  3. 丰富的字体选项

浏览器也是朝着这个目标去实现的。于是,早期浏览器在界面布局上做的并不好。伴随着互联网发展,越来越多的用户涌入,他们要求互联网以网页为载体,提供更多满足他们需要的产品。此时最早一代 HTML 和 CSS 就不那么适用了。在我开始做前端的那个年代,经常会碰到各种各样奇奇怪怪的问题,写出来的代码,很难达到自己的预期。于是,做前端,最重要的积累,就是各种浏 Hack,什么清浮动啊、IE6 啊,差不多就是这些。

这些东西往往并无逻辑可言,所以,老前端比新前端的优势,就在于记住了多少这方面的经验,解决过多少这方面的问题。我们招聘的时候,也倾向于选择有丰富页面制作经验的,毕竟,编程问题很多时候归属于后端。

然而时过境迁,我们现在再去看前端技术,它的现状和趋势已经都变了。首先,越来越多的浏览器,都在遵守 W3C 规范,我们现在已经不需要再拿那么多时间去做 Hack。浏览器之间的差异,已经从实现的差异(比如 addEventListenerattachEvent),变成了功能化的差异(比如是否支持 Grid 布局)。所以在这个时候,知道多少浏览器 Hack ,也不再是优势。

另一方面,越来越多的工具涌现出来,我们大部分时间都在使用脚手架、预处理工具、模板引擎,已经很少直接手写最终的 HTML、CSS 代码了。再加上 MVVM 框架对整体工作流的影响,如今,使用命令行,已经是前端必修课。所以,扎实的编程基础,丰富的,在各种环境下进行调试的经验,都是高级前端工程师真正的竞争力所在。

总结一下,现在切页面变得相对容易,大多数览器的表现都会和预期一致。所以哪怕相关经验差一些,现学也很快。但是开发经验,如果没有积累,想在短时间内快速提升到能够独立应对大多数需求的水准,就比较困难。所以前端应该尽早关注 JavaScript,尽量多的尝试各类基于命令行的工具,甚至主动跨出舒适区,自己动手实现一些工具。这些会对将来的工作,对将来应聘,带来很多好处。


参考资料:

  1. wiki HTML