2019年3月前端面试题
1. 模塊化發展歷程
2. 全局作用域中,用 const 和 let 聲明的變量不在 window 上,那到底在哪里?如何去獲取?
3.cookie 和 token 都存放在 header 中,為什么不會劫持 token?
4.兩個數組合并成一個數組
請把兩個數組 [‘A1’, ‘A2’, ‘B1’, ‘B2’, ‘C1’, ‘C2’, ‘D1’, ‘D2’] 和 [‘A’, ‘B’, ‘C’, ‘D’],合并為 [‘A1’, ‘A2’, ‘A’, ‘B1’, ‘B2’, ‘B’, ‘C1’, ‘C2’, ‘C’, ‘D1’, ‘D2’, ‘D’]
let a1 = ['A1', 'A2', 'B1', 'B2', 'C1', 'C2', 'D1', 'D2'] let a2 = ['A', 'B', 'C', 'D'].map((item) => {return item + 3 })let a3 = [...a1, ...a2].sort().map((item) => {if(item.includes('3')){return item.split('')[0]}return item })5.Virtual DOM 真的比操作原生 DOM 快嗎?談談你的想法。
1. 原生 DOM 操作 vs. 通過框架封裝操作。
這是一個性能 vs. 可維護性的取舍。框架的意義在于為你掩蓋底層的 DOM 操作,讓你用更聲明式的方式來描述你的目的,從而讓你的代碼更容易維護。沒有任何框架可以比純手動的優化 DOM 操作更快,因為框架的 DOM 操作層需要應對任何上層 API 可能產生的操作,它的實現必須是普適的。針對任何一個 benchmark,我都可以寫出比任何框架更快的手動優化,但是那有什么意義呢?在構建一個實際應用的時候,你難道為每一個地方都去做手動優化嗎?出于可維護性的考慮,這顯然不可能。框架給你的保證是,你在不需要手動優化的情況下,我依然可以給你提供過得去的性能。
2. 對 React 的 Virtual DOM 的誤解。
3. 性能比較也要看場合
4.下面的代碼打印什么內容,為什么?
5.簡單改造下面的代碼,使之分別打印 10 和 20
6.瀏覽器緩存讀取規則
鏈接:https://juejin.im/post/5c9ac3f66fb9a070e056718f
來源:掘金
總結
以上是生活随笔為你收集整理的2019年3月前端面试题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 猜一猜:“水果之王”榴莲与我国历史上的哪
- 下一篇: 美颜相机如何把照片组合在一起(Beaut