Lei Zhang

时光已逝永不回,
往事只能回味。
... ...
春风又吹红了花蕊,
你已经也添了新岁。

▓▓▓▓▓▓▓▓▓▓▓▓░░░ 79%



7月面经

2019-07-27 » 自言自语 / 面试

背景

应该有很多前端程序员的经历和我非常相似:非科班、三本学历、常年混迹于小型团队或公司、PHP & Vuejs 全栈(干)一把梭、没有大牛带过哪怕是一天等等...

来深圳第4年了,为人比较自来熟,所以期间换工作都是朋友内推,自己投简历跑面试机会很少,再加上这几年开发越来越偏向纯前端,苦于自己所处过的公司都不是特别注重前端圈子,基本都是:业务先行、接口对好、业务跑通。

所以我特别想找一个大点的公司,前端技术氛围浓厚一点,让我能好好沉淀下技术。当然更想通过跑跑面试,看看零经验转行这几年后,自己到底有多少斤两。

7.12 号裸辞,一方面确实是想逼自己一把;二方面老婆专科学历找工作很不顺,已经有点破罐子破摔的心态了,裸辞陪着她在这大热天里跑面试,给她做个榜样,想让她恢复求职的状态。

7月,新婚夫妻双双下岗,家中橘猫嗷嗷待哺,房租房贷还有 19 天抵达战场...


准备

裸辞当然得有所准备,并且必须要对自己有所信心。说到信心,就不得不提一下我的上家公司:琼景科技,如果7月前有面过这家公司前端岗位的,面试官就是我啦。devil

当然这家公司也是被内推进来的,不知道谁在我入职前给我吹了一波,说我超厉害...

入职后我就做着“超厉害”的事情,大家都先入为主,以为我无所不能,任何 idea 都能搞定,欲哭无泪,我也只能赶鸭子上架了。

emmmm... 在这边做了很多以前从没干过的事情:

- 给全公司开发整了次沙龙,一讲 2 小时,直接急性咽喉炎;

- 写了个项目模板,新项目用 vue-cli 初始化开箱即用,直接就能写视图组件对接口;

- 弄了个 npm package 维护一套轻量级的组件库;

- 多语言的方案...语种包真的写到吐;

- 没事就手把手给前端小伙伴 code review,荣获“张老师”光荣称号以及“张主管的后宫”QQ群一个,这个超酷;

- 怼产品、怼 CTO、怼天怼地,给前端小伙伴怼掉变态的需求,是的,所有管理岗的都被我“据理力争”过;

- 等等...

裸辞的这份信心,80% 来源于前端 7 个小伙伴所给予我的信任,20% 来源于我开始面试前端的招聘。

刚开始应聘者问我公司是做啥的,我很懵,只能回答“跨境电商”这四个字,于是我开始注重这几个方面的措辞训练:公司核心业务是什么、前后端分离如何交互、前端整体架构、我主要负责了什么。

每来一个应聘者,我都会开始讲介绍这 4 个方面,大概面了 10 - 15 人,从最开始的 20 分钟说完,到最后精简到 5-10 分钟以内(中途可能会有应聘者提出疑问),我把这一套措辞提炼的非常精简,并且记的滚瓜乱熟,熟到像在说自己的名字...

这段经历也为我面试作出了很大的帮助,我的整个沟通、总结得到巨大的提升。


现状

现在面试的大环境,比我几年前刚来深圳的时候恶劣很多。

从我公开简历的第一天下午开始,就有源源不断的外包公司打电话约面试,平均每天能接到 3 - 5 个外包公司电话,自投 10 个公司大概能有 1 - 2 个面试邀请。学历卡的很厉害,一定要全日制统招本科,尤其是外包的面试邀请...

我呢,是来者不拒,有邀请就去跑,哪怕有些公司根本就不准备入职,一方面为了保持住面试的状态,二方面收集面试题查漏补缺,三方面还是给老婆做个榜样。这天是真热,眼镜框已经快晒出来了

面试了 10 家公司,8 家自投,2 家外包,还有 N 家没去的外包面试,其中值得分享的有四家:软通动力、富安娜、金蝶软件、天虹。


