試題一
- 原生js怎么實現拖放
- react-dnd拖放的核心API
- react diff 算法復雜度是多少
- diff造成的非預期更新如何解決
- 如何實現路由監聽
- 頁面適配方案:百分比,flex,vh,vw
- 平時對js和css基礎有過了解嗎
- 從地址欄輸入地址到頁面回顯,都發生了什么
- 解釋下重繪和回流
- 說一下js中的類和java中的類的區別
- 說一下js中如何實現函數重載
- webpack動態加載
試題二
- node偏運維方向的有沒有了解過(docker k8s)
- 業務中主要用node干了什么
- react生命周期有了解嗎
- 說下react-router源碼你看完后印象深刻的部分
- 數組去重怎么實現,不用set怎么實現
- 實現一下es6的extends
- 有沒有接觸過移動端,小程序,h5等方向
試題三
- js數據類型和存儲方式,如何判斷
- typeof [] 返回什么
- new操作符 做了什么
- 數組中一萬個數據,訪問第一個和最后一個效率會有什么差異,為什么
- forEach for in for of 的差異
- 如何改變this指向
- js中函數是如何調用的
- 說下原型和繼承
- 瀏覽器緩存
- 說下瀏覽器事件循環
- js是單線程還是多線程,為什么這么設計
- css弧形永動動畫實現
- css 1px像素適配
- css設置div寬高比3:4 padding-bottom:75%
- 說下transform 和transition
- 類數組怎么轉換成數組
- new Array()接收的參數是什么
- get和post的區別
- http狀態碼
- react生命周期
- setState更新是同步還是異步
- axios源碼整體架構
- 手寫Promise.all
- Promise中用了什么設計模式
- Promise都有哪些狀態
- 算法12345678.01 =>123,456,78.01
- 算法12345678.01=>12,345,678.01
- 從地址欄輸入地址到頁面回顯,都發生了什么
試題四
- 業務中你用node都做了什么
- 你對node還有什么想分享的嗎,覺得用起來爽的部分(gzip pipe)
- 業務中數據是怎么存儲的,node為什么沒有接入數據庫
- node單線程容易崩潰,怎么維護服務的
- pm2內部機制了解嗎
- cluster了解多少
- 業務線如何用端口號區分(nginx http-proxy)
- 業務上有什么坑嘛 (環境多)
- webpack常用配置
- webpack插件寫過嗎
- webpack常用插件
- 關於webpack你還有什么想分享的嗎 (同步加載異步加載的實現)
- 瀏覽器地址欄輸入請求地址到頁面回顯發生了什么
- 重繪和重排了解嗎
- 重繪和重排如何做取舍
- 如何將css內容插入到頁面上(style-loader)
- 如果讓你實現style-loader,你打算怎么做
- 算法題-手寫快排
- 算法題-查找一個字符串中出現次數最多的字符
- 算法復雜度層面比較一下快排和其他排序
- 項目是內部使用嗎 (是,未開源)
- 有沒有考慮過高並發場景,如何解決(緩存,壓縮,負載均衡,集群)
- 現在是在職狀態嗎
- 最后離職日期是多少
- 手上有沒有其他offer
- 如果今晚三面是否有時間(說有上線,推遲了)
- 反問一:百度App部門有沒有使用node的場景
- 反問二:App部門是不是只有移動端場景,有沒有其他的,比如pc
- 反問三:百度怎么做容災的
- 反問四:百度App是分工明確還是也會出現身兼多職的情況
- 反問五:給我一個今后學習發展的建議和這次面試的簡單評價
試題五
- 業務中數據是怎么存儲的
- 業務中拖拽如何控制位置的,適配怎么處理,全屏怎么控制
- 你用nodejs和java分別做了哪些業務
- 業務中的縮略圖是什么,實現方案
- 說下jwt
- 說下js中數據存儲方式
- 知道內存碎片怎么產生的嗎 v8
- post請求有幾種方式觸發
- post的ContentType類型有哪些(application/x-www-form-urlencoded/multipart/form-data/text/plain)
- 知道jwt有哪些缺點嗎
- 說一下http和https的區別
- https的tls了解嗎
- 說一下鎖(懵逼),舉例是讀鎖和寫鎖
- 為什么要去看axios的源碼,大體實現
- 業務中權限是怎么接入的,數據表怎么划分的
- 能說一下css盒模型嗎
- 說下box-sizing中border-box 和content-box的區別
- this指向
試題六
- 說下上線部署流程中常用的linux命令
- node的進程守護怎么做的,發現非預期故障怎么排查
- 項目中為什么選擇用nodejs
- 業務中負責哪些部分
- 手寫一個koa2的compose
- 手寫一個Scheduler類,實現並發控制
試題七
- 說一下進程線程,如何通信?
- 兩個線程可以直接通信嗎
- 你覺得node的適用場景是什么
- 相比其他后台語言,為什么你更傾向node?
- 在業務開發上,你覺得node和java的區別是什么?
- node服務的性能監測有沒有了解過?
- http中間人劫持了解嗎?如何解決呢?(說了https)
- 為什么https可以做到避免中間人劫持?(說了加密層tls)
- 展開說一下tls握手(對稱,非對稱,對稱+非對稱的組合)
- 加密套件指的是?(舉例了AES)
- 業務中的安全問題有沒有遇到過?怎么解決的?(說了base64,cors,xss,csrf,cookie的httponly和samesite屬性)
- 你傾向的技術領域和業務場景是怎樣的?
- 算法1:二叉樹層序遍歷和s形的層序遍歷
- 算法2:如何在從左到右升序,從上到下升序,每一行第一個元素大於上一行最后一個元素的二維數組中查找某個數字的索引?如果是一維數組呢?
- 算法3:二分法的實現
- 算法4:單鏈表反轉
試題八
- 為什么堅持用node
- 算法1:promise並發控制
- 算法2:前k個元素
- js中遍歷數組的方式
- react中遇到的坑,怎么解決的
- 說一下類組件和函數組件
- 選擇hooks的優點
- 什么時候用類組件
- 說下http緩存,如何實現
試題九
- react diff算法如何實現的,比對復雜度是多少
- 如何使用react-dnd完成拖放的,說下主要API
- 大數據量場景前端怎么處理,讓頁面展示盡可能流暢
- 業務中看你有涉及到node的文件讀寫操作,有沒有想過如果某個文件被鎖怎么處理?
- 前端縮略圖(截圖)方案是什么
- 業務中的實時保存會有性能開銷,又沒有做什么優化?
- node轉buffer輸出字符串會比直接string輸出快,你的依據是什么?
- 算法一:給定一串數字,求它全排列結果
- 算法二:實現類似百度那種聯想搜索(模糊匹配)
試題十
- 寫個繼承案例
- Object.create實現
- Object.create傳null和{} 有啥區別嗎
- 手寫promise(寫完then后面試官說可以了)
- 實現一個數組扁平化方法flat
- js為什么設計成單線程
- 事件循環說一下
- Promise里都是微任務嗎
- 平時怎么學習的
- koa2中間件和redux中間件比較,原理
- koa2的洋蔥模型和redux中間件的洋蔥模型一樣嗎
- 兩個compose的大概實現,reduce的妙用
- 對比一下express,koa2(我連同比較了egg)
- 為什么不要在循環、條件語句或者嵌套方法中調用Hooks
- new Promise返回的實例和實例then方法執行后返回的promise是一個嗎
試題十一
- 說一下為什么要用hooks,解決了什么問題
- react函數組件和類組件觸發更新的方式有哪些
- react的強制更新有了解嗎
- react在一秒內點擊按鈕多次(+1),如何獲取最后一次的新狀態
- react-router權限路由寫一下
- 實現一個帶緩存的求階乘函數
- 說說你對koa2中間件的理解
- 某些接口允許跨域,某些不允許,如何實現?能不能使用koa2中間件的方式實現一下?
- koa2中ctx.set的等價寫法
- 用node如何實現一個帶壓縮和緩存的http-server?
試題十二
- 項目中常用的linux命令
- 業務中打包怎么做的
- 如何查詢某個進程占用的端口號(linux中) netstat -tunlp|grep 80 lsof -i:80
- 實現一個new操作符
- git reset 和git rebase了解嗎
- 實現Object.create
- 實現數組扁平化函數flat
- webpack有哪些優化方案
- loader和plugin有寫過嗎
- react合成事件了解嗎?
- 這些事件處理函數最終掛載到了哪?
- react中如何阻止冒泡
- react中setState同步還是異步
- react15和react16更新機制的差異
- 為什么react16架構升級后就能中斷更新,根據什么決定是否中斷
- react源碼看過哪些?
- react中調和的部分是在哪個包?有看過實現嗎
- hooks為什么不能在條件或循環中使用,原理清楚嗎?
- react為什么要引入hooks,解決了哪些問題
- 類組件如何實現邏輯復用?
試題十三
- js為什么會有回調地獄呢
- 為什么java沒有回調地獄
- promise.all返回的是什么
- promise和async你覺得差異點是什么
- 算法1:rgb轉16進制函數
試題十四
- koa-compose實現
- react權限路由實現
- 前端路由實現原理(對比react,vue)
- 單頁面應用和傳統服務端渲染的差異比較
- 前端頁面性能優化
- nginx 負載均衡配置
- node端處理大文件上傳
- react hooks用過哪些
- react使用心得
- redux模板語法的改良(使用裝飾器)
- 聊一下代碼檢查(eslint,ts)
- 防抖節流區分,手寫
- 實現map,reduce
- 統計字符串中次數最多字母


