先交代下 po 主背景,女, 17 年江苏二本通信工程专业毕业,求职前端开发工程师。毕业后在上海一家创业公司担任前端开发工程师。
内心独白:实事求是地写年限,心急吃不了热豆腐;实事求是告诉面试官对不起我不会,而不是我忘了,我不记得了,记不起来了之类的话。从第一次面试的迷茫和对自身的否定,到经历各种类型的公司努力学习看清方向,收获很多,深感如果平时能够找对方向,遇到问题深究下去,思考并沉淀的话,面试会从容很多,毕竟面试的淡定从容来自于平时的稳扎稳打。
有些人可能会问,这次换工作怎么是你第一次面试? 上家公司我是实习时进入的,面试的时候问了我 javascript 中字符串方法,数组的方法,ajax 和 json 之类的,高程前五章刷一遍就可以了。
从开始面试讲起,前 7 家我分成 5 类:创业公司 0-20 人,小型公司 20-40 人,中小型 50-99,中型公司 100-499 即将上市的那种,已上市公司 100-499。
第一 面试的那家创业公司叫 A,特别坑,开始面试,问我会 vue 吗?会 vuex 吗?我说会点。面试官拿起手机百度面试题,一边读题目一遍抬头观察我脸色。问我之前公司的业务做什么,我说高效实验室软件,哦?你们是怎么做内容的?我说这个得去问产品经理吧。之后直接拿自己业务出来问我,我脑海里闪过,这人怕不是骗代码的吧?我说你们是不是遇到这问题了?他们说是,内心一万只草泥马奔腾而过。之后又问我一个问题,比如说页面有一个表格,前端怎么导出 excel,我说我们公司是后台给接口,前端做文件下载导出 excel,他问如果不用后端前端怎么做?我说这不太好吧,前端做性能会不会比较差,说到这,其中一个面试官说:前端怎么不能做?前端是万能的!前端可以做好多事!我想了一下,我说不会,没做过,我抱着虚心求教问,你们前端是怎么导出的?另一个面试官说:用插件。我说,如果说用插件我也会,接着面试官插了一句:那你怎么不说会?没想继续怼,话不投机半句多,用插件叫会吗?我问不用插件你们怎么导出?他们并没有回答。之后问了他们业务我说你们这产品和我昨天面试的一家公司很像,叫小黑板,他们一脸惊讶说,你还去小黑板面试过?我说是的。最后临走前,我把他们产品从头到尾怼了一遍,从用户使用场景、用户使用便利性、网络局限性、操作复杂性各方面。还是太年轻,没沉住气。出来之后,不争气地留下了委屈的泪水。所以创业公司慎选, 去之前一定要去企查查查一下。总结:小公司只管你会不会用框架能不能快速做出产品。他们 pass 掉我的同时,我也已经 pass 掉他们了。
第二 小型公司叫 B,在静安区。进门之前观察了一下, 有 20 个工位的办公室没有开灯,从走廊上看上去有些暗暗的。当时有几个人坐在工位上,有的抽出手机在玩,有的在工作,给人一种懒散的感觉。进去之后,一个后端面试我,问你使用 vue?我说是的,简单介绍下项目吧。之后打开电脑百度面试题目问我, 这其实是我第一家面试的公司,我前面交代过了没有什么经验,工作中用到的,可能只有一部分。我觉得我就是 todomvc,单写页面那种。显而易见我什么都没有回答上来,于是我说问我 js 吧,他回答 js 有什么好问的?我内心想的是,js 有什么好问的? js 很重要的啊不是吗?于是他开口就问,那你说说作用域,闭包,原型链吧。我其实很生气的,这人不是耍流氓吗?问之前看看我要的薪资行吗?我说,对不起,工作中没用到,我没有深究。然后回去之后和群里的小伙伴吐槽,我问,为什么这人总是问我框架,js 一点也不问?小伙伴说这种公司不要去,前端只是流水线上的工人只要会用框架能做出东西就行了。
第三 中型公司,小黑板,做教育的,去了之后先做面试题,题目如下:(1)post 如何提交表单?(2)promise 原理?jquery 中的 ajax 返回的是 promise?(3)如何获取 UA?(4)postion 属性?absolute 和 relative 区别?(5)CSS3 中 transiform 和 transition 区别?题目有难有易吧,面试官水平还不错,一个项目经理一个前端两人一起面试。接着问了项目我负责的部分以及技术栈。工作氛围很棒,但是由于我写了两年经验(一年半实习),所以问的我觉得有点深了,这家公司不用说肯定没有要我。再次说下本人水平,我认为我水平一般,todomvc 那种。唯一优点,英语还不错,六级阅读 180,所以一般文档都看得懂。
第四 即将上市的,母公司已经上市,待遇是 17 新,一年调两次工资,这公司做电商的。一面随意聊聊,虽然技术有缺陷,但是胜在英语不错还有拼劲和 公司氛围符合,让我进入了二面人事,当时对于人事面了解不深, 随意说说,通知我三面。重点说下三面,三面是技术 boss,问的问题,不是我这个刚毕业的人能承受的,问,你阅读过 vue 源码吗?我说做什么还需要改源码?然后问我你知道 restful 协议规范吗?怎么获取?接着问 js 有几种模式创建对象的方式?这些说实话我都不会,因为一旦说会,讲两句就得露馅,三面考察技术面的广度和深度。我两个都没有。总结:学习不能浅尝辄止,不要想着面试官会看走眼,人事看走眼,技术面都不会看走眼。平时要多积累,不仅是深度,也得是技术面的广度。
经历上面 7 家面试,前 6 家停留在一轮游,我是在职请假出去面试的,一天面试两三家,说真的,上海那么大,身体吃不消的。特别累那几天,身体和心灵受到双重打击。但是还是痛定思痛,总结面试。如下:
(1)基础不扎实,工作中只把手头事做好,回去开黑,但是基础也不是一下就能提高的,所以定个长期计划, 被前辈说教,出去面试得把高程过几遍,多看书,多 coding。
(2)一开始面试不知道面试套路,一面笔试或技术面,二面人事,三面 boss 面技术深度广度,以及个人职业规划等等。一定要准备笔试,把网上的笔试题目,过一遍,该背的还是要背。
(3)一定不要忽略人事面!!下面会讲到我被职业规划坑了多少次!
(4)面试题目的总结,记录下来,去学习。以及技术面的时候练习引导面试官靠近自己会的领域,如果随着面试官问,肯定会问道自己不会的地方。
(5)慕课网有个前端跳槽必备的技能,名字记不清楚的, 但是内容很棒,讲的是经典的面试题目。
经过两周的休整,面试全部推掉,下班后回家看书和 coding,为了有充分的时间面试,我在 3 月底辞职了,对,是裸辞。之后计划一天面试一家。工作经验写 1 年,因为我觉得两年问的太难了,一年应该还可以。两年会要求懂 js 的三座大山。
主要讲讲辞职后面试的几家公司,一家是告知特的页面技术支持, 外企走流程走到面试用了不到一个月。电话面试前面聊得挺好的但是聊到职业计划聊崩了,问我职业规划有吗?我说有,3 年后做产品经理,我太实诚了,然后人家回说:我们这工作和产品经理差距挺大,无论我怎么说没有下文了。
一家做物联网,在张江高科,一面还好,问我在项目中做什么,我是负责页面登录、个人中心、以及使用 echarts 做成绩页面等。你一个人可以负责项目吗?我说这得看项目大小,曾经一个人负责公司官网,但是软件系统的页面涉及到几百个,需要前端通力合作。问我会搭建 vue 项目吗?其实我不会,但是我说最近在看,可以配合 webpack 搭建小项目。后来聊到了薪资,这薪资结构,和别家公司都不一样,比较复杂,建议小伙伴远离薪资发放比较复杂的公司, 咬文嚼字容易被坑,仔细算下其实到手并没有多少。之后二面是产品经理,因为产品在外出差,所以是电话聊天,同样聊到职业规划,我说法还是之前那一套,之后转产品之类的。聊得很顺畅。第二天收到了 offer。有了 offer 在手,面试其他公司也比较有底气了。
重点说下接下来这家公司,做高端互联网教育培训的。可是我之前并不知道,也是无所畏惧的就去面试了。一面是,一个产品经理和前端技术 leader,先介绍下项目,前端就项目问了我一些 vue 相关问题,因为准备了一些关于个人账号登录后的本地存储的知识,个人中心表单提交如何验证和用 post 和 get 区别。接下来产品问我:
(1)你说你上家公司负责部分软件测试,负责哪些?回到:负责黑盒测试,主要是流程与功能,一部分是页面相应,查看 network 看接口反应时间。或者一些工具辅助一下。
(2)产品经理提出你完成不了的需求你怎么办?回答:你行你上啊。他们笑了说你应该说服他,我说是的,那个是我内心的独白,我一般情况下,会反驳,但是我会从各方面拿出论据反驳,比如之前负责官网的时候,分离原来混合开发的 jsp 页面并且添加新功能,设计说要做留言板,还是那种输入什么就在下方显示留言,因为本来的留言板没有这个功能,我当时说,第一,留言板这东西说简单也有简单的做法,说难也有难的做法,设计又不懂肯定要最好看的,所以我说做可以,但是你去跟老板说时间给我延长不能按期完成官网。第二,我们官网做的是企业展示不是做社交啊,你这跑题了。第三,既然想做留言板,如果我留言不利于企业的话,是前端判断内容还是你守在数据库前一条条删除数据?如果是前端判断我怎么判断?判断哪些文字不可以输入吗?第四,如果恶意攻击,刷留言,恶意灌水,增加服务器负载,你来负责吗?说完,他闭嘴了。我又举了个例子,我说有时候产品经理脑洞很大,有些东西可以做,但是性能不好,而且做起来麻烦,我会想出其他方法,并说服他,解决问题的方法有很多,但是我得找一个我能做的并且简单的。
(3)如果工作中你不会的怎么办,问谁?回答,可以把问题抛在社区里,但是这种方法不一定实时,所以我会把问题放在微信交流群里,有 260 个人,而且大家很活跃。继续问关于交流群的事,我说是老尚创立的公众号的读书群,原谅我打了广告,但是我可没有回扣,只是实话实说。继续深追,那个公众号叫什么名字?叫 web 前端教室。估计就这一个问题追问我是在考察我是不是真的而不是瞎编的。(4)如何保持持续学习?你用哪些方法?回答:看书看视频,但是我觉得还是跟着老师学习比较好,所以报名了老尚的在职前端教程每周两次开课。同时中国 MOOC 网也修一些课程作为辅助学习。
接下来是二面,二面面了一个半小时!后来才知道二面的面试官是 C++ 里面的大牛而且是连续创业者,李老师。具体姓名不说了。以下是主要问题:
(1)你的职业规划三年后做产品,为何不直接找产品经理相关的工作?回答:第一,我认为前端最贴近用户,可以积累用户体验。第二,不懂技术的产品经理不是好产品经理。第三,我目前没有产品经理必备技能,不太适合去找工作。第四,之前大学实习在公司轮岗,做运营感觉自己像内容搬运工,后端也做不来,产品是确实喜欢,发现前端很有意思就开始了前端。第五,由难到简单可以但是由简单到难不太容易,所以为了产品我还是选择了前端。可以静下心来学学技术,精力有限,一次不能又做前端又考虑产品,至少目前没产品相关计划。
(2)技术在上一个团队如何?回答:因为上家工作内容用高程的前六章就够了,也没有人告诉我还要学什么,所以那几个月自己也没有方向,算是浪费了,技术在团队里中等水平,毕竟年限也在那边摆着。
(3)导致你技术一般的原因是不是因为你过多的关注产品?我说如果是这样,我不会度过试用期,而且我们是用 jira 来统计工作效率,做每个任务要量化到工时的,所以不存在过多关注, 并且我讲了下流程,我关注产品在于设计师把原型稿做好交到前端手里的那段时间,我前后过几遍,看看是不是有逻辑错误,或者设计漏洞。
(4)输出怎么样?有个人网站吗?其实没有几篇文章,我是小菜鸟。但是我回答:有个人博客,记录 codecademy 练习时别人的好方法,有 github,记录个人小 demo。
(5)你有什么优势?面试千万不要怂,我回答:具有产品意识的前端,如果前端分为两种,一种给什么原型拿来就做,出问题就把锅甩出去,一种就是我这样的做之前想的多一点,避免做完发现与产品要的不一样。第二,英语还可以,可以阅读源文档(我吹牛的)。第三,开朗容易沟通。
(6)你还学过 C++?我当时是实话实说,我说学过半学期,不太记得了。否则说会的话,人家随便两句就把我 KO 了。
(7)你读过哪些关于产品的书?凯文凯利三部曲,浪潮之巅,引爆点这些是大学读的,没有刻意去看。
(8)为何选择前端?
(9)如何从事的前端?不说了上面说过了。之后说你有什么想问的吗?我说你目前做什么?李老师轻描淡写地说,我敲代码敲了十几年,目前做产品经理。
这次面试了整整两个小时。4 点开始 6 点走。之后又面试了一家 100 人以上的公司。
总结一下这次找工作,总共投递 60 份简历,时间跨度有 1 个月,收到面试邀请 13 家,面试 7 天,面了 10 家左右,前 6 家一轮游,从第 7 家开始进入复试,休整 2 周之后,面了 3 家,收到 2 份 offer。经过选择,入职了互联网教育,为啥?内部账号免费看全部学习视频,隐性福利嘛,哈哈哈。全剧终。
认清自己、找准方向就成功一半了。面得不只是技术也包括态度潜力你说对吧?