京東數科(一面OC)
簡要說一下你的項目箭頭函數和普通函數的區別箭頭函數的 bind閉包的調用函數參數es5的原型如何實現繼承,需要用多種實現數組你主要用哪些方法,哪些是原地修改的剛剛你說了 sort() 方法,請問怎麼使用 sort() 方法來按照字典排序typescript 解析策略type 和 interface 區別typescript 如何為第三方包寫模塊你知道哪些 http 請求頭,分別是幹什麼的如果要上傳表單數據,應該使用哪種 Content-Type發布訂閱模式的原理,如何實現如何寫一個高擴展性的http請求庫,同時要保證瀏覽器的兼容性你理解 restful 接口嗎,如果要修改一個數據應該如何請求,修改的數據應該放哪裡反問字節跳動
一面
簡單介紹一個自己介紹一下自己的項目你說到了 useImmer,你知道它具體是怎樣工作的嗎你說你用了 typescript,那麼 type 和 interface 的區別你知道嗎(這次我主要從聲明合併來答,然後拓展了個 react-redux 使用 useSelector 如何產生提示的用法)React 的 Class Component 和 Functionial Component 的區別React 怎樣進行性能優化(Class Component 和 Functionial Componen 都要說),並且說一下原理你知道 Promise 嗎,怎麼實現 Promise 的串聯和並發實現promise.all列印異步代碼順序算法:海島問題反問二面
介紹下自己介紹一下你的 Vue 項目(一共寫了兩個,上一個主要是問的 React,二面是 Vue)你說你封裝了 axios,具體是如何封裝的,依據是什麼如果後端 token 失效,你會怎麼做vue-router 的鉤子用過沒,具體怎麼使用(說了全局和組件內部的,然後說了下在項目中最主要是用 beforeEach)如何設計權限(接上面使用的 vue-router,口述了一遍項目中的權限架構)然後是計網的知識,具體的說了 http/http2/https 的核心概念和原理,然後是協商緩存相關的下面代碼輸出:var a= function () { this.b =3; }var c = new a();a.prototype.b = 9;var b = 7;a();console.log(b); // 3console.log(c.b); // 3
9.上代碼:
var a = [1, 2, 3, 4];for (var i = 0; i< a.length; i ++ ) {setTimeout(() => { console.log(a[i]) }, i * 1000);}/* 1.上面代碼輸出 2.如果要輸出1,2,3,4,應該怎麼做(閉包和把var改為let)*/
10.算法:壓縮算法,騰訊 2020 後端筆試第一題
11.反問
三面
介紹自己Vue的雙向綁定原理你知道 React 的 fiber 嗎,原理是什麼tcp三次握手和四次揮手TCP 的可靠運輸機制(具體說了連續 ARQ 協議和滑動窗口協議)TCP 的擁塞控制強緩存和協商緩存石子問題列印一個菱形反問hr 面
為什麼選擇學前端你從什麼時候開始學習前端的你是如何學習前端的看了你簡歷寫了兩個項目,都是怎麼做的你感覺自己的優點和缺點是什麼你為什麼要這麼早就實習實習時間反問最後給大家分享最新的web前端資料、電子書、VUE、面試題、精講視頻,需要的私信回復面試獲取