想拿互聯網大廠的前端 offer, 除了技術,你還差
來源:原創(chuàng) 時間:2017-11-10 瀏覽:0 次說在前面的話
首要我有必要要說 chat 的標題獲得有點大??墒钦缱畛跛?,這個 chat 是給預備或許行將成為前端工程師的同學們的。
其實,我現在也正處于這個階段,所以我期望能與我們共勉。在本場 chat 中,我可能更多的共享的是關于自己在求職進程中的一些閱歷和主意。
期望能給我們帶來一點協助。下面進入正題:
1. 一個合格的前端開發(fā)需求那些常識儲藏?
1.1 前端專業(yè)技能儲藏
其實專業(yè)技能的儲藏是比較籠統(tǒng)的,由于大多數專業(yè)都不會有前端相關的課程。
因而,前端開發(fā)工程師一般都是自學成才,那么是否就意味著前端工程師就不需求重視自己的硬技能呢?其實不是。
前端開發(fā)工程師牽涉的常識規(guī)模是十分廣的,特別是跟著 nodejs 的呈現,使得 javascript 開發(fā)者面臨著史無前例的常識荒漠等待著我們去開闊。
下面我羅列一些在前端工程師面試中遇到的專業(yè)技能問題。而這些問題是作為前端開發(fā)工程師有必要去深化學習的問題,就像英語學習中的單詞回憶一樣重要。下面羅列我以為比較重要的常識點:
javascript 相關
原型鏈與效果域
閉包
模塊化(amd/cmd/umd/ES6 module)
跨域多種方法,如 jsonp
javascript 中的 this 指向問題
CORS
AJAX 的幾種狀況,ajax與fetch,hijax
iframe 與 onload 堵塞主頁面
前端安全與 CSRF,XSS,SQL注入,DDOS
js 異步加載
IE 內存走漏
js 創(chuàng)立目標的幾種方法
js 承繼的幾種方法與優(yōu)缺陷
SEO
ES6 新特性
promise 與 generator
服務器推
jQuery 相關
js 捕獲與冒泡
drag 和 drop 完成拖拽
cookie/session/本地存儲
雅虎網站優(yōu)化的軍規(guī)
css 與 js 的堵塞加載
chrome / IE 瀏覽器事情兼容
css 相關
筆直水平居中
盒模型
起浮與定位
排版引擎與js引擎
GPU 加快與動畫功能
DOM1,DOM2,DOM3 規(guī)范
css 功能
h 標簽與 title 標簽
em 與百分比等
瀏覽器緩存與使用緩存
div 與 table 布局
web 規(guī)范
css 的 hack 技能
png/jpg/webp 圖片格式
canvas 與 svg
css3 的新特性,如 flex 布局等
呼應式布局
link 與 import 差異
三欄自適應
b 和 strong,i 和 em 差異
削減頁面回流
BFC
硬件加快與動畫優(yōu)化
前端自動化相關
webpack 相關
webpack-dev-server 相關
單頁面打包東西+多頁面打包東西
babel 相關
其他常識
http/1.1 與 http2
http 三次握手協議
http 狀況碼
json 與 xml
前端功能優(yōu)化
nodejs/npm 相關內容
算法
幾種排序算法
回文字符
遞歸(很重要)
其他常見的前端算法
上面牽涉到的任何一部分內容都應該要可以融匯貫通。許多人都激烈對立刷題,其實我以為刷題自身沒有什么害處,只需你能真實的將這部分常識弄懂,那么也是一個好的學習方法。
比方上面我說的一個點,如硬件加快。那么許多人就會想到:
可以敞開GPU加快,那么你關于GPU加快又了解多少?webkit的網頁分層了解嗎?你知道將動畫放到一個獨立的圖層中可以削減頁面的回流嗎?你知道軟件加快和硬件加快差異嗎?
我曾經也測驗了解了這部分的內容,后邊發(fā)現當你越深化了解,你感覺自己會的東西越少,可是當你真實自始至終去細心學習了的時分,你會發(fā)現你真的是在生長。
這樣,當面試官問到這部分內容的時分,你也可以信手拈來。如果你想要深化了解硬件加快和軟件加快,你可以細心學習一下這部分內容,當然也包含動畫功能優(yōu)化。
我想,當你能將硬件加快在面試中表達這么多的時分,任何一個面試官都會對你發(fā)生愛好。
又比方這幾年比較火的打包技能 webpack,你可能知道它可以處理模塊化開發(fā)的問題,它相關于 gulp/grunt 等有許多長處。
可是你仍然需求深化的了解它,比方: webpack 的 loader 與 plugin 的差異,webpack 的 tree-shaking 技能,webpack 集成 webpack-dev-server ,webpack 的 HMR 等等。
經過上面兩個比方,我是想要通知你:任何一個前端技能,你都要學會問為什么?只要你學會問為什么才闡明你在考慮。
這是刷題與學習的最重要的差異,所以我覺得,如果是抱著學習的情緒去刷題自身就無可厚非,由于它能讓你快速堆集相關的常識,有問題的當地才干孕育常識。
1.2 交流交流才能
這一部分內容往往來自于hr,他們是一群很靈敏的集體。他們一般都不會問你技能問題,你需求通知他,你很喜歡這個公司,你很垂青這個時機,如果你過來了你會怎樣怎樣樣。
我記住阿里HR其時還問了我這樣一個問題:“你為什么挑選做前端?你覺得前端和后端首要差異是什么?”
當然,這都是很開放性的問題,任何人都會有不同的答復,你只需求正確的表達你的觀念,可是牢記不要極點。
由于,誰也不想和一個思維很極點的人一同作業(yè)!我下面敘述一下我面試的幾家公司HR階段都問了什么問題:
阿里巴巴
拿到阿里的 offer 路途是比較崎嶇的。實習階段經過了三輪面試,盡管都是電話面試,可是感覺仍是挺難的。
經過我上面說的那種刷題方法,技能上的問題根本都可以答復上來,當然這也可能是由于公司自身關于應屆生的要求比較簡單罷了,或許說我具有了必定的面試技巧。
當然,后邊又經過了實習生轉正的3輪面試,包含技能面試和HR面試,不過這個階段一般都是由于部分HC的約束,所以許多實習生都沒有可以留下來,所以我算走運的一批。
其時HR問過我?guī)讉€問題,比方:你為什么挑選前端?你覺得你最大的缺陷是什么?關于未來你有什么規(guī)劃?這些問題其實在網上都能看到,可是許多人可能答復的并不怎樣好,終究結局往往很悲慘劇。
所以在面試前,你必定要想好這幾個問題,如果是電話面試最好可以寫下來。而如果是現場面試,那必定也要能很快的說出來,并且有條理,一同也不要給他人一種感覺你是在背標題。
這點很重要,由于他人在調查你的交流才能,而不是你的回憶才能。
美團
美團的面試算法居多,其時技能上首要寫了幾個遞歸算法,這兒就不再多說。
可能是由于在前面三輪面試中我表述了自己在實習階段的一些不如意,所以 HR 階段首要 focus 在這個方面。
比方:如果你的上一家公司和我們一同給了你offer,那么你會挑選誰,為什么?你實習是在杭州,我們的 base 地址首要在北京和上海,你有沒有考慮?這一類的問題,我的答復都是不要緊,會考慮這一類的。
當然,這一點有點昧心,可是至少可以讓HR看到你對他們公司感愛好,你是帶著真摯來的,而不是來玩玩。
何況招聘的進程就是雙向的,所以你很難確保他人是否會給你時機,那么你當然應該去爭奪,而不必自動斷了自己的路。
當然,到了HR階段,如果你沒有說什么不能說的,或許特別讓他人以為你不適應這個崗位的,那么一般都是沒有問題的。
終究,美團也如我預期的給了我 offer,并且是榜首個 offer,盡管終究沒去。
網易游戲
網易的校招面試難點在于書面考試,這一點我現已領教過了,我加上在實習階段的閱歷,在網易書面考試上掛了3次。
終究一次我是跑去北京霸筆的,由于我實習回來的時分現已錯過了網易的校招,一切就只趕上了網易游戲的獨自招聘。
終究,做了書面考試題,比較潰散,感覺自己應該是沒有時機了。終究游戲部分的 HR 姐姐通知我,體系又開放了,我可以到校招體系中再次錄入我的信息,這一點真的感謝網易游戲的 HR 姐姐。
網易游戲前端提名人團隊其時給我驚呆了,簡直都是985類的研究生,并且一般都是拿著 BAT 等級其他前端 offer 來的。
不過,留下來的也少得不幸。到了HR階段,也沒有問我什么過多的問題,就和我聊了聊在杭州實習的閱歷。
當然,還有就是談薪酬了,那么是榜首次談薪酬,終究成果比較被迫。
其實,我覺得在HR階段闡明你在技能上現已得到認可了,至少能到達你面試的公司的基準線了。
可是在面試之前,你最好要想清楚幾個問題:你為什么要來這個公司?你覺得你能給公司帶來什么?你覺得你還有那些當地缺乏,需求改善?
等等諸如此類,而不要不做任何預備,那么HR姐姐肯定會給你一驚的。
2. 面試前你應該做怎樣的預備?
2.1 學習式的刷題
說實話,在面試前我一向都在”刷題”。由于面試就短短的幾十分鐘,除了堅持常識的廣度,你也需求確保常識的了解程度,所以那段時刻我一向都在重復的溫習我上面說到的這些常識點。
簡直你只需問其間的任何一個問題,我都能立馬答復出來。
當然,每天如果只是做這些,你會感到很煩,所以那段時刻我也會學習一些新的東西,寫一些小項目托管到 github 上,頻頻更新自己的博客,乃至有時分一天更新了好幾篇(看jQuery源碼的時分)。
所以你可以去我的博客看看那段時分我都寫了些什么。這兒我需求強調下,博客和 github 是面試官比較垂青的點。
記住其時收到新浪的一個面試邀約就是由于我的博客,其時面試官說,看你博客中有寫 node 內容的,是否有愛好參與新浪的面試。
當然,終究由于作業(yè)地址的原因拋棄了??墒俏蚁胝f的是,堅持記載常識和問題的習氣是自我進步一個重要的方面。其時,我們一同找前端職位的小伙伴,簡直每人都有一個自己的博客。
我們回到刷題的問題上來。請記住,刷題的初衷應該是為了擴寬自己常識的深度,深度的學習才干讓你生長,而不是總是蜻蜓點水。其時和我一同面試阿里的還有好幾個同學,可是終究都沒能經過。
其實,我覺得他們的問題首要是太重視自己常識的廣度,而疏忽了常識的深度。
比方,同一個問題,我可能會說出 A+B+C+D,可是他們卻只能說出A+B,并且A+B往往都是網上現成的答案。
能參與這場 chat,我需求通知你,如果你想要進BAT等大型互聯網公司,千萬別只重視常識的廣度而疏忽了深度。
特別是關于前端的開發(fā)職位來說,css+js+nodejs+打包東西等等內容,常常會讓你目不暇接,可是必定別忘了深度問題。
2.2 簡歷猜題
我參與阿里邊試之前沒有任何實習閱歷,僅有有的就是自己做過一個小項目,包含前端和后端都是我寫的。
其實,它自身都算不上一個項目,就是為了面試搞的(其實并不滿是),其時好幾個同學也開發(fā)了一個相似的網站,意圖就是為了能讓面試官在簡歷里邊找問題。
簡歷里邊找問題很簡單,可是在簡歷里邊自己找問題也很簡單,你可以參閱上面榜首部分說到的基礎常識,然后推測面試官會問那些問題。
終究你會發(fā)現,面試官問的問題要么就是上面你預備的基礎常識,要么就是你現已在簡歷中推測出來的問題。大多數狀況下都是如此。
2.3 反客為主
我閱歷的每一場面試終究都會有這個問題:你還有什么問題嗎?其實每次面試之前我都會想好我需求問什么,有些問題來自于自身的考慮,有些問題來自于上一次面試和其他公司的比較等等諸如此類。
還有就是,在每一輪面試的時分,如果面試官在表述的時分我都會記載下來他的首要內容,然后想好那些當地我需求進一步深化了解的。所以在這個階段我往往會有許多話說,或許說有許多問題要問。
比方我前次到了網易游戲的第三輪技能面試的時分問了面試官一個問題:前次網易郵箱出了一次用戶信息走漏的問題,這個問題會和前端有聯系嗎?
網易前端在安全方面是否做了處理,比方 CSRF,XSS,SQL 注入等等。
所以,在這個階段,我覺得有問題問闡明在整個面試的進程中你在考慮。我是鼓舞在這個階段提出你自己的問題的。
3. 面試時分怎么做到見機行事?
其實要做到見機行事不簡單,可是也不困難。我的自傲來自于我上面說的”學習式的刷題”,當然我這兒說的刷題不是那種樸實的刷題自身,這部分內容我上面現已具體說過了。
除了刷題可以做到見機行事以外,還有就是上面說的猜題,這種出于簡歷自身內容的猜題也是進步你面試自傲的重要維度。
終究一個方面就是引導,你除了要知道面試官的問題以外,你還要通知面試官你會什么。而你會什么的答復來自于你對面試官的引導。
比方,你對webpack很了解,那么你在面試中應該故意的體現出來,而面試官一般都是很靈敏的,所以如果引導妥當將會是一個很好的體現時機。
還有一點就是,面試官一般也會去調查你常識的深度,你通知他你對 webpack 很了解,那么他出于這個意圖也會對這部分內容進行進一步的調查吧。
4. 心態(tài)
心態(tài)是最重要的一個環(huán)節(jié)。其時校招季許多同學由于壓力過大,終究都病倒了,跑去醫(yī)院打點滴。還有些同學,在閱歷一次面試失利的沖擊后就不想溫習了,就覺得沒有時機了。
不管是那種狀況,我覺得都不是一個好的求職情緒。由于,校招季的時機許多,錯過了,并不是說徹底沒有時機了,何況許多公司終究還有春招等。
所以說,情緒自身就是最重要的,如果你病倒了或許采納消極怠工的情緒,那么終究你往往失掉的會更多。