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

MQK發表於2020-05-30

一面可能會問到的問題?

  • 使用鍵去獲得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 的區別?

 

相關文章