软通动力(华为外包)

通常第一反应是,外包不考虑,这次裸辞目标是找个大型靠谱点的公司,但是我毫无大厂面经,自己能投递的大厂机会很少,那我就只能从人力外包开始收获大厂面经。外包学历卡的很严,有些非常离谱,让你先把毕业证书上的编号报过去,等她核实后学历之后才会发面试邀请给你...

一面,通常是电话面试,这一轮基本是外包公司项目经理或者组长的面试,问一些基础知识点,譬如 Vue、CSS、JS 基础 等等,不会聊任何你简历上相关的事情,甚至都觉得面试官压根没拿到我的简历...整轮大概 30 分钟左右。

二面,华为内部员工,两人一起,主要聊简历上的项目,会问的比较久、比较仔细,这轮面完基本就算过了。

三面,华为产品经理,通常也是电面,主要聊性格还有工作流那些,因为不会有华为的 HR 面,所以让产品充当一次 HR 面吧。

最后顺利拿到 offer,不过没准备入职,直接拒了。

总而言之,如果有更好选择,还是不太建议入职外包,外包的电话一定要慎重对待,面试邀请也要慎重接受,有些 HR 甚至都不在深圳也打电话约面试,很乱...

现在外包的 HR 感觉像在做销售,一旦确定你是学历满足要求后,就开始各种追着你聊,让你把其他面试都推了或者延后,反正面啥都得先面她这家...


富安娜

这是一家传统行业的公司,慢慢向互联网转型,8:00 上班,8:15 - 8:30 做早操!我听到这个倒是一点不震惊,因为我从小就在我妈的服装厂,耳濡目染,所以对传统行业代入感很强。公司做的很大,厕所的装修堪比 5 星酒店...

一面,因为是内推,里面的架构师是前同事,咱俩知根知底,微信聊了下就告诉我直接去复试。

二面,项目经理,大部分时间都是我在说,感觉那边的技术应该不是特别新,尤其是前端这块。整个过程他会就我说的提一些问题,主要还是聊一些前后端分离、RBAC权限等等。

三面,整个研发部门好像叫信息管理部,这个人是部门老大,会和我聊一些他们实际遇到过的问题,然后让我出一下解决方案,而后又大概和我介绍了一下部门的组织架构、后面入职需要做的业务等等。

四面,HR 面,大概聊了下我俩都是湖北老乡啊...

五面,人事部经理,一个上了年纪的老头,全程都是笑脸相迎,会给你一种和蔼可亲的感觉,这种 HR 才是最可怕的!整个 5 面用了将近半小时,他会问很多关于成长经历、公司、有小孩是否回老家、之前几家公司离职的原因、对待加班的看法等等。

六面,老板面,可惜那天老板没在,就没有面上。

几天后,一面的经理告诉我被那老头筛掉了,老头评价我:着装随意... 哪怕二三面的面试官和他沟通,他还是坚决筛掉我...

原来富安娜不允许员工穿短裤上班,我那天面试白T + 5分短裤,但是外面 35 度,关键也没人和我说着装要求...

哎,就这样,到手的 offer 飞了。


金蝶软件

想起几年前,都是挑 50 人以内的初创型公司投简历,现在我都敢投金蝶了... 有点飘cheeky

金蝶下午 2:00 面到将近晚上 7:00,因为之前在金蝶大厦呆过大半年,后来公司搬迁到 TCL 大厦,所以也是轻车熟路,很快就找到位置过去面试了。

一面,笔试,会额外给你一张 A4 纸让你写答案,题目很多,有 25 道:

- 盒子模型
- css 的解析会不会阻塞 dom 的解析及页面渲染
- css 选择器的优先级、组合优先级
- 字体大小的设置有哪些单位,分别在哪些场景使用
- 标签语义化
- canvas
- a 标签的 target 属性
- 锚点
- prototype、__proto__ 与 constructor 三者的关系
- 作用域、作用域链
- new 操作符 new 一个对象的原理
- 深拷贝和浅拷贝
- 函数防抖和节流
- js 异步加载的方式
- 页面间通信
- HTTP 状态吗
- GET 和 POST 区别
- 安全问题
- 性能问题
- performance
- 优雅降级和渐进增强
- 错误捕获及处理
- angular 双向数据绑定、vue 的双向数据绑定的机制
- webpack 的工作机制
- babel 的工作原理

