想拿互联网大厂的前端 offer, 除了技术,你还差
来源:原创 时间:2017-11-10 浏览:0 次说在前面的话
首要我有必要要说 chat 的标题获得有点大。可是正如最初所言,这个 chat 是给预备或许行将成为前端工程师的同学们的。
其实,我现在也正处于这个阶段,所以我期望能与我们共勉。在本场 chat 中,我可能更多的共享的是关于自己在求职进程中的一些阅历和主意。
期望能给我们带来一点协助。下面进入正题:
1. 一个合格的前端开发需求那些常识储藏?
1.1 前端专业技能储藏
其实专业技能的储藏是比较笼统的,由于大多数专业都不会有前端相关的课程。
因而,前端开发工程师一般都是自学成才,那么是否就意味着前端工程师就不需求重视自己的硬技能呢?其实不是。
前端开发工程师牵涉的常识规模是十分广的,特别是跟着 nodejs 的呈现,使得 javascript 开发者面临着史无前例的常识荒漠等待着我们去开阔。
下面我罗列一些在前端工程师面试中遇到的专业技能问题。而这些问题是作为前端开发工程师有必要去深化学习的问题,就像英语学习中的单词回忆一样重要。下面罗列我以为比较重要的常识点:
javascript 相关
原型链与效果域
闭包
模块化(amd/cmd/umd/ES6 module)
跨域多种方法,如 jsonp
javascript 中的 this 指向问题
CORS
AJAX 的几种状况,ajax与fetch,hijax
iframe 与 onload 堵塞主页面
前端安全与 CSRF,XSS,SQL注入,DDOS
js 异步加载
IE 内存走漏
js 创立目标的几种方法
js 承继的几种方法与优缺陷
SEO
ES6 新特性
promise 与 generator
服务器推
jQuery 相关
js 捕获与冒泡
drag 和 drop 完成拖拽
cookie/session/本地存储
雅虎网站优化的军规
css 与 js 的堵塞加载
chrome / IE 浏览器事情兼容
css 相关
笔直水平居中
盒模型
起浮与定位
排版引擎与js引擎
GPU 加快与动画功能
DOM1,DOM2,DOM3 规范
css 功能
h 标签与 title 标签
em 与百分比等
浏览器缓存与使用缓存
div 与 table 布局
web 规范
css 的 hack 技能
png/jpg/webp 图片格式
canvas 与 svg
css3 的新特性,如 flex 布局等
呼应式布局
link 与 import 差异
三栏自适应
b 和 strong,i 和 em 差异
削减页面回流
BFC
硬件加快与动画优化
前端自动化相关
webpack 相关
webpack-dev-server 相关
单页面打包东西+多页面打包东西
babel 相关
其他常识
http/1.1 与 http2
http 三次握手协议
http 状况码
json 与 xml
前端功能优化
nodejs/npm 相关内容
算法
几种排序算法
回文字符
递归(很重要)
其他常见的前端算法
上面牵涉到的任何一部分内容都应该要可以融汇贯通。许多人都激烈对立刷题,其实我以为刷题自身没有什么害处,只需你能真实的将这部分常识弄懂,那么也是一个好的学习方法。
比方上面我说的一个点,如硬件加快。那么许多人就会想到:
可以敞开GPU加快,那么你关于GPU加快又了解多少?webkit的网页分层了解吗?你知道将动画放到一个独立的图层中可以削减页面的回流吗?你知道软件加快和硬件加快差异吗?
我曾经也测验了解了这部分的内容,后边发现当你越深化了解,你感觉自己会的东西越少,可是当你真实自始至终去细心学习了的时分,你会发现你真的是在生长。
这样,当面试官问到这部分内容的时分,你也可以信手拈来。如果你想要深化了解硬件加快和软件加快,你可以细心学习一下这部分内容,当然也包含动画功能优化。
我想,当你能将硬件加快在面试中表达这么多的时分,任何一个面试官都会对你发生爱好。
又比方这几年比较火的打包技能 webpack,你可能知道它可以处理模块化开发的问题,它相关于 gulp/grunt 等有许多长处。
可是你仍然需求深化的了解它,比方: webpack 的 loader 与 plugin 的差异,webpack 的 tree-shaking 技能,webpack 集成 webpack-dev-server ,webpack 的 HMR 等等。
经过上面两个比方,我是想要通知你:任何一个前端技能,你都要学会问为什么?只要你学会问为什么才阐明你在考虑。
这是刷题与学习的最重要的差异,所以我觉得,如果是抱着学习的情绪去刷题自身就无可厚非,由于它能让你快速堆集相关的常识,有问题的当地才干孕育常识。
1.2 交流交流才能
这一部分内容往往来自于hr,他们是一群很灵敏的集体。他们一般都不会问你技能问题,你需求通知他,你很喜欢这个公司,你很垂青这个时机,如果你过来了你会怎样怎样样。
我记住阿里HR其时还问了我这样一个问题:“你为什么挑选做前端?你觉得前端和后端首要差异是什么?”
当然,这都是很开放性的问题,任何人都会有不同的答复,你只需求正确的表达你的观念,可是牢记不要极点。
由于,谁也不想和一个思维很极点的人一同作业!我下面叙述一下我面试的几家公司HR阶段都问了什么问题:
阿里巴巴
拿到阿里的 offer 路途是比较崎岖的。实习阶段经过了三轮面试,尽管都是电话面试,可是感觉仍是挺难的。
经过我上面说的那种刷题方法,技能上的问题根本都可以答复上来,当然这也可能是由于公司自身关于应届生的要求比较简单罢了,或许说我具有了必定的面试技巧。
当然,后边又经过了实习生转正的3轮面试,包含技能面试和HR面试,不过这个阶段一般都是由于部分HC的约束,所以许多实习生都没有可以留下来,所以我算走运的一批。
其时HR问过我几个问题,比方:你为什么挑选前端?你觉得你最大的缺陷是什么?关于未来你有什么规划?这些问题其实在网上都能看到,可是许多人可能答复的并不怎样好,终究结局往往很悲惨剧。
所以在面试前,你必定要想好这几个问题,如果是电话面试最好可以写下来。而如果是现场面试,那必定也要能很快的说出来,并且有条理,一同也不要给他人一种感觉你是在背标题。
这点很重要,由于他人在调查你的交流才能,而不是你的回忆才能。
美团
美团的面试算法居多,其时技能上首要写了几个递归算法,这儿就不再多说。
可能是由于在前面三轮面试中我表述了自己在实习阶段的一些不如意,所以 HR 阶段首要 focus 在这个方面。
比方:如果你的上一家公司和我们一同给了你offer,那么你会挑选谁,为什么?你实习是在杭州,我们的 base 地址首要在北京和上海,你有没有考虑?这一类的问题,我的答复都是不要紧,会考虑这一类的。
当然,这一点有点昧心,可是至少可以让HR看到你对他们公司感爱好,你是带着真挚来的,而不是来玩玩。
何况招聘的进程就是双向的,所以你很难确保他人是否会给你时机,那么你当然应该去争夺,而不必自动断了自己的路。
当然,到了HR阶段,如果你没有说什么不能说的,或许特别让他人以为你不适应这个岗位的,那么一般都是没有问题的。
终究,美团也如我预期的给了我 offer,并且是榜首个 offer,尽管终究没去。
网易游戏
网易的校招面试难点在于书面考试,这一点我现已领教过了,我加上在实习阶段的阅历,在网易书面考试上挂了3次。
终究一次我是跑去北京霸笔的,由于我实习回来的时分现已错过了网易的校招,一切就只赶上了网易游戏的独自招聘。
终究,做了书面考试题,比较溃散,感觉自己应该是没有时机了。终究游戏部分的 HR 姐姐通知我,体系又开放了,我可以到校招体系中再次录入我的信息,这一点真的感谢网易游戏的 HR 姐姐。
网易游戏前端提名人团队其时给我惊呆了,简直都是985类的研究生,并且一般都是拿着 BAT 等级其他前端 offer 来的。
不过,留下来的也少得不幸。到了HR阶段,也没有问我什么过多的问题,就和我聊了聊在杭州实习的阅历。
当然,还有就是谈薪酬了,那么是榜首次谈薪酬,终究成果比较被迫。
其实,我觉得在HR阶段阐明你在技能上现已得到认可了,至少能到达你面试的公司的基准线了。
可是在面试之前,你最好要想清楚几个问题:你为什么要来这个公司?你觉得你能给公司带来什么?你觉得你还有那些当地缺乏,需求改善?
等等诸如此类,而不要不做任何预备,那么HR姐姐肯定会给你一惊的。
2. 面试前你应该做怎样的预备?
2.1 学习式的刷题
说实话,在面试前我一向都在”刷题”。由于面试就短短的几十分钟,除了坚持常识的广度,你也需求确保常识的了解程度,所以那段时刻我一向都在重复的温习我上面说到的这些常识点。
简直你只需问其间的任何一个问题,我都能立马答复出来。
当然,每天如果只是做这些,你会感到很烦,所以那段时刻我也会学习一些新的东西,写一些小项目托管到 github 上,频频更新自己的博客,乃至有时分一天更新了好几篇(看jQuery源码的时分)。
所以你可以去我的博客看看那段时分我都写了些什么。这儿我需求强调下,博客和 github 是面试官比较垂青的点。
记住其时收到新浪的一个面试邀约就是由于我的博客,其时面试官说,看你博客中有写 node 内容的,是否有爱好参与新浪的面试。
当然,终究由于作业地址的原因抛弃了。可是我想说的是,坚持记载常识和问题的习气是自我进步一个重要的方面。其时,我们一同找前端职位的小伙伴,简直每人都有一个自己的博客。
我们回到刷题的问题上来。请记住,刷题的初衷应该是为了扩宽自己常识的深度,深度的学习才干让你生长,而不是总是蜻蜓点水。其时和我一同面试阿里的还有好几个同学,可是终究都没能经过。
其实,我觉得他们的问题首要是太重视自己常识的广度,而疏忽了常识的深度。
比方,同一个问题,我可能会说出 A+B+C+D,可是他们却只能说出A+B,并且A+B往往都是网上现成的答案。
能参与这场 chat,我需求通知你,如果你想要进BAT等大型互联网公司,千万别只重视常识的广度而疏忽了深度。
特别是关于前端的开发职位来说,css+js+nodejs+打包东西等等内容,常常会让你目不暇接,可是必定别忘了深度问题。
2.2 简历猜题
我参与阿里边试之前没有任何实习阅历,仅有有的就是自己做过一个小项目,包含前端和后端都是我写的。
其实,它自身都算不上一个项目,就是为了面试搞的(其实并不满是),其时好几个同学也开发了一个相似的网站,意图就是为了能让面试官在简历里边找问题。
简历里边找问题很简单,可是在简历里边自己找问题也很简单,你可以参阅上面榜首部分说到的基础常识,然后推测面试官会问那些问题。
终究你会发现,面试官问的问题要么就是上面你预备的基础常识,要么就是你现已在简历中推测出来的问题。大多数状况下都是如此。
2.3 反客为主
我阅历的每一场面试终究都会有这个问题:你还有什么问题吗?其实每次面试之前我都会想好我需求问什么,有些问题来自于自身的考虑,有些问题来自于上一次面试和其他公司的比较等等诸如此类。
还有就是,在每一轮面试的时分,如果面试官在表述的时分我都会记载下来他的首要内容,然后想好那些当地我需求进一步深化了解的。所以在这个阶段我往往会有许多话说,或许说有许多问题要问。
比方我前次到了网易游戏的第三轮技能面试的时分问了面试官一个问题:前次网易邮箱出了一次用户信息走漏的问题,这个问题会和前端有联系吗?
网易前端在安全方面是否做了处理,比方 CSRF,XSS,SQL 注入等等。
所以,在这个阶段,我觉得有问题问阐明在整个面试的进程中你在考虑。我是鼓舞在这个阶段提出你自己的问题的。
3. 面试时分怎么做到见机行事?
其实要做到见机行事不简单,可是也不困难。我的自傲来自于我上面说的”学习式的刷题”,当然我这儿说的刷题不是那种朴实的刷题自身,这部分内容我上面现已具体说过了。
除了刷题可以做到见机行事以外,还有就是上面说的猜题,这种出于简历自身内容的猜题也是进步你面试自傲的重要维度。
终究一个方面就是引导,你除了要知道面试官的问题以外,你还要通知面试官你会什么。而你会什么的答复来自于你对面试官的引导。
比方,你对webpack很了解,那么你在面试中应该故意的体现出来,而面试官一般都是很灵敏的,所以如果引导妥当将会是一个很好的体现时机。
还有一点就是,面试官一般也会去调查你常识的深度,你通知他你对 webpack 很了解,那么他出于这个意图也会对这部分内容进行进一步的调查吧。
4. 心态
心态是最重要的一个环节。其时校招季许多同学由于压力过大,终究都病倒了,跑去医院打点滴。还有些同学,在阅历一次面试失利的冲击后就不想温习了,就觉得没有时机了。
不管是那种状况,我觉得都不是一个好的求职情绪。由于,校招季的时机许多,错过了,并不是说彻底没有时机了,何况许多公司终究还有春招等。
所以说,情绪自身就是最重要的,如果你病倒了或许采纳消极怠工的情绪,那么终究你往往失掉的会更多。