背景及摘要
3 月 15 日,浙大玉泉校区举办了一场招聘会,近几百家单位参加。虽然我不是浙大本校生,但是外校学生若携带学生证件也是可以进入的。我总共带了 12 份简历前往,并全部投出。我的目标岗位为 Web 前端开发,但也对 Python / Node.js 后端有意向。目前我已进行了 3 次面试,分别是 数聚科技, 谷神星, 企朋 (点击可查看拉钩网上的信息)。我想在这篇文章里分享一下我这几次的面试过程,谈谈我的一些想法,希望对大家有帮助。
招聘会
简历
这是我的 简历 。因为这份简历仅用于交流,因此我故意抹去了一些信息,比如真实姓名,联系方式,就读的大学等。同时这份简历是我在招聘会后稍作了修改的简历(增加了专业,意向岗位,将 “Java实习生” 改为 “Web 实习生”,其它均未改动)。
事实上这是我第一次做招聘用的简历,直接套用了 Google Docs 的一个 Resume 模板。但是有几个细节在编辑时没有注意,在招聘会后或面试时我才发现这些是个问题:
没有标注专业。尽管现在有很多公司也不会太在意你是否是计算机专业出生,但专业本身仍然是 HR 关注的一个重要信息。其次,有些公司在招聘要求上也明确说明需要计算机相关专业的应聘者。因此专业作为一个关键信息仍不能忽视。
没有写明目标岗位。在最初的(也就是用于投递的那一版的)简历里,我没有明确说明意向。招聘会上,有些 HR 会将收到的简历按岗位分开存放。但有些 HR 则不然。或者说,在人多的情况下, HR 也难免会忘记你的意向。注意,我在最初的简历中有写 “Java” 实习生的经历。这本来没问题,但是在我没写清岗位的情况下,有几位 HR 错以为我对 “Java工程师” 有意向。因此,目标岗位也是极重要的信息。
简历或许可以再紧凑一点。看了一些他人的简历,大多有表格辅助,而且空间利用率明显比我的简历要高。或许可以再思考一下如何再打扮一下我的简历。
现场
请务必先详细了解招聘场所内的具体分布!
当我到招聘会现场时,计划时长 3 小时的招聘会已经举办了半小时了。我当时也没注意 3 个场所内公司的分布,所以我一到现场时就先跑进了第一个分会场。看完第一个会场后我就前往了第二个会场。而当时的我仅知道有 3 个会场的存在,但不清楚 3 个会场中公司摊位的数量。结果就是,我在第 2 个会场花了近一个小时。而到了第 3 个会场,我呆了,这里比第 2 个会场有更多的企业。这时,距离结束大约剩余 1 小时。而且在最后大约 20 分钟,我惊奇地发现,这个场所(一个排球馆)的某处有一个不长的通道,通向同一场所的另一个区域 – 这里还有将近 100 家企业。更糟糕的是,他们已经开始收摊 了。更更糟糕的是,此时的我。。。手头已经 没有剩余的简历了。
数聚科技
我应聘了这家公司的前端,是第二个联系了我的公司(第一个公司以为我要应聘 Java 。。。所以我在电话上就拒绝了 HR)。HR 与我约好周五见面,时间是 3 点到 4 点。
公司位于浙大科技园(浙大玉泉校区附近)。园内环境可以,但园外。。。背后是丘陵。
面试者是两人,分别是 HR 以及一名技术员工(该员工并没详细介绍自己,但从年龄和谈话上看,应该不是 CTO 或 PM)。
对话首先以我简历上的项目为重点,主要问了我采用了哪些工具(框架以及包)。接着聊了一下我何时毕业以及我的住处问题。最后商讨薪水。
整个过程中没有询问任何 技术上的问题。谈话中仅仅是说我怎么做项目。但没有问我如何解决一些问题,比如:如何解决高并发问题,也没有问我任何关于 JavaScript 语言的相关问题。
其次,这个 HR 对技术不是很了解。虽然对于 HR 应不应该懂技术这个问题我保留意见,但我还是想吐槽一下。我在谈项目时我把 Vue
念作单词发音,而不是读成 3 个字母 (V-U-E
)。但当我讲完项目后,HR 还是问了一句:你既然对这个 “wei you” 框架这么熟悉,那你对 V-U-E
(读这 3 个字母) 熟不熟悉呢? 我: (; ̄Д ̄) 这不同一个玩意么。。。
还想吐槽一点,这个技术员工 似乎也不是特懂技术。因为我在简历里写了 SCSS (可以参考 Link),但这技术人员却说:这里是不是写错了,SCSS 是什么,应该是 CSS 吧? 我: ヘ(゜Д、゜)ノ 你不是技术人员么?
另外,目前这个公司前端业务不算特别重。据悉,该公司近期做的一个项目是调查问卷。这也难怪他们问我是否用过 E-Charts。不过当时我也完全不知道 E-Charts 是什么。
总的来说,我个人对这家公司的面试感觉一般。因为我对面试也报了一种 学习 的态度,希望能在面试中也能了解一些自己的不足。但是这次面试恰恰相反,我反倒看到了他们的一些不足。
关于薪水,我当时没有提,因为我还真没认真想这事,以为公司会主动提供数字再让我做决定。所以当时只是说之后电话联系。
这是星期五(3 月 17 日)的面试,在这之后的第 3 天(星期一),我接到了 HR 的电话。电话中 HR 通知了我被录取的消息,不过在 HR 提出薪资前,我就回绝了。不管这个公司是否真的有前景,但至少我觉得我极不适合这个公司。
企朋
先上结论,这是我目前面试中 最满意 的公司,无论从面试过程还是公司本身来说。
笔试
笔试总体分三部分: 网络相关知识,算法编程知识,语言相关知识。可以看出该测试偏概念与算法,比如快排或 GC,没有考某某对象的使用或某某方法的使用。至于具体题目,我觉得还是不要透露的好。总之,对于这份试卷,虽然有几题明显可以看出是非原创的(就是从网上抄的),但总体上还是比较能反映一个编程者的基本素养的。
一面(技术面)
本以为前端工程师会问我关于 prototype
或 Object
相关的问题,但事实上这一位工程师没有注重这方面,而是问了我一些关于 yield
,以及 async await
的一些问题。
同时也问了一些关于 session
的概念或实现。我对 session
的理解程度仅仅是用 Node.Js
的某个包实现的程度。所以这方面我确实不懂,反而是工程师教导了我。
再者,工程师和我聊了一些我项目上的事,针对我项目中写的提问,比如 restful 理解之类的。
总体上讲,前端工程师并没有问那些 JavaScript
中的那些坑,而是注重我在项目上的实际能力,因为工程师多次对我如何理解和解决问题发问。
二面 (CTO)
技术面之后,马上就安排了 CTO 前来面试。
不得不说,CTO 整个人显示的气场就很不一样。第一眼看上去,CTO 和蔼可亲,同时有温文尔雅;而在提问和聊天时,又显得沉着睿智。
和 CTO 的聊天中,我也明显感觉他的表达能力比我更甚一筹。举个例子,在聊项目时,我提到我对排行榜的处理是先以分数排序,再按时间顺序排序。而 CTO 一转述,则变成: 此排序以分数为第一维度,以时间为第二维度。这种表述便显得书面化,也不容易被人误解。
CTO 也问了我一些关于 情怀
的题,比如你崇拜的人之类的。(P.S. 这个问题好像有很多公司问呀,我在招聘会上就被一个公司问过了,还同样是一个招前端的公司 ((´д`)) )
CTO 的具体问题细节同样就不透露了,但 CTO 的问题的出发点比前端工程师的站在一个更高的角度,包含了我对项目整个过程中出现的问题以及我个人的一些修养(比如对于 Open Source
和 新技术
的看法)。
当然,这面试并不是单向的,最后 CTO 允许我问他一些问题。CTO 对我的问题进行了耐心详细的解答,而不是一句两句带过。这让我感觉 CTO 是真心希望我能问问题的,而不是出于某些礼貌说的客套话。
三面 (HR)
和 HR 的聊天集中于待遇和我的需求。HR 给的关于实习薪资就蛮高的,是一些工资的 1.5 ~ 2 倍。(我认为薪资是一种隐私,所以具体数字就不提了)
另外,同 HR 的聊天中我也了解到这家公司也很注重效率和协作。HR 跟我解释了目前公司使用的协同工具和技术。从这个角度看,在这家公司工作,沟通不是问题。
和 HR 的整体过程很愉快,尤其当 HR 说我有 极客范 的时候 \(^▽^@)ノ。真的,这句话足以让我高兴一整天;对于目前的我来说,这几乎是最大的认可。并且,这名 HR 是第一个这么评价我的人。
环境
这个公司的环境很棒!
一进门就感觉这很有 google 的风范。办公室边上有零食架,健身器材,以及其它游戏措施。按 HR 的说法,这是为了让员工专注于手头的任务。
另外,在面完 CTO 后,刚好是午饭时间,CTO 和 HR 很友好地请我在公司吃饭。我刚开始出于礼貌而委婉地拒绝了,不过在几次邀请下还是放开吃了。。。嗯,味道不错!ლ(⌒▽⌒ლ)
谷神星
首先我表示一下我对这个公司的歉意,因为我迟到了一个小时。以至于到了之后,技术人员有事不在了,所以面试我的反而是一名销售人员。
销售人员看了简历之后让我介绍自己并讲讲简历上的项目。不过讲到一半时,他打断了对话。他很坦诚的表示,自己只是销售,不懂技术。说罢,还给了我一些建议,比如简历上还是缺少点亮点,说话不够简洁。可能有人觉得这名销售有点无理,但我却不这么认为。从当时销售的语气和表情看,销售确实是出于好意所以打断对话并给我建议,因为我继续讲技术也是对牛弹琴,同时我也确实有表现不好的地方。
与销售聊完后,HR 与我约好,(当天为周二)过一两天后,我将会与现位于温哥华的一名技术人员进行电话面试。
周四早上,我与技术人员进行了约好的(微信)电话面试。
从通话开始,技术便开始提问,首先是关于 Java
的,比如 Spring
的特点。但说实话,我对 Java
并不在行,所以回答得支支吾吾。
后来又问了一些 JavaScript
的问题,比如 Synchronous vs Asynchronous
,Promise
等。因为这与前端相关,所以我比刚才表达更加流利了。
接着,对 database 又提问了一些,比如 transaction
,几条 SQL
语句等。我对数据库只会基本使用,但一些特点却不然。因此这里回答的也很一般。
最后,技术让我介绍自己做的一个项目。我自然讲了我最近做的那个在线评测系统。
若让我作个评价,我会说这个技术也确实懂点技术的,对我的提问也明显注重于一些语法的细节和特点。但对我个人如何实现整个项目以及实现项目的能力过问的很少。
至于我对这个公司的看法,主要是薪资水平太低了。实习生工资也才 3K,而且之前销售还没讲转正后的具体薪资的,只说工资是看实习表现再决定的。初次之外,这个公司并没有专门的前后端,换句话说,我要同时处理前后端认为。这对我来说是不可接受的,毕竟我在之前的一次实习中已经体验过这种开发了。一般这种做法对开发者的负担还是有点大, 不能专心于一件事情之中。因此,我决定拒绝掉这个公司。
总结
目前面试了就这几家,剩下几家要么没通知,要么已经预约了面试但还没到时间。如果后续还有面试,我大概会写一篇新的文章来分享自己的经历和想法。
但就这几家而言,我个人认为面试是可以准备的,某种程度上也类似与应试考试,允许你临时抱佛脚。但,面试的最终表现还是基于你的真实水平的,依你平时的水平已经基本决定了面试的表现。面试前多做些细节准备能增加面试官的好感度,但并不能仅凭借这些就获得面试官的芳心。
所以,一方面平时必须要做些项目。这些项目最好与你期望的岗位相关,同时最好是具备一定复杂程度的,比如一个单纯的获取在线时间的爬虫是不够的,但如果是一个能够爬多个网站并能根据比较数据给出建议的爬虫则相对高级很多,则可以显得你能组织代码以及分析问题。同时,对于一个较大的项目,最好是能正式上线的,因为这可以体现你有能力维护代码。另外,我个人认为项目的数量不在多,而在精 —- 你有时间写 10 个冒泡排序还不如写 1 个快速排序来提升算法能力。
至少,我这几个面试基本上是靠项目 在线评测系统
来与面试官进行交流的(或者是说靠”吹”的 ヘ( ̄  ̄;ヘ)),如果这个项目不够,简历上的实习也基本能充当谈资了。至于另外的几个项目 – 个人博客 之类的,就是用来凑篇幅的 – 面试官很少提它们,我也几乎不会主动靠它们彰显自己的能力。不过,我不得不说我在简历里的一个遗憾,我没有发布过任何一个包 – 无论是 Python 还是 Node.js 。发布一个好用可维护的包已经添加到 2017 的 Todo-List 里了。
最后,希望我的这篇文章能给大家一些帮助;同时,祝大家都能拿到满意的 Offer。