会给你 30 分钟答题,之后会把答题卡拿走,给二面面试官看,答的太差应该会被直接筛掉,具体不太清楚,因为中间等了 15 分钟,才开始二面。

二面,技术 leader,会让你介绍:所做过的项目、熟练哪块业务、遇到的难点等等,而后会围绕这几大块开始问很多问题,譬如:你和产品经理意见出现分歧怎么处理、上家公司做过哪些核心的贡献、如果让你当前端组长怎么管理团队、JWT 和 OAuth2.0 两种授权、前端如何做权限等等。

三面,产品经理,本来这一面是部长面试,但是部长临时没在公司,所以他过来和我聊聊。几乎没有问技术方面的问题,产品也不是技术出身,聊了很多当前这个组所做的业务和开发的一些情况,着重和我聊了下将 Angular 的老项目重构成 Vuejs 的时间成本。Angular 真不好招人,他们也很痛苦...

四面,HR 面,小厂 HR 和 大厂 HR 真的毫无可比性啊,金蝶这位 HR 给我非常大的压力,只有刚进门和结束时笑了两次,全程板着脸。先是自我介绍,而后开始问离职原因,再之后对照简历上的每家公司,让我都叙述一个印象最深、参与开发时间最久、作出贡献最大的项目,并且要从立项开始讲起,项目多少人、开发多长时间、负责哪块业务、业务具体做什么、遇到哪些问题等等。

我听完整个人都懵了,就问了一句,要说的这么详细的吗...

她说,是的,我们有方法会通过你的表情、措辞、情绪来判断你说的真实性。

我当时甚至都觉得金蝶的 HR 专业是心理学,而且很多问题都是重复性的,二面、三面都有问我,感觉应该是所有的面试官做过一次集体培训。没办法,我只能硬着头皮又将二面、三面的回答重复叙述,中间被 HR 打断了 3 - 5 次,难道这也是校验真实性的一种方式?

当时在一个很小的正方形洽谈室,就 HR(板着脸)和你,每当你文思泉涌说的“正起劲”的时候,HR 就会打断你,打断的方式非常简单粗暴:质问你。她几乎是用质问的口吻说:“我不需要你解释,你只需要说 xxx”,压力超大。

五面,部长面,本来三面该出现的部长又...回来了,正好我还在和 HR 面试,他就直接进来了,两人一起面我。部长居然又让我叙述刚才那一堆东西???此外还有几个让我印象较深的问题:说一下让你提升最快的公司或者项目、你觉得非科班对比科班程序员有什么优劣势、对加班有什么看法。

金蝶的流程好慢,过了两天外加一个周末才给我电话,告诉我面试和背调都通过了,下周一才会谈薪资,安排编制等事宜,问我能不能等。


天虹

没错,就是天虹超市的那个天虹,我对超市的购物车有着迷之情怀... 不管是天虹的“红领巾APP”,还是儿童专用的购物车,还有超流畅的自助买单系统,总之我对这家公司好感度爆棚。

天虹这边 WEB 方向的主要是 React 和 小程序,这两块对我来讲几乎是 0 经验... 整个面试流程很简单,笔试 + 技术面 + HR 面,一共三面。

一面,笔试,一共 8 道题:

- React 中 setState 以后发生了什么
- React 中的虚拟 DOM 是怎么提高性能的,React 中 key 属性的作用是什么
// 刷过 leetcode 的应该都知道了,就是第一题好像...
- 给定一个整数数组 nums 和一个目标值 target,请在该数组中找出和为目标值的那“两个”整数,并且返回他们数组的下标
- 如何让一个 p 标签中的英文字母全部大写显示
- CSS 中的 display: none 和 visiblility: hidden 有何区别
- 如何解决英文内容不自动换行的问题
- 如何深拷贝一个 JS 对象
- 为函数增加一个名为 myApply 的原型方法,功能与函数的 apply 原型方法一样

