前戲:
又到了一年中跳槽的好日子,如今的前端開發已經不像幾年前的前端了,已經愈來愈內卷化,面試愈來愈難,大廠愈來愈難進,畢業生難找到工做且工資低,好公司的前端崗都是寧缺毋濫的狀況,讓我想起了當年Android和IOS開發興起而後到需求飽和的那幾年。
想要破局就要不斷的打造本身的核心競爭力。我我的經過平時的學習總結出了進階前端專家同時也是面試中常常會出現的問題,如下是我我的認爲進階到前端專家(俗稱大佬)的必需要懂的前端問題清單,一方面是給本身的目標,一方面是分享給你們,若有很差的地方,你們也能夠指出,共同窗習:css
清單就分模塊來羅列,爲方便你們記憶和篇幅問題對應的答案、筆試題目就不去列舉了,同時也能考驗你們的檢索式學習(來自《認知天性》):前端
JS
- 說一下toPrimitive和類型轉換
- 說一下變量提高和函數提高的優先級
- 爲何0.1+0.2不等於0.3,如何解決?
- 什麼是閉包,閉包有哪些應用場景
- 什麼是柯里化,手寫一下func(1)(2)(33)...的累加實現
- 對象深拷貝有哪些方法?手寫一下對象深拷貝
- 說一下new和.的優先級
- 手寫new的執行過程
- 什麼是js函數式編程、純函數、高階函數
- 防抖和節流函數的區別,手寫一個防抖
- bind、call、apply的區別,手寫一個bind
- 什麼是面向切面編程
- instanceof和typeof能準確判斷引用類型麼,如何準確判斷引用類型?
- 什麼是類數組,如何轉換成數組
- 講一下原型鏈,爲何Function.prototype === Function.__proto__
- 講一下js繼承的幾種方式的優缺點,手寫一個寄生組合繼承
- 講一下promise原理,實現一個簡單的promise
- 講一下js事件循環,宏任務、微任務的區別
- 手寫發佈訂閱模式
- 箭頭函數須要注意哪些問題
CSS
- 行內和塊級元素的區別
- css盒模型有哪些和區別
- css選擇器優先級
- CSS中哪些屬性不能夠從父元素繼承
- 垂直居中有哪些方法
- 什麼是BFC
- CSS 動畫實現一個菊花圖
- 如何設置小於12px的字體,畫一條0.5px的線
- 移動端1px解決方案
- rem和em和vh的區別
- CSS 實現一個三角形、正方體
- 響應式和自適應的區別
- 如何適配多種設備的屏幕
HTML5
- 什麼是HTML語義化、SEO
- 手寫一個左邊固定右邊自適應的佈局
- 手寫一個聖盃佈局、雙飛翼佈局
- script標籤、style標籤、link標籤哪些會阻塞渲染
- 有作過canvas嗎
瀏覽器
- GET和POST的區別,什麼是restfulAPI
- 什麼是事件代理、事件冒泡、事件捕獲
- cookie和localstorage、seeionStorage的區別
- 講一下從瀏覽器輸入url到最終頁面呈現的過程
- 如何解決列表渲染過多DOM元素的卡頓問題
- 如何解決瀏覽器緩存問題,強緩存、協商緩存的區別
- 有遇到哪些IE瀏覽器兼容性問題,如何解決的?
框架(vue)
- Vue的生命週期都幹了些什麼
- Vue組件通訊的方式有哪些
- watch、methods 和 computed 的區別
- 什麼是MVVM
- 說一下雙向綁定原理,手寫個簡單的雙向綁定
- 你以爲Vue源碼中有哪些亮點
- v-for中爲何要使用key
- vue的高級用法有哪些及做用
- vue-Router原理是什麼
- vue-Router鉤子函數的做用
- Vue的nextTick原理是什麼
- 什麼是虛擬DOM
- 簡單說一下Vue和React的認識,之間的區別
- Vue3更新了哪些東西
- 有了解Vite嗎
前端工程化
- 單頁和多頁應用的區別
- 什麼是工程化、模塊化、組件化
- 寫過通用性組件嗎
- 你知道哪些前端性能優化方法
- 簡單說一下webpack原理
- 什麼是webpack樹抖動、scope hoisting
- 什麼是sourcemap
- 如何實現多頁面打包,移動端適配打包
- 有寫過loader或plugin嗎
- 什麼是SSR、如何實現SSR
- 有作過跨端開發嗎
網絡
- 什麼是TCP/IP
- 什麼是跨域,如何解決
- 爲何要三次握手四次揮手
- 你知道哪些http響應狀態碼,分別表示什麼
- https爲何安全
- 什麼是xss,csrf
其餘
- 平時是怎麼學習前端的
- 最近在關注哪些新技術
- 有造過哪些輪子
- 爲何選擇前端
- 有作事後端開發嗎
最後
若是本文對你有幫助的話,但願您能給個贊~