一年前端的面試分享
背景
2019 年,筆者畢業(yè)以后通過社招群面進入了一家深圳的教育公司,今年 7 月底的時候離職,滿打滿算剛好
一年經(jīng)驗吧,最近剛好也拿到了不錯的offer,群里的同學也叫我寫寫面經(jīng)參考下,? 那就總結(jié)下吧
劣勢與優(yōu)勢
7 月底筆者很大膽的裸辭了,現(xiàn)在想想也是很后怕,因為仔細盤算下來,幾乎都是劣勢項,而且社招招人都是
3年起步,最低也是2年,也不知道當時自己哪里來的勇氣,很武斷的裸辭了,所以離職原因可以總結(jié)為:腦子進水了
劣勢
下面我來盤算下我的劣勢,深刻認識自己的處境
渣本畢業(yè),學歷一般 中文系出身,非科班大四轉(zhuǎn)行,總體基礎(chǔ)不行一年工作年限,`項目毫無亮點,滿足不了社招條件 疫情下整個市場都對求職者非常不友好 裸辭待業(yè)在家,無經(jīng)濟收入來源
以上是五點非常致命的,毫不客氣的說,我可能連簡歷都過不了HR初篩,當然也沒有告訴家人自己的境況,不過竟然自己做出的決定,那么就不要懊惱自己的做法,一股腦準備復習吧
優(yōu)勢
劣勢太大了,所以優(yōu)勢不值得一提,所以一年經(jīng)驗或者 2 年經(jīng)驗的同學還是慎重裸辭
面試過的公司
極光推送
一家以大數(shù)據(jù)業(yè)務的公司,規(guī)模來說挺不錯的
一面
如何獲取數(shù)組中最大的數(shù) 數(shù)組和鏈表的使用場景 了解哪些排序算法,說說冒泡排序和快排的區(qū)別 背包問題 瀏覽器緩存
二面
輸入一串 url 到瀏覽器,會發(fā)生什么? vm.$set 原理 深拷貝如何解決循環(huán)引用 http 緩存頭部字段 vue 和 react 的區(qū)別 講講前端路由 一道查找路徑的場景題 一道如何優(yōu)雅處理異步的場景題 webpack 工作流 webpack 是如何解決兩次引入的
三面
公司團隊規(guī)模 講講 http 三次握手,為什么需要三次握手 講講 http 四次揮手,為什么需要四次而不是三次 如何看待 toc tob 端業(yè)務 對于新技術(shù)如何看待 小程序有了解過嗎
四面
四面是極光 HR 面
在小組擔任的位置 說說你工作中遇到有挑戰(zhàn)的項目 期待薪資
五面
五面是 vp 面
非科班的你如何學習的 看過那些書,講講收獲 詳細講講 DNS 如何進行解析 數(shù)據(jù)庫范式 了解 golang 嗎(簡歷沒寫數(shù)據(jù)庫和 golang 的字眼)
總結(jié)
到第三面后,等了一個星期并沒有通知,所以極光的面試體驗挺差的,后面 HR 突然加我談薪資,極光四面 HR 面我要了 17K,HR 說一年 17 挺難的,然后幫你約 vp 面,最終面的時候,我記得那時候是下雨天,面試的環(huán)境零時準備答的并不是很好,而且問的都是后端相關(guān)的,有毒
編程貓
一面
編程貓的一面面試官是拿著題庫問的,問的很多,好像問了一個半小時
布局的幾種方式 rem vw 的區(qū)別 rem em 的區(qū)別 講講 React 生命周期 webpack 你是如何做優(yōu)化的 瀏覽器緩存 react 性能優(yōu)化 vue 如何做權(quán)限檢驗 講講 http2.0 你是如何做性能優(yōu)化的 單元測試如何測試,代碼覆蓋率如何 react 生命周期 說說 react 狀態(tài)邏輯復用問題 react fiber 節(jié)點(不會,沒研究過) Koa 中間件原理 Redux 工作流? Koa 如何實現(xiàn)監(jiān)控處理 如何實現(xiàn) Redux 異步功能 Redux 如何優(yōu)化 commonjs 的實現(xiàn)原理 講講垃圾回收機制 Vue 和 React 的區(qū)別 函數(shù)式編程 如何理解純函數(shù) Node 原生 api 錯誤處理有了解嗎 說說瀏覽器渲染流程 說說重繪和重排 說說那些屬性可以直接避免重繪和重排 treeshaking 原理 按需加載的原理 講講原型鏈 了解過那些前端構(gòu)建工具 分別介紹他 webpack rollup gulp 雙向數(shù)據(jù)綁定原理 說 vue 如何收集依賴的
確實問了很多,而且自我介紹中我說熟悉 vue,面試官問:“你熟悉vue,那么來說說React生命周期有哪些”,?汗顏,我大概回答的正確率 ? 有 90%左右
二面
二面是架構(gòu)師面
組件庫設計有什么原則? 組件庫是自己從 0 開始搭的嗎,說說有哪些特點 如何實現(xiàn)組件庫按需加載 講講 http2.0 講講 react fiber 節(jié)點
三面
三面是技術(shù)負責人,不過從問題來看是不懂技術(shù)的
說說你的優(yōu)點與缺點 公司加班情況 期待薪資
總體來說三面體驗并不是很好,由于事先不打算再去教育公司的打算,所以我同樣要的很高,要了 17-18K,結(jié)果可想而知,不過第二天同樣去面過編程貓的朋友收到了 offer(之前被卡 offer 卡的很久)
裸辭準備階段
面了大概兩三家公司后,就差不多自己那些知識點不足,雖然是
0offer 狀態(tài),但是面的公司都過了技術(shù)面,所以當時覺得問題不大,然后自己計劃花一個月時間準備復習,所以自己就正式開啟了裸辭階段
復習計劃

復習簽到
其實自己并不是很努力的復習,反正生物鐘是亂了,白天睡到 2 點,晚上復習到四點,想糾正過來很難,而且自己中途有去追劇和看小說,追了
瑯琊榜和斗羅大陸,? 過后非常愧疚

復習筆記
CSS 思維導圖筆記

Javascript 思維導圖筆記

ECM+

...嗯嗯,就不一一列舉了,需要筆記的同學可以找我私聊
裸辭階段有趣的事情
裸辭階段里,值得提起的是自己幫助了三位哥們拿到滿意的 offer,因為自己 19 年上半年的時候當過一段時間的面試官,所以知道一些
面試套路,可能是知道自己在準備面試,就過來詢問我了,后面我把我面試過的公司推薦了給他們,因為有加了他們的 HR,所以直接找HR內(nèi)推了,所以恭喜他們找到了滿意的工作
...嗯嗯,其實自己時間不夠,? 了,不過幫他們模擬面試的那段時間自己處于追劇看小說階段,所以都是浪費,就樂于助人了哈哈哈
開啟新一輪面試
裸辭時候,我微信很少上,朋友圈也關(guān)閉了,群里的好幾個同學倒是每天都來提醒我面的如何,
哭了,無形之中給自己增加了壓力,所以我并沒有全部準備好,數(shù)據(jù)結(jié)構(gòu)和算法才剛開始刷,但是自己覺得先去試試吧,然后再面的過程中繼續(xù)復習
涂鴉智能
涂鴉智能的 HR 安排的崗位是門檻是
三年起步的高級開發(fā)崗位,? 當時也沒有底,就去試試了,然后順便面基了在涂鴉工作的同事
一面
自我介紹還是介紹自己熟悉 vue,但是還是 ? 問了下 react 問題,所以 2020 掌握 react 確實是必須的
講講 react 生命周期 講講 ts 中 type 和 interface 的區(qū)別 說說 http 說說 vue 雙向綁定 diff 算法 虛擬 dom http 緩存 講講 http2.0 說說狀態(tài)邏輯復用問題 介紹下項目的亮點 介紹下 es6 新增了哪些特性 Reflect 的用途? 域名切片 為什么 vue 或者 react 要求 key 值唯一
二面
二面是杭州那邊的面試官視頻面的,問了 15 分鐘左右,是最快的一次面試
平時怎么學習的 MVVM 實現(xiàn) data 里面為什么是函數(shù) UDP TCP 區(qū)別 vuex 應用場景 說說 XSS 攻擊 說說 vue 的模板編譯 說說你項目的亮點 new 原理實現(xiàn) 狀態(tài)碼 403 404 503 304 說說 diff 算法 虛擬 dom 說說事件循環(huán) react16 的重大更新 為什么廢除三個 react 生命周期的 api 講講 fiber 瀏覽器緩存 nextTick 原理 說說你的 vuex 持久化插件
三面
住在哪里,哪里人,到公司多久? 有了解涂鴉智能嗎? 期待薪資 平時如何學習 什么時候可以入職?
總結(jié)
涂鴉的面試很快,自己也認識很多在涂鴉工作的朋友,也跟他們聊了挺久,順便蹭了杯奶茶哈哈哈,也拿到了 offer

360 金融
群里的一位老哥找到了我,可能以為我三年起步了,內(nèi)推我去 360 金融試試,后來溝通中知道我是一年的,當時還是推了我的簡歷過去試試了,當時心里想的是,過去試試吧,當炮灰也行哈哈哈 ?
一面
一面是筆試題
內(nèi)聯(lián)元素與塊級元素 數(shù)組 api 介紹 dom 操作有哪些 api 數(shù)組去重有哪幾種方式 變量提升問題 柯里化問題 數(shù)字轉(zhuǎn)金額的問題 手寫防抖和節(jié)流 判斷變量的幾種方式,有哪些不同 動態(tài)規(guī)劃算法題
二面
二面就一面寫的題目來問
什么是暫時性死區(qū)? 塊級作用域和函數(shù)作用域 call bind new 實現(xiàn)原理 vue 雙向綁定原理 LRU 算法 http2.0 的有哪些內(nèi)容 http 緩存 rem vw 區(qū)別 移動 1px 問題 函數(shù)柯里化 diff 算法 虛擬 dom nextTick 原理 事件循環(huán) 閉包 如何解決移動端 click300ms 延遲? vue 有哪些全局組件 移動端如何完成拖拽功能? 防抖和節(jié)流的區(qū)別 一道邏輯題:有 5L 的桶和 3L 的桶,如何拿到 4L 的水
三面
防抖和節(jié)流的使用場景,舉例說明 居中的幾種方案 事件循環(huán) 移動 1px setTimeout 與 rAF flex:1 介紹下你寫的庫 發(fā)布訂閱和觀察者的區(qū)別 單例模式 發(fā)布訂閱和觀察者的區(qū)別 JSONP 實現(xiàn)原理 移動端點擊延遲怎么處理 git flow 工作流介紹 兩道場景題-問的很深,很久 怎么做性能優(yōu)化 性能監(jiān)控如何做 跨域解決方案 簡單請求和復雜請求 多路復用
四面
經(jīng)過前面三輪,感覺如何? git flow 工作流介紹 團隊規(guī)模 如何進行 code review 平時怎么學習
... 四面問的不多,都是聊技術(shù)外的話題
五面
職位規(guī)劃? 有什么要問的嗎 什么時候可以入職 有其它的 offer 嗎?
總結(jié)
從 2 點一直面到 6 點,? 腦袋都懵逼了,每道題都問的挺深入的,給面試官的專業(yè)
點贊,面試體驗也不錯,后面就拿到了360 金融的 offer了,自己有點不敢相信,畢竟當時面的崗位門檻是3-5年的,也是有足夠的運氣
字節(jié)跳動
本來自己面了兩家后就不想再繼續(xù)面試了,因為面完涂鴉后,自己喉嚨發(fā)炎了,然后發(fā)了燒,然后面試字節(jié)的時候狀態(tài)很差
一面
組件庫相關(guān)問題 項目自己搭的?如何支持 treeshaking 如何做版本號管理 less 樣式如何做按需加載 webpack 項目如何優(yōu)化 ts 泛型 怎么通過實例拿到構(gòu)造函數(shù) extend 原理 Object.create 原理 虛擬列表原理 瀏覽器緩存原理 什么 csrf 攻擊 csrftoken 怎么獲取,存到哪里 并發(fā)調(diào)度手寫題
...嗯嗯寫這篇文章時候還暫時不知道掛了沒,但是自己最后一道手寫題沒寫出來(應該是掛了),當時連讀題目都讀不下去,面試官嘗試引導下我,可是當時腦袋就是一團糟,總體來說大概面了一個多小時,? 真的太可惜了,最后一題自己看過別人討論,沒去研究,因為這題都是面三年左右的,當時想著自己一年,應該不會的,不會的....
感謝的人
特別感謝佬
輝哥和濤哥,裸辭階段也一直在請教他們,特別感激,還有若川大佬、jsliang大佬、霖呆呆大佬等大佬
最后
最后寫上我自己一直喜歡的一句名言:
世界上只有一種真正的英雄主義就是在認清生活真相之后仍然熱愛它