二面,两个技术面试官,一个问笔试题的回答,另一个问简历,我觉得两人配合很到位。和之前几家差不多,聊项目、业务、开发难点、主要贡献,再就是穿插着问基础。基础中大量问到了事件循环机制、async await、Promise 等等。

基本上提前叙述自己熟悉的方向和技能点,两人就会主要问自己熟悉的方向,整个面试给我的感觉就是非常公平... 问求职者擅长的方向,考察求职者实际解决问题的能力等等。

三面,天虹的 HR 真的是我这几家公司面的最舒适的了。广东这边产假大概有 200 多天,27 - 30 已婚未育的女性,譬如说我媳妇,每次 HR 面就会被问到小孩相关的问题,男性呢,譬如说我,就会被问到未来有小孩是否回老家,以此来旁敲侧击的考察你是否会长期留在深圳。

天虹这位 HR 完全不一样,她的侧重点是天虹这边技术团队很年轻,新零售现阶段做的很成熟,有足够的发展空间,如果我后面要回老家发展,那么天虹现在是个很不错的机会,当然她也是我面试这么多家公司,唯一一个在接待我的时候,和我寒暄了一句:外面天气很热,跑一趟辛苦了。


面经

前面流水账写一大堆,看到这里辛苦了!

此处应该有笔芯: heart

就我这两周面试的大环境来讲,其实对本科及以上学历有要求的还是很多的,稍微大型一些的公司和外包,都会有很明确的要求。

笔试和技术面,常问的基础大概包含:作用域和用域链,原型和原型链,构造函数,事件循环,事件委托,闭包,ES6 相关的继承和 async/await,Promise。基本上多啃啃犀牛书,再把 ES6 等基础看看,技术面不是很大问题。

领导级的三面,常会和你聊之前的工作经历、业务等,侧重点是考察你是否能独立解决问题,如果招聘的管理岗,譬如组长这种,还会侧重问一下模块化管理,人员工作安排方式等等。

三面非常重要,因为前两面可能是你未来入职的同事,不会问的很深。

但是对于三面的面试官来讲,你需要对简历上的每一个公司或者项目有一套非常成熟的措辞,如果想拿到 15k 往上的 offer,三言两语就说完项目这块内容,基本凉凉。你需要通过项目的描述,让他能感受到你解决问题的能力、学习的能力、工作的态度等等。

最后的 HR 面,主要两方面,一方面她会校验你简历的真实性,二方面她还想考察你的性格和工作态度。

她也会和三面一样,和你聊工作,聊项目,虽然我们开发说的那些术语、关键词她一个不懂,不过你只需要自信满满的和她聊,一定要很自信,让她知道你在之前公司负责过许多事情,解决过很多问题,和当前招聘的岗位职责非常匹配就行了。

关于性格,企业都愿意招沟通能力强的人,说白了就是要健谈,每个面试官都不希望和应聘者玩“你问我答”的游戏,一定要主动沟通,主动的去介绍自己、推销自己。

关于工作态度,现在整个圈子加班很严重,论坛上好些招聘贴里面上来就是问是否 996,包括我在上家公司,大家私下聊天也都是加班钱还不给够这类的闲聊,在网上灌水或者私下聊天,随便怎么说,也随便怎么想,都可以。

如果 HR 问到加班,你千万不能满腔热血的说:不想加班、如果加班多我就要多拿钱、我上家公司离职就是加班多等等这类的话术。

HR 最后一面,她想给公司招的是易于管理的员工,在她眼里,我们都是螺丝钉,服从公司制度才是首要的,你可以委婉告诉她,开发这一行,上线发版或者处理线上紧急 BUG,这种加班我们都能理解。

你的目标是拿到这家公司的 offer,这也是唯一的目标,不然七月大热天的跑面试,对不起自己流的几斤汗水。

拿到 offer 之后,主动权就在自己手上了,你有很多渠道可以了解公司是否存在严重加班的情况,入职还是不入职,选择权在自己手上,不要在面试的任何环节表现出自己可能会抵触公司制度的态度。


还是不太建议裸辞,找工作的这两周确实很煎熬,如果你真要辞,建议等天气凉快了再辞...

这天是真热!