曾經被面試,被拒絕了,很不解,自己覺得明明表現得還可以的,怎么就被拒了呢
如今,當角色轉換為面試官之后,站在面試官的角度,再思考問題,應也會拒掉當初的自己
昨日,HR小姐姐突然通知,今天要面試15個候選人,19屆的校招兒,每位15分鍾左右,而且只有一個是現場面,其他都電面。
說實在的,那一霎那是有點慌了,雖然前不久現場面過兩個人,但還一直懵懵懂懂地不知道怎么評判一個候選人。
就當是一個歷練吧,先去學一下老人家們是怎么面試的。本文就總結一下今天的面試(校招初面),各位看官看看就好哈

一. 面試官需要做到三件事
1. 自己復習好或去學一下相關技術點
沒錯,面試官也是需要准備的。要防止理解不來候選人的技術,也為了能夠hold住現場。
2. 想一些要問的問題,想好怎么評判候選人
問題的選擇還要有連貫性,更進一步地,還要預先想到候選人可能會怎么答,自己要怎么接。作為面試官,最好提問要思路清晰不要斷。
3. 想好怎么在面試過程中記錄重點的討論,用以佐證面試結果
二、怎么考察校招候選人
在我們這邊,初面一般會限制在15分鍾左右,要在這么短時間內考察一個人是有點難的,所以要抓好關鍵點。
對於應屆校招生來說,我個人會從這四個角度考察
1. 計算機基礎
對於在校生來說,會比較看重基礎,數據結構、算法、網絡、操作系統 這些還是會涉及的,但不會太難。
社招有另外的玩法,另外,在校的暑期實習生會降低一些要求
基本都會從以下抽幾個來問問,前端基礎和項目經驗失分的話,這里就是得分點了
數據結構:棧和隊列的區別,JS里面的棧和隊列,二叉樹的幾種遍歷方式(高級)
算法:二分查找,冒泡排序,插入排序,快排(高級),深度/廣度優先搜索(高級)
網絡:OSI七層模型,HTTP/TCP在哪一層,HTTP和HTTPS區別,HTTP三次握手和四次揮手,常見狀態碼和首部字段,GET和POST區別,HTTPS連接過程(高級),了解HTTP2么(高級)
操作系統:進程和線程的區別
2. 前端基礎
雖然對在校生看重基礎,也不代表不看重前端的專業基礎。畢竟你是要做前端的,就應該有所准備。
問題首先會選前面三個基礎的,然后會根據候選人用過的技術、框架來調整,一般都會問為什么要用XX技術,XX技術相比起來有什么優點。
HTML:怎么理解語義化標准化,HTML5新增的特性(別只會說新標簽,我希望你能說出新的API)
CSS: 垂直居中的實現,position屬性值的區別,浮動的問題和解決,怎么用CSS畫圓畫三角形,Flex布局用過沒,rem是什么以及和em的區別(高級),BFC(高級),內聯盒模型(高級),CSS動畫的簡單使用
JS: 閉包是什么以及特點,怎么繼承舉個栗子,作用域是什么舉個栗子,setTimeout/setInterval區別,了解過哪些事件(很多人把雙擊事件說成是doubleclick),原生獲取DOM元素(希望能說出新的API)、獲取元素寬高方式,clientHeight/offsetHeight/scrollHeight區別(高級),在元素后面放元素(高級)
ES6:用過哪些新特性,let和var區別,Promise狀態及為什么用它,箭頭函數this指向
jQuery: 鏈式調用怎么實現,有看過源碼么(說一下知道有哪些實現),它有什么缺點
bootstrap: 為什么用它(希望能說出響應式),簡單說幾個用法,自己可以實現柵格化么(高級)
NodeJS:它有什么特點,為什么不用其他后台語言
Webpack:有自己配置過么,loader和plugins的區別,和gulp/grunt的區別
綜合:前端安全的認識,前端優化的方法,強制緩存/協商緩存相關,cookie和session,websocket和http區別(不用它則怎么實現實時),url從輸入到頁面渲染的過程(dns解析過關,DOM構建過程加分,瀏覽器進線程加加分)
框架:為什么用Angular/React/Vue/Redux/Vuex(說出特點,它們解決了什么問題),生命周期,setState不保證同步,組件間通信
其他: ...
3. 項目經驗
項目經驗主要考察候選人的實踐,以及解決問題能力。一般來說一個項目太少了,列2-4個比較好,太多也看不了那么多
做過的最好的項目是什么,這個項目里面用到什么技術(期間會從關鍵詞展開問技術點)
在項目里面遇到過什么棘手的問題沒,怎么解決的(希望不要只說百度搜索)
如果讓你優化這個項目,你覺得可以怎么改進
這個部分也包括過往在公司里面的實習經歷
實習期間做的是什么,有什么收獲
實習期間的開發流程
如果前面技術基礎和前端基礎答得不錯了,這個部分就不會問太多了,因為時間不夠用,且一般也會放在下一輪面試中細問。
如果前面都答得不好,如果項目經歷這個部分有優勢,還是有希望的。
4. 綜合能力
態度,有沒有遲到
會稍稍關注專業課的成績(不一定)
學前端多久了,怎么學的,看過哪些書,有沒有技術總結
個人優點/缺點
關注技術熱情,職業規划有沒有
溝通順不順暢(要注意反應不要太遲鈍,自己注意什么時候該收口了),思維條理清晰與否
上面列舉了這么多想要問的問題,問題是列舉不完的,時間限制也不允許問那么多,也沒必要,所以會從各方面抽取幾個問題來問。
首先,我會點幾個計算機基礎,然后着重問前端基礎,如果前端基礎挺好,就再過一下項目經驗,不出差錯基本就通過了。
如果前端基礎和項目經驗這塊挺一般的,就會再回去問一些計算機基礎,結合專業成績考察,如果計算機基礎還不錯,從第四點綜合能力判斷值不值得培養,如果面試人數很多的話會放到備考慮,一般會放到通過(看我人多好~)
如果計算機基礎,前端基礎都挺一般,那肯定是不通過了。
最糾結的是評判備考慮,某些點好某些點又不好的難以抉擇,所以希望候選人不要有“突出”的短板,為自己也為面試官。
三、面試官是怎么記錄面試過程的
面試過程只有十幾分鍾,面試官在和候選人溝通的同時需要記錄相關的關鍵詞,用以佐證面試結果。
我們這里面試記錄有候選人闡述和面試官評價兩個部分,下面就列一下我某條“通過”的記錄,
候選人闡述
在校期間成績還可以,獎學金,大賽獲獎
大三開始學前端,看視頻,看書,在自己博客總結記錄
JS比CSS好一些
實習前自己做了三個項目
去stackoverflow,github,官方文檔解決問題
規划:先深入基礎,后面會做一些NodeJS相關的,走入全棧
面試官評價
osi七層模型,http/s區別,http四次揮手
進程和線程區別 不了解
前端優化方法 ok 前端安全 一般
語義化 ok
url -> 頁面渲染過程 中等(dns查詢,網頁渲染流程)
垂直居中,使用position, flex布局
js閉包,繼承 ok 原生js操作dom 一般
看過jq源碼 只知道無new式對象的實現
session和cookie區別
react比jq優點,虛擬dom,setState,組件間通信(props回調,發布訂閱)中等
二分查找 熟悉
反應較快,溝通順暢,話稍多
技術基礎:中等
前端基礎:中等
綜合:中等
這個“通過”的關鍵詞有點多,有時也不會列舉辣么多。
通過的時候會着重列舉好的地方,不通過的時候一般多為不好的
雖說一天之內面了那么多人,也只能說是面試菜菜,還需要多多改進練習,參與主宰一個人的工作機會,這種感覺很特別呀~
希望各位前端兒,能夠盡快鞏固好自己的基礎,包括計算機基礎和前端基礎。
其一,它是敲門磚;其二,工作之后會懶得去學,也沒那么多時間去學基礎了。
