『處女作』3 年經(jīng)驗前端第一次跳槽面試總結
在掘金上當了幾年的伸手黨,最近也準備輸出一些自己的東西。
關于我
首先介紹一下我自己,17 年畢業(yè)于一所 211 學校,但是由于大學四年馳騁在召喚師峽谷,畢業(yè)后也沒有找到一份大廠的工作,隨便找了一家創(chuàng)業(yè)公司簽了三方就去了。好在這家公司也挺給力,我這一呆就是三年,996 當著「全干工程師」,從前端到服務端,從 JavaScript 到 Java,這幾年下來都積累了一些經(jīng)驗,不說精通,也算是比較熟悉了。
今年 7 月份的時候,瞅著已經(jīng)畢業(yè)三年,是時候該考慮一下職業(yè)生涯的下一站了,開始準備面試的事情。
這里建議大家,每一份工作度需要慎重考慮,不要頻繁跳槽。文章后面也會給出我的理由和建議。
在職準備了 2 個月的面試,開始試著投了一些簡歷,幸運的是都收到了面試邀請,有的公司也拿到了 offer。也嘗試投了幾家大廠,阿里、字節(jié)、快手目前還在流程中。
也已經(jīng)向 TL 提了離職,最近在工作交接,事情比較少,寫個文章記錄一下最近的經(jīng)歷。第一次在掘金寫文章,希望能有人看。
復習準備
掘金上關于面試的文章很多,這也是社區(qū)一個現(xiàn)狀,所以就挑了幾篇個人覺得比較好的著重看了一下:
2020年前端面試復習必讀文章:這個大佬的思維導圖整理的非常好,整個復習流程都是跟著這個導圖來的,而且也不用自己到處搜索文章了,相當方便 在阿里我是如何當面試官的 :這篇文章主要是了解一下阿里的面試是怎么樣的,面試官關心什么 面試分享:兩年工作經(jīng)驗成功面試阿里P6總結 :實戰(zhàn)篇,真實的阿里大佬面試經(jīng)驗 字節(jié)跳動今日頭條前端面經(jīng)(4輪技術面+hr面):實戰(zhàn)篇,真實的字節(jié)大佬面試經(jīng)驗
以上文章個人覺得就夠了,能花時間把這些知識啃下來,一般面試就沒什么問題了。
簡歷準備
簡歷真的非常重要,校招的時候就有這樣的感覺,那時候有實習經(jīng)歷和沒實習經(jīng)歷簡直就是一個天一個地。這次也準備認真準備一下自己的簡歷。
對于簡歷,個人認為大廠面試官和 HR 最看重的是兩點:
項目經(jīng)歷:做了什么 工作經(jīng)歷:穩(wěn)定性
這里就不展開說了,社區(qū)里也很多優(yōu)秀的文章。在這個過程中,我主要參考了以下幾篇文章,推薦一下:
《大廠面試》面試官看了直呼想要的簡歷 面試官到底想看什么樣的簡歷? 教你如何寫初/高級前端簡歷【贈簡歷導圖】
面試題整理
這里整理一下我這段時間面試遇到的面試題,按類型分一下,這里只整理了我記錄的問題,來不及寫答案。。
JavaScript
說說 JavaScript 的數(shù)據(jù)類型 → 通過 JSON.stringify 的方式實現(xiàn)深拷貝,會有什么問題? 通過遞歸的方式實現(xiàn)深拷貝,會有什么問題? 基本數(shù)據(jù)類型和引用數(shù)據(jù)類型有什么區(qū)別?→ 引用數(shù)據(jù)類型如何進行拷?→ 淺拷貝和深拷貝有什么區(qū)別?→ 目前 JavaScript 的 API 中,哪些是淺拷貝,哪些是深拷貝?→ 如何實現(xiàn)一個深拷貝?→ 數(shù)組去重的方式有哪些(手寫) 找出數(shù)組中最大的數(shù)(手寫) 說一下事件循環(huán)的理解 快排是如何實現(xiàn)的,講一下思路和復雜度 如何實現(xiàn)一個觀察者模式(手寫) 如何實現(xiàn)一個單例模式(手寫) 如何解析一個 URL,獲取 query 和 hash 的參數(shù)(手寫) TypeScript 和 JavaScript 最大的區(qū)別在哪
CSS
flex 布局問題 如何實現(xiàn)九宮格 flex: 1 是什么意思 grid 布局有沒有了解 移動端適配怎么做的,rem 原理是什么 vw 有沒有了解
React/Vue
看你的簡歷,Vue 和 React 都寫的比較多,可以說說 Vue 和 React 的區(qū)別嗎?→ 新項目的技術選型,你會從哪些方面來考慮選用 Vue 還是 React? 說說對虛擬 DOM 的理解 講講 React 的生命周期 React 函數(shù)式組件和類組件有什么區(qū)別 React 的 diff 和 Vue 的有什么區(qū)別 列表中的 key 有什么作用 說說 React Hooks 的理解,它有什么優(yōu)點 為什么在 if 語句中不能使用 useState React 的高階組件和 Vue 的 mixins 是一個類型的東西嗎?Vue 中是否可以實現(xiàn)類似 React 的高階組件 Vue 的雙向綁定是如何實現(xiàn)的 Vue 如何收集依賴 Vue 的父子組件掛載順序是怎么樣的 Vue 的 template 是如何編譯的 Vue 3.0 和 2.x 有什么區(qū)別 defineProperty 有什么缺點,為什么 Vue 3.0 之后改用 proxy 我不是前端,你如何向我介紹 Vue,讓我能夠盡可能多的了解它
工程化
webpack 和 rollup 的區(qū)別 說說 webpack 的 loader 和 plugin esbuild 有沒有了解 CommonJS 和 ESM 有什么區(qū)別 vite 和 snowpack 有了解嗎,unbundle 有什么好處 webpack 的熱更新原理大概介紹一下 vue-loader 做了哪些事情 tree sharking 是什么 webpack4 相對于之前做了哪些優(yōu)化 項目中,你使用 webpack 做了哪些優(yōu)化 如何發(fā)布一個 npm 包,如何發(fā)布一個 beta 包,如何修改一個正式包為 beta 包 npm 包的版本號是如何規(guī)范的 DefinePlugin 的作用是什么 你們團隊的項目腳手架是如何實現(xiàn)的
后端
Koa 和 Express 有什么區(qū)別 說說 Koa 的中間件原理 常用的 I/O API 有哪些 SSR 是如何實現(xiàn)的 serverless 有了解嗎 說說 node 的執(zhí)行機制(單線程) 為什么說 node 是高性能的 node 為什么支持高并發(fā) 說說 MVC 的思想 說說 ORM 的優(yōu)點 MySQL 和 MongoDB 有什么區(qū)別 依賴注入是什么
網(wǎng)絡
從輸入 URL 到頁面渲染,其中發(fā)生了什么 HTTP 和 HTTPS 有什么區(qū)別 說說 HTTP 的狀態(tài)碼 304 狀態(tài)碼是什么意思 瀏覽器的三級緩存策略了解嗎 說說瀏覽器的緩存,強緩存是什么 websocket 是怎么建立鏈接的 HTTPS 是如何保證網(wǎng)絡安全的 HTTP 如何實現(xiàn)長連接
算法(手寫)
回形打印矩陣 找出最長子字符串 數(shù)組中的第 K 個最大元素 用 JavaScript 實現(xiàn)一個鏈表 從上到下打印二叉樹
其它
介紹一個你覺得比較有亮點的項目 在創(chuàng)業(yè)公司,一個前端項目的生命周期是怎么樣的 在團隊中,你是如何制定編碼規(guī)范的,如何推動規(guī)范落地的 你還有什么問題想問我的
不要頻繁跳槽
文章開始的時候有提到「不要頻繁跳槽」,這里談談個人的看法。
對于面試官和 HR 來說,「頻繁跳槽」意味著兩點:
你的穩(wěn)定性不足,得承擔給你發(fā)了 offer 之后你來到公司過了一段時間又跑路的風險,所以會是減分項 你沒有足夠的沉淀,技術和業(yè)務的沉淀是要時間的,對業(yè)務有深入的理解才能思考如何通過技術手段來解決業(yè)務上的問題
對于個人來說,「頻繁跳槽」意味著:
一直在準備面試,一直在刷題,沒有一個專項學習的時間段 技術棧一直在變,一直在適應,沒法更深入的理解 對業(yè)務不理解,對團隊不熟悉,惡性循環(huán),又想跳槽
總結
這篇文章主要還是記錄一下自己這段時間以來的一些經(jīng)歷,希望對大家能有幫助。之后也會輸出一些「全干工程師」的技術文章在這里,感興趣的朋友可以先關注。
當然,如果有空,我也會將我對上面面試題的回答都整理一下,發(fā)在社區(qū)上。
這里的面試題都非常基礎,沒什么難度。如果這些算法題目你搞不定,我也建了一個專門搞算法的公眾號:力扣加加,感興趣的朋友可以關注一下。
愛心三連擊
1.看到這里了就點個在看支持下吧,你的在看是我創(chuàng)作的動力。
2.關注公眾號腦洞前端,獲取更多前端硬核文章!加個星標,不錯過每一條成長的機會。
3.如果你覺得本文的內容對你有幫助,就幫我轉發(fā)一下吧。
