曾經被面試,被拒絕了,很不解,自己覺得明明表現得還可以的,怎麼就被拒了呢 如今,當角色轉換為面試官之後,站在面試官的角度,再思考問題,應也會拒掉當初的自己 昨日,HR小姐姐突然通知,今天要面試15個候選人,19屆的校招兒,每位15分鐘左右,而且只有一個是現場面,其他都電面。 說實在的,那一霎那是有點 ...
曾經被面試,被拒絕了,很不解,自己覺得明明表現得還可以的,怎麼就被拒了呢
如今,當角色轉換為面試官之後,站在面試官的角度,再思考問題,應也會拒掉當初的自己
昨日,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回調,發佈訂閱)中等
二分查找 熟悉
反應較快,溝通順暢,話稍多
技術基礎:中等
前端基礎:中等
綜合:中等
這個“通過”的關鍵詞有點多,有時也不會列舉辣麽多。
通過的時候會著重列舉好的地方,不通過的時候一般多為不好的
雖說一天之內面了那麼多人,也只能說是面試菜菜,還需要多多改進練習,參與主宰一個人的工作機會,這種感覺很特別呀~
希望各位前端兒,能夠儘快鞏固好自己的基礎,包括電腦基礎和前端基礎。
其一,它是敲門磚;其二,工作之後會懶得去學,也沒那麼多時間去學基礎了。