1. 程式人生 > >當角色轉換為面試官之後

當角色轉換為面試官之後

曾經被面試,被拒絕了,很不解,自己覺得明明表現得還可以的,怎麼就被拒了呢

如今,當角色轉換為面試官之後,站在面試官的角度,再思考問題,應也會拒掉當初的自己

 

昨日,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回撥,釋出訂閱)中等

二分查詢 熟悉

 

反應較快,溝通順暢,話稍多

 

技術基礎:中等

前端基礎:中等

綜合:中等

 

這個“通過”的關鍵詞有點多,有時也不會列舉辣麼多。

通過的時候會著重列舉好的地方,不通過的時候一般多為不好的

 

 

雖說一天之內面了那麼多人,也只能說是面試菜菜,還需要多多改進練習,參與主宰一個人的工作機會,這種感覺很特別呀~

 

希望各位前端兒,能夠儘快鞏固好自己的基礎,包括計算機基礎和前端基礎。

其一,它是敲門磚;其二,工作之後會懶得去學,也沒那麼多時間去學基礎了。