來杭州也有一兩個星期了,這個週末下雨,是在沒地去,仍是習慣性的打開電腦逛技術論壇,想一想也是很久沒有更新博文了。。。css
背景
而後個人技術棧大概是react+node,GitHub地址:Nealyang前端
目前的狀態是阿里經過了技術面和交叉面,大概下週一總監面+hr面。網易hr面結束了,在等通知,科大訊飛已經拿到offer了,仍是比較不錯的offer,別的創業公司、上市公司不論是人工智能仍是智能家居也都基本拿了offer,可是。。。好吧,仍是有着一顆對大廠的夙願。或許就是大學埋下的吧。vue
由於我的比較懶得跑面試,因此不少公司的電面我都接了,可是不少公司的現場面試都沒有去,哎呀呀,好吧,我懶~這裏我大概回一下全部面試所問到的問題吧,由於以前沒想去記錄,因此不少我都忘記是哪一家了,索性一不作二不休,直接一股腦回憶下面試題吧。能想起來的我標註下是哪家公司。node
面試 beginreact
HTML & CSS 部分webpack
這個在面試上市公司和創業公司問的比較多。大概我會回答一些盒模型包括怪異盒模型,定位佈局,流佈局,浮動佈局,flex和grid佈局,包括還有三欄佈局中的聖盃和雙飛翼。這些都還比較熟悉,因此問到都還知道。其中flex佈局問的比較多,阿里的交叉面還有別的公司有問到子元素的一些屬性。git
這個滴滴面試的時候有問道(滴滴是破例讓我加入流程中的,而且他們還招的技術棧是vue)通常在問清除浮動的時候會說一下es6
這個應該是老生常談的東西了,電話面試的時候有兩家問到github
這個也是上市公司和創業公司問到,大概就是說了下中間的區別,還有會簡單說下cookie的屬性,以及一些前端安全方面web
滴滴電面的時候問的,這個我也知道,大概說了下相對於父元素仍是文檔來肯定大小之類的。
這個我也就用了個大概,大概知道的簡寫位置和屬性,固然,阿里一面還問到,爲何動畫推薦用c3而不是js,這個問題當時並無回答好,大概就是從性能上扯了扯,可是什麼佔用主線程以及瀏覽器對c3加速都沒聊到。而後網易面試也問到了,而後我巴拉巴拉說了下後來查的相關東西。而後網易問了一句,瀏覽器怎麼優化的動畫。。。我。。。不知道。
由於這個在以前團隊裏面沒有明文規定,因此我也沒總結過,大概說了下本身編碼中的方式,和瀏覽器查抄的過程。
JavaScript部分
這是一個初創公司電面的問題,問的都很是基礎,好比css畫三角形之類的。別說,以前沒準備,還真的忘記了border怎麼設置出現直角三角形仍是等腰三角形。固然,這個類型仍是。。。沒得說的
這個應該問的都比較多,我以前總結過,以及經常使用的場景,也結合es6談了下做用域和單例模式談了下
這個我基本都知道,以前有在掘金上總結過,這個不少公司又問道,包括阿里、網易一面。通常方式我都知道,具體展開會把CORS跨域,heade信息字段都說了一遍。也不難
這個我以前也總結過相關文章,網易的一面第二個面試官問了,我大概從原型繼承、構造函數繼承、組合繼承、寄生組合繼承優缺點和實現方式都說了下,還有es6的實現方式。通常這樣就回答差很少了。後來網易還接着問,es5如何實現super關鍵字。看過babel轉換後代碼,可是這個。。真的忘記看了。大概說了下本身的實現思路,也就是裝飾着模式。而後也就渾過這題了。
滴滴一面問到了,阿里交叉面的時候聊業務場景的時候,也有問到。以前看過文章,本身項目中也用過,因此大概知道些
阿里交叉面問到的js事件執行機制。我大概談了下event loop,microtask,task queue。而後事件委託、捕獲、冒泡、目標階段大概談了下,也順道談了下target和currentTarget。
因該算是考察基礎功吧,談了下XMLHTTPRequest的過程,readyState的幾種類型和表明的意思。以及瀏覽器兼容性的處理方案。
貌似有兩家公司問到,大概說了下typeof、instanceof、constructor、prototype等判斷方式,注意事項以及優缺點。應該回答的還能夠
這個大概我也知道,還說了下es6的相關東西
這個我也總結相關文章,大概說了下四種綁定規則,還說下new的執行過程以及箭頭函數注意事項
哇,這個問題問的真的大。有看過《JavaScript語言精粹》,大概說了哪些弱類型語言通病,由於以前搞過Java,因此綜合對比了下,同時也說了這些詬病怎麼解決。應該會的面試官仍是挺滿意的
這個應該回答的都不是很深刻,大概我都用過,promise的實現方式也研究過,可是不記得哪一家公司問到generator的怎麼實現的。大概從iterator上簡單說了本身的方案,而後說沒看過。而後對於別的其實問的不是不少。基本套路就是es6瞭解過嗎?用過哪些語法。後面具體可能會說下哪個新特性的實現方式或者轉向babel、webpack的相關面試。
React部分
這裏我大概說了下每個生命週期,es五、es6的兩種書寫方式,以及每個生命週期咱們通常用來作些什麼操做
阿里一面的時候問到的,我大概說了兩種setState設置方式,以及表現爲同步的那種設置方式展開說了下
這個也大概從生命週期分期了下。話說我到如今還不知道本身回答的對不對,技友們,大家以爲呢?
這個我比較熟悉,一帶說了下全部的技術棧,以及react-redux的原理、高階組件、以及redux-saga的實現原理。(逮住會的,都啪啪啪說出來,本身掌握點節奏。可是要適當,好比問到我es6,我啦啦啦說了一二十分鐘,通常面試官會有點不耐煩。因此視狀況而定)
阿里一面以及一家上市公司也聞到過這相似的問題,大概從組合、複用、重複、測試、維護等方面說了下
阿里面試的時候問到的問題,想了一會,說了不會。後來查了下,大概能夠經過react16中返回不帶包裹元素的組件來實現。由於和阿里一面面試官後來聊得比較開心,加了微信,還斗膽爲了下他,他說還有曲線救國的實現方式
從pureRenderMixin、ShouldComponentUpdate等方面說了下,以及組件的設計和木偶組建的函數編寫方式說了下
這個大搞幾種方式也都說了下,prop,context(順道扯了react-redux的context實現方式)、redux甚至廣播都說了一遍
阿里交叉面問的,直接說實現方式源碼沒有看過,可是大概說了下原理和步驟,具體代碼怎麼寫的不知道。
滴滴一面問的,實現方式仍是說了不知道,而後說了下MVC和MVVM的設計模式,由於以前用過angular1,大概就說下髒檢查步驟以及view-model的做用
大概說了下react-router的通常使用方式,以及沒有使用react-router的時候如何利用h5 的history API來實現路由跳轉等。
阿里的一面問的,在github上寫過demo,可是沒有用過別的第三方庫,這裏我就大概說了下webpack的配置項以及大概的實現思路和注意事項。
瀏覽器
阿里的一面問的問題,這個我以前在環球作過相關技術分享,因此大概都知道,從過程到不一樣內核差別(差別部分簡單提了下)說了下dom、CSSDom以及paint等過程。而後面試官接着問如何防止repaint和reflow。大概從引發repaint和reflow等操做上說了下避免。網易的一面也問到了repaint和reflow。
這個以前總結過,雅虎的軍規啥的。以及首屏優化。而後面試跟了些預加載http head信息相關的,這個沒怎麼看,回答的不是很好
這個我也作了相關的技術分享,也看過《圖解http》大概從http 1.0和1.1都說了下,其中有一家公司問到200 From cache和200 ok區別(有贊),這個還真的忽略了,後來查了下大概瞭解了。其實也就是強緩存
從100~500 大概也說了十幾種。其實也就是《圖解http》中的東西,當時還刻意背了下
網易一面問題,說了下2.0的採用二進制格式、多路複用、報文頭壓縮、服務器主動推送還扯了websocket的相關內容WebSocket:5分鐘從入門到精通。而後網易接着問,報文頭怎麼壓縮的?我。。。??不知道。。。而後大概也問了下https的TLS/SSL,以前看過漫畫的htts的相關東西,大概說了下漫畫裏面的故事~
這個回答的不是很好,也是一個大廠問的題目,我回答的都是表象。後來我看了一篇文章,大概知道了。99%的人都理解錯了HTTP中GET與POST的區別
構建工具
這個我看過一本書《深刻淺出webpack》,因此基本都能回答上來。包括原理和編寫loader、Plugin注意事項。固然,我本身沒有寫過。。。《深刻淺出webpack》
結束語
下週起阿里終面,網易等通知。別的公司基本offer也都拿到了,可是大廠畢竟大廠,基本拿到的offer都過時了。。。並無辦法,畢竟有個大廠夢。好吧,其實仍是挺幸運的,阿里用人部門主管leader和一面面試官,加了微信都聊得挺開心的。還感謝主管GitHub follow了我。指望加入~
基本想到的就是就這麼些,後面若是想到再來補充吧。
我有一個前端學習交流QQ羣:328058344 若是你在學習前端的過程當中遇到什麼問題,歡迎來個人QQ羣提問,羣裏天天還會更新一些學習資源。禁止閒聊,非喜勿進。