前言
作為一個程序員,當然總是期望自己的代碼能「一次編寫,四處運行」,但真實經驗往往是「一處修改,百處填坑」,依賴落后了好幾個版本了想要升級、老代碼已經看著很不爽了打算重構,都需要下堅決的決心,畢竟哪里漏掉了或者改錯了都可能釀成大禍,我們一般都怎么搞呢?
CSS篇
- 讓一個元素水平垂直居中,到底有多少種方案?
- 浮動布局的優點,缺點?清除浮動的方式?
- 使用display:inline-block會產生的問題?解決方法?
- 布局題:div垂直居中,左右10px,高度始終為寬度一半
- CSS如何進行布局
- 什么是BFC?
- 觸發條件
- BFC渲染規則
- 應用場景
- …
JavaScript篇
- JS原始數據類型有哪些?引用數據類型有哪些?
- null是對象嗎?為什么?
- ‘1’.toString()為什么可以調用?
- 0.1+0.2為什么不等于0.3?
- 什么是BigInt?
- 為什么需要BigInt?
- 如何創建并使用BigInt?
- typeof 是否能正確判斷類型?
- instanceof能否判斷基本數據類型?
- 能不能手動實現一下instanceof的功能?
- Object.is和===的區別?
- [] == ![]結果是什么?為什么?
- JS中類型轉換有哪幾種?
- == 和 ===有什么區別?
- 對象轉原始類型是根據什么流程運行的?
- 對閉包的理解
- 原型對象和構造函數有何關系?
- 能不能描述一下原型鏈?
- JS如何實現繼承?
- 函數的arguments為什么不是數組?如何轉化成數組?
- forEach中return有效果嗎?如何中斷forEach循環?
- JS判斷數組中是否包含某個值
- JS中flat—數組扁平化
- 數組中的高階函數
- 實現數組map方法 ?
- 實現數組reduce方法 ?
- 實現數組 push、pop 方法 ?
- 實現數組filter方法 ?
- 實現數組splice方法 ?
- 實現數組splice方法 ?
- 實現數組sort方法?
- 模擬實現一個new的效果?
- 模擬實現一個 bind 的效果?
- 實現一個 call/apply 函數?
- 談談你對JS中this的理解
- JS中淺拷貝的手段有哪些?
- 寫一個完整的深拷貝
進階
- 數據是如何存儲的?
- V8 引擎如何進行垃圾內存的回收?
- 描述一下 V8 執行一段JS代碼的過程?
- 宏任務(MacroTask)引入
- 微任務(MicroTask)引入
- 理解EventLoop
- nodejs 和 瀏覽器關于eventLoop的主要區別
- 關于process.nextTick的一點說明
- nodejs中的異步、非阻塞I/O是如何實現的?
- JS異步編程有哪些方案?為什么會出現這些方案?
- 簡單實現一下 node 中回調函數的機制?
- Promise 憑借什么消滅了回調地獄?
- 為什么Promise要引入微任務?
- Promise 如何實現鏈式調用?
- 實現Promise的 resolve、reject 和 finally
- 實現Promise的 all 和 race
- 談談你對生成器以及協程的理解
- 如何讓 Generator 的異步代碼按順序執行完畢?
- 解釋一下async/await的運行機制。
- forEach 中用 await 會產生什么問題?怎么解決這個問題?
- 關于JS中一些重要的api實現
最后
分享一套阿里大牛整理的前端資料給大家,點擊前端校招面試題精編解析大全即可免費下載
?? 謝謝支持,喜歡的話別忘了 關注、點贊哦。
點擊前端校招面試題精編解析大全](https://docs.qq.com/doc/DSlNuUUFPWmpZVlJh)即可免費下載**
?? 謝謝支持,喜歡的話別忘了 關注、點贊哦。