前端面試中可能會問到的問題(一)

一面可能會問到的問題?

  • 使用鍵去獲得JavaScript對象中的值時,時間複雜度是多少?為什麼?
  • ES6中用過的語法或者知識點
  • proxy相比Object.defineProperty的優勢(前面我提到了proxy)
  • 閉包的概念以及用途
  • http響應狀態碼
  • 永久重定向和臨時重定向的區別?如何實現
  • 說出知道的http請求方法,還有就是put和post的區別,put和patch的區別。
  • 冪等的請求靠什麼來實現的?是該方法自身實現還是需要後端實現?
  • 瀏覽器緩存策略
  • 跨域的解決辦法
  • cookie的特性
  • 前端可能會存在哪些安全風險?如何防範
  • 為什麼要有微任務

然後做了兩道題:

  • 實現一個sum函數,sum(1,2)(3).valueOf()這樣調用後的結果為6
  • 對字符串去重,要求時間複雜度為O(n)。
  • transition和animation
  • 垂直居中的方法
  • 點擊tab對應到tab詳情。<a href=’#id’>來實現
  • var聲明變量和var聲明function的優先級
  • promise的實現
  • 箭頭函數
  • this的指向
  • 閉包
  • getElementsByTagName和querySelectAll的區別
  • 類數組對象轉數組的方法
  • 數組的去重
  • set方法
  • 對象的遍歷方法
  • 304的過程是怎麼樣的,etag和if-none-match又是怎麼比較的?
  • content-type類型
  • https加密的過程
  • 跨域
  • 防抖和節流
  • cookie的samestie屬性
  • 了解的排序
  • 21.mvvm和mvc的區別
  • 學習過程中的難點
  • 同源策略比較細 www.baidu.comwww.a.baidu.com能訪問同一個cookie嗎(不能。。。吧)?www.a.baidu.comwww.b.baidu.com(不能)以及www.baike.comwww.baidu.com(不能)等等
  • es6的一些語法
  • 什麼時候用promise什麼時候用async/await   
  • 塊級作用域的理解,for(let i=0;。。。){ },i屬於哪個 if(let i。。。)return i;沒有{}又屬於哪個作用域
  • 字符串反轉
  • 數組中常用的方法
  • push能一下放多個參數嗎?
  • 數組連接的方法
  • 顯示類型轉換和隱式類型(+,-,*,/,>=.<=)
  • 1+’2’=『12』、『2』+1=『21』
  • 字符串轉數字,Number、parseInt的參數,第二個參數的範圍
  • html、js有哪些被拋棄的屬性
  • vue實現todolist
  • v-for中的key值
  • webpack的loader原理
  • html5的新特性
  • cookie、localstorage、sessionstorage的區別
  • vue-router的原理
  • 同源策略細節
  • 301、302、401、403
  • 二分查找
  • vue的理解
  • 雙向綁定原理
  • 監聽數組的變化
  • 盒子模型
  • z-index重疊細節
  • px、em和rem
  • this指向問題
  • 箭頭函數中this
  • 原型鏈
  • cors跨域
  • ebpack中的loader的原理
  • 盒子模型
  • 三欄布局
  • BFC以及條件
  • 閉包以及使用場景
  • promise和settimeout的運行順序
  • es6相關
  • promise封裝ajax
  • object.defineproperty()修改多個屬性會改變幾次,怎麼規避無用的賦值?
  • 什麼閉包,閉包的條件、缺點、使用,為什麼要用閉包
  • 箭頭函數this
  • 垂直居中
  • flex:1
  • vue雙向數據綁定
  • 事件委託
  • 二分查找
  • 垃圾回收
  • new的過程
  • 深淺拷貝
  • 代碼:遞歸實現深拷貝
  • 渲染機制詳細到合成顯示
  • diff算法的key值作用,舉例abc到bac的變化過程
  • 盒模型
  • display、行內元素、塊級元素、行內塊元素
  • 三角形
  • 垂直居中
  • 閉包
  • es5中類的實現
  • new的實現過程
  • new vue的過程
  • this的指向
  • target和currenttarget區別
  • for in、object.keys()對象遍歷
  • settimeout怎樣執行的
  • promise狀態
  • eventloop、宏任務、微任務
  • cookie相關 cookie怎麼生成的、cookie的path
  • seesion只能存sessionid嗎
  • nodejs
  • 移動端的適配
  • tcp三次握手四次揮手,為什麼四次
  • 瀏覽器緩存
  • xss和csrf攻擊和預防
  • 打亂一個數組
  • vue的雙向數據綁定
  • vuex、為什麼要用vuex存儲數據,為什麼不能直接用全局變量嗎
  • webpack相關
  • tcp和udp的區別,tcp為什麼可靠?
  • http和https的區別
  • https的加密過程
  • wacth和mounted的區別
  • js單線程的運行機制
  • 輪播圖的實現
  • requestAnimationFrame和settimeout的區別
  • settimeout為什麼會有延遲
  • 重排重繪
  • 16ms內渲染兩次會報錯嗎?
  • settimeout和web worker的區別
  • ajax實現異步的過程(舉個例子異步怎麼執行的)
  • 閉包 為什麼使用閉包,閉包的缺點
  • 字符串中出現次數最多,時間複雜度、空間複雜度,有沒有別的方法了

 

 

 

二面可能會問到的問題?

  • typescript中的泛型的理解?
  • http/2了解過嗎?相對於http/1.x有什麼優勢?http2又帶來什麼問題?
  • tcp三次握手?
  • https加密原理?
  • 前端安全?
  • promise 和 async/await 解決了什麼問題以及它們的錯誤處理;then方法中的第二個回調和catch的區別?
  • weakMap 和 weakSet 相對於 Map 和 Set 的區別?

 

Tags: