校招季--獻給前端求職路上的你們(個人面試經歷分享)
從今年找實習以來,頁面時了不少公司,包括tab,zhu場和zhu場遊戲部門,整體感覺是,t的面試過程,整體感覺最輕鬆,聊天式,a的面試內容會稍微比較新一點,目前比較新的東西,要適當瞭解,有時間可以自己用一用。b的問題問的稍微深一點,zhu場的整體感覺相對稍微簡單一點,但是zhu場遊戲要求的還是比較多,不僅僅是前端,資料庫,伺服器這些也是要了解的哦。
下面我就不指名是哪個公司了,面試的內容有交叉,有一部分東西也是根據個人經歷扯出來的,還有的面試到了二、三面就不問這些基礎的東西,
問的更多的是你的專案經歷,解決問題的能力,未來的規劃,我當時沒記錄下來,但是我個人認為最重要的就是一面和二面,大部分的人是跪在前兩輪,也包括我自己,所以希望以下內容能有助於大家順利過關前兩輪。最好能幫到大家拿下offer:
面試一
內容包括專案介紹、跨域、閉包、原型、設計模式、CSS盒子、Linux一些命令,SVN拉分支,還有一些專案的前後臺互動。HTML5新特性及離線儲存。
首先是問專案,專案裡你做的什麼東西,寫了哪些頁面,前後臺是怎麼呼叫的,遇到了什麼問題,你是怎麼解決的。用的前端框架是什麼?原始碼你看了嗎?覺得這個框架的優缺點是什麼?
接下來是基礎問題了。具體問題記下了:
1. 為什麼要用閉包?你對閉包的認識,應用場景是哪些?
2. JS裡的繼承有哪些?口述一個原型繼承的程式碼。
3. 在專案開發中是否遇到了跨域問題?有哪些解決方案,jsonp與html5的解決方案是什麼?
4. 講講幾種簡單的設計模式的應用場景。外觀模式與介面卡模式的區別。
5. 常見的Linux指令你用過哪些?管道是用來幹嘛的。
6. 講講CSS的盒子模型,怎麼區分和使用。
7. SVN拉分支的命令是什麼?
8. 你對加班怎麼看?
面試二
內容包括專案介紹、CSS3新特性、HTML5新特性。
首先是問專案,用的框架是什麼(因為自己用的是公司內部框架,所以這個問題一般都會問。),這個框架與Angular有什麼不一樣?原始碼是否瞭解?
接下來是基礎問題了。問的比較新,我就跪在這。具體問題記下了:
1. CSS3 動畫用過嗎?animation有那幾個屬性?Transition呢?(自己用的都是jQuery裡的animate,和他講錯了),那時候心裡已經開始慌了,CSS3和Html5新特性只是瞭解一些,稍微一深入,就有點吃不消,我和他講,平時公式用的CSS都是公共的,有專門的負責樣式的自己只是拿過來用就是,對css掌握的不是很好。果然下面到了html5.
2. Html5裡的離線儲存平時用過麼?有哪些。Cookie與WebStorage的區別。
3. Html5裡的多執行緒知道嗎,如何建立一個執行緒?執行緒嵌套了,他們之間是怎麼通訊的?
面試到此結束。我了他哪裡答得不好?前端知識更新快,對於一些新東西要快速學習,快速理解。有一些比較重要的東西,光會用是不夠的,裡面的一些原理還是要弄清楚。
面試三
內容包括專案介紹、JS閉包、HTML5跨域處理。整體來說這個面試最美壓力,整個過程就是聊天一樣。技術性東西沒怎麼聊。
1. 首先問了一下為什麼首選城市是上海?願不願去深圳。
2. 學的是通訊,為什麼要選前端?你覺得你對於計算機專業有什麼優勢與不足?
3. 聊了大概十分鐘的專案,吐槽了一下在實習遇到的部門溝通與最佳實踐的種種問題,他也表示感同身受。
4. 最後問了JS閉包、HTML5跨域處理。
面試四
首先聊專案,這裡聊得還可以,滿順暢的,但是接下來我犯了一個嚴重錯誤,就是因為聊得順暢。我給他介紹了一個比較厲害的功能實現。但是其實這裡在具體的專案中不是我實現的。記住一點不會就不要亂吹,不然是搬起石頭砸自己的腳。
聊完專案,開始聊知識點了,總體感覺是問的比較深,一共就問了4個問題,但是一個問題會拓展下去。
1、 JS事件模型與事件流介紹一下,事件代理用過嗎?自定義事件,事件廣播和分發【答得不好】
2、 瀏覽器原理,和他講了一通。Js是怎麼解析的?什麼時候執行的?but定時器的執行原理【答的不好】
3、 怎麼設計一個JS元件。【複用性,擴充套件性】
4、 jQuery與angular有什麼特點。原始碼裡哪裡比較有特色。
總結:自己的做的要比較熟,一些基礎的東西不能浮在表面,要深入一點,被問到的時候不能虛,會多少答多少,不會了就直接說出來,我當時不會了就在那裡,一直讓面試官等著,最後面試官問了句,你還在嗎?這印象太不好了。乾脆利落,他可能會多問幾個問題,拖拖拉拉,對方可能就不想問了。
面試五
這裡提醒一下,騰訊的電話,我事先沒接到,前一天晚上打球去了,打球回來洗澡去了,晚上十點打了我兩個電話沒接到,第二天中午我直接打過去了,是hr接的電話,下午就電話就來了。
這次記住了上次的教訓,聊專案的時候,可以給面試官挖幾個坑,因為這次面試的明顯能感覺出來是個boss。坑在哪裡?坑是自己掌握的比較好,在聊專案的時候可以吸引到面試官的點,稍微帶一帶方向,下一個問題面試官可能就是要問你這個問題了。
第一坑:
我給他挖的第一個是angular的原始碼分析。(較上次jQuery原始碼的教訓,還不如講自己比較熟的angular)。
為什麼會挖這個坑?因為專案用到的框架是企業內部的框架,沒法和他講,但是是對angular的封裝,我說這個框架,企業內部因為我許可權不夠,無法檢視原始碼,但我知道它是對angular與ajax的封裝,我對angular比較熟。這樣他就被吸引了。
完事了聊了聊實習的一些經歷。講了在企業學到的一些東西,因為我感覺他對我做過的東西不是很感興趣,都是一些和具體業務有關。我就和他聊了一些企業管理的東西,從開發中的程式碼規範到最佳實踐,再到敏捷開發流程,最後發現面試官比較喜歡聽團隊管理,又和他聊了一些部門間溝通的事情,部門間聯調,加班的一些事。
最後問了我一些技術問題,問我對演算法熟不熟?計算機網路怎麼樣?【這個是聊到了通訊與計算機專業差異性問題,我是學通訊的,他想了解一些我對計算機基礎的知識的掌握程度。】我說資料結構與演算法學過,但是都還給老師了,但是學校沒有吧學費退給我。他又問計算機網路呢?我說還行,【因為當時心裡不敢再說不怎麼熟,我就說了還行】
問題:怎麼減少http的請求次數?答了前端的東西,他要求從協議去解釋,沒有想出來。
面試六
- 剛開始聊專案,專案問了怎麼實現的
- 根據專案問了cookie機制
- ajax和jsonp的實現原理,用原生js怎麼實現
- 如果要實現一個自定義的事件,要怎麼實現
- 描述一下angularjs的模組注入和依賴注入
- angularjs的雙向資料繫結實現原理
- 響應式設計的一些問題
- 問了rem
面試七
1.實習期間做了一些什麼?
2.canvas是否熟悉,說一下一些常用api,以及canvas的效能是否有關注過,你專案裡那個網頁遊戲用到了canvas,遊戲的fps能有多少。
3. 你專案中元件是怎麼寫的,如果要你寫一個彈窗元件,你怎麼寫。
4. 一個a標籤繫結點選事件怎麼阻止提交,又讓我說具體原理。
5. tcp和udp具體有哪些不同?
6. 實習時間是多長?
面試八
問題好多,好散,大概問了大概30個問題。我儘量回憶。考察的知識面好多。
1、 css相容性處理。
2、 純css3實現360度旋轉,不能用js。
3、 Css動畫用過嗎?過渡函式有哪些?
4、 Css盒子,怎麼設定?
5、 Css定位,怎麼響應式佈局雙欄,多種方法。
6、 選擇器有哪些?給我出了具體的個題目,問能不能達到效果。關於偽類選擇器的,我猜了一下不能。
7、 原生js實現ajax的流程,狀態碼有哪些。
8、 怎麼區分不同的瀏覽器(火狐,IE,google),多種方法。
9、 Js宣告函式的方式有哪些?分別有什麼不同?
10、 閉包與匿名函式的區別,分別怎麼用?舉例子說明
11、 BOM的常用屬性
12、 節點的增刪改查分別怎麼操作?
13、 Javascript的繼承機制,有什麼好處與不足。
14、 Js事件流的處理相容性處理,一共有哪些,【答全比較難。】
15、 SE6的let與const有什麼區別?
16、 用過sea.js與reqire.js嗎?【表示沒用過】
17、 Angular用過嗎?有哪些特性,原理是什麼?
18、 在angular的開發中遇到過什麼問題嗎,雙向繫結嗎中資料模型變,v不顯示。
19、 移動端與PC端開發有什麼不同?
20、 怎麼設定響應式佈局?
21、 Bootstrap響應式佈局是怎麼實現的?
22、 為什麼頻繁操作dom節點的代價比較大?
23、 Html5有哪些新特性,你用過哪些?
24、 http1.0與http1.1有什麼區別?http2有神麼新特性?
25、 資料庫常見的儲存引擎有哪些?有什麼區別?
總結:問的問題都比較基礎,但是設計的面很廣,問題量比較大。基本覆蓋了所有的重要的知識點。認真打好基礎吧。