金三銀四的騰訊、阿里、?字節等大廠前端社招面經

大家好,我是若川。最近金三銀四,今天分享一篇騰訊、阿里、字節等大廠的前端社招面試經驗的好文,相信看完會有所收獲。也歡迎點擊下方卡片關注或者星標我的公眾號若川視野

作者面了將近一個月,目前還沒掛過,但由于各種因素,又都拒了...這也許就是大佬吧。以下是正文~


目前工作快四年,年后投了一波簡歷,這里整理了一下新鮮出爐的前端面經,需要的可以自取。

騰訊

一面

  1. 寫一個 LRU 緩存函數

  2. 寫個防抖和節流函數

  3. 你們服務是怎么部署的?Node Agent 做了什么工作?

  4. Grpc 的優缺點?

  5. http2 的相關特性?

  6. viewport 和移動端布局方案

  7. 實現一個 compose 函數

  8. 開發中有遇到過比較難定位的問題嗎?Node 內存泄露有遇到過嗎?

二面

  1. react ssr 是在什么場景下做的?

  2. react ssr 雙端怎么做構建的?區別在哪里?

  3. 有沒有做過同構組件?服務端和客戶端怎么同步狀態的?

  4. render 和 renderToString 的底層實現上的區別?

  5. 客戶端怎么處理 JS 事件失效的問題?客戶端不重新加載 JS 的情況下怎么實現?

  6. 做服務端渲染的時候有沒有遇到過比較難的點?

  7. react ssr 和 ejs 性能的差異?

  8. 服務回滾是怎么做的?上線流程是怎樣的?k8s 回滾、拉取以前的鏡像

  9. webpack plugin 的原理是什么?

  10. plugin 中有異步請求會阻塞后面的 plugin 嗎?

  11. 做過哪些 webpack 的性能優化?

  12. hard-source-webpack-plugin 是怎么做緩存的?修改文件后會怎么樣?

  13. parallel 的原理是什么?多個子進程怎么通信?

  14. 你們 webpack 是怎么做拆包的?

  15. 服務端監控是怎么做的?服務有上報過什么指標?

  16. Node 服務怎么去定位 CPU 占用暴漲的情況?怎么去定位內存泄露?

  17. 編寫 grpc 服務和 http 服務的區別?

  18. 做過哪些 react 相關的優化?函數組件怎么實現 shouldComponentUpdate?

  19. 如果有一個非常大的 react 頁面,我想優先渲染某一部分,這該怎么做?

  20. react 函數組件和 class 組件里面 state 的區別?

  21. react useEffect 對應 class 組件的哪些生命周期?

  22. 前端的監控是怎么做的?除了 sentry 還做了其他異常處理嗎?

三面

  1. 講一下你做的比較復雜的項目?以及你在項目中擔當了什么角色?

  2. 你是怎么看待現在各種造輪子的?

  3. 有一個一億長度的字符串,怎么存儲設計可以讓它更好去查詢、修改?

  4. 怎么優化 H5 讓它可以在 300ms 之內打開?

  5. 你們 WebView 加載一般耗時多久?

  6. 你們為什么從 Python 重構到 Node?好處是什么?

  7. 你是怎么看待做后臺管理系統的?很多人覺得它沒有難點,你覺得呢?(問這個問題是因為我現在在做后臺管理系統)

總監面(有點兒記不清了)

  1. 新加坡和深圳內網是怎么連通的?

  2. 未來的職業規劃是什么樣的?

  3. 對當前新的技術有了解嗎?

  4. 對客戶端知識有了解嗎?

  5. 為什么要離職?

拒了,崗位不是很喜歡

螞蟻

一面

  1. React setState 怎么獲取到更新后的值?異步函數中為什么 setState 會立即更新?

  2. 做過離線包嗎?H5 離線包的原理?客戶端根據什么攔截靜態資源請求?

  3. JS Bridge 的原理?你們這套方案的s優缺點?

  4. 怎么判斷 webview 是否加載完成?

  5. 怎么實現 App 頭部和頁面的背景漸變?

  6. PC 端做過比較有意義的項目?

  7. 微前端子應用之間怎么通信?有沒有了解過業界的一些方案?

二面

  1. 你們部署的 Jenkins 是怎么做的?

  2. JS Bridge 原理?有沒有安全漏洞?

  3. 有沒有做過和安全相關的?waf 主要做了什么?

  4. 有沒有做過埋點和性能上報相關?

  5. 如果你們用一個第三方的上報庫,但頁面加載這個 JS 失敗了,還想上報該怎么辦?

  6. 實現兩個大數相加

  7. 實現 DOM 字符串轉虛擬 DOM 對象(不能用 DOM 相關的 api)

  8. 有木有做過你覺得比較困難的項目?

三面

  1. 管理系統都做了哪些業務?有沒有做一些提高開發效率的東西?

  2. 常用的組件是哪個?解決了什么問題?

  3. 平時 Node 都用來做什么?怎么實現的?

  4. SSR 的實現原理是什么?

  5. 項目中遇到的技術難點有哪些?

  6. 你覺得你們比 lazada 做得更好是哪些原因?

四面(略)

五面(略)

拼多多

一面

  1. 有沒有做過比較復雜的頁面?攜程的 React-imvc 做了什么?

  2. 使用 Redux 的好處,以及和 Mobx 的區別

  3. 對 React 最新特性有了解嗎?class 組件和函數組件的區別?

  4. useState 為什么不能放到條件語句里面?

  5. 實現一個 Promise.all

  6. React SSR 是怎么實現的?

  7. 有用過代碼規范相關的嗎?Eslint 和 Prettier 沖突怎么解決?

  8. 實現一個數組轉樹形結構的函數

二面

  1. 說幾個你覺得足夠復雜的項目?

  2. 你是怎么去做 React SSR 的?

  3. 有沒有做過性能優化相關的?

  4. 實現一個深拷貝

  5. 實現一個二叉搜索樹轉鏈表的方法

拒了,不想去賣命

商湯

一面

  1. 在工作中,主要是做什么內容?

  2. 有用過 lerna 嗎?多個項目之間共用的東西怎么共享?

  3. 講一講微前端是怎么做的?怎么獨立部署?子應用通信怎么做?

  4. webpack 構建流程是怎樣的?

  5. webpack loader 和 plugin 的原理和區別?

  6. webpack 熱更新原理?

  7. webpack 怎么做分包?

  8. 做過 webpack 性能優化嗎?有用過 rollup 嗎?

  9. react-imvc 是什么?它做了什么?

  10. react 和 react-dom 的區別是什么?

  11. redux 和 mobx 的區別和優劣?用過 redux-saga 嗎?

  12. react diff 的復雜度,以及 react diff 的原理

  13. react class 組件和 hooks 的區別?

  14. 什么是 TS 泛型?

  15. 從輸入 url 到頁面展示經過了哪些步驟?

  16. 講一下重繪和回流

  17. 知道 BFC 嗎?使用場景有哪些?

  18. 怎么判斷是否為數組?

  19. 頁面卡頓怎么去定位?

  20. 數組有10萬個數據,取第一個和取第10萬個的耗時多久?

  21. 有用過 canvas 相關的嗎?

  22. JS 垃圾回收機制?怎么定位 Node 內存泄露問題?

  23. 你是怎么理解前端的?

  24. 工作中遇到過最難的問題?有沒有什么讓你自豪的項目?

  25. 周末你都在做什么?學習前端的途徑是什么?

其他公司面的差不多了,這個后續面試就都拒了

字節

一面

  1. tcp 和 udp 的區別和使用場景?

  2. quic 基于 udp 怎么保證可靠性?

  3. 講一下同源策略和跨域方案?CORS 的幾個頭部是什么?

  4. 講一下 react fiber?

  5. vue 雙向綁定原理?

  6. redux 和 mobx 的區別和使用場景?

  7. typeof null?null instanceof Object?

  8. typeof 可以判斷哪些類型?instanceof 做了什么?

  9. 實現一個 bind 函數

  10. 求數組里面最大連續項的和

  11. event loop

二面

  1. 怎么優化 h5 的加載速度?

  2. 離線包怎么更新?怎么知道需要打開哪個離線包?

  3. js bridge 通信原理?

  4. 怎么實現 h5 頁面秒開?

  5. 明明不是同一個語言,為什么 js 和 native 可以通信?

  6. 怎么實現 js bridge 跨多個 app 共用?

  7. grpc 相比 http 的優勢?

  8. rpc 的調用流程?前端怎么調用 grpc 的?

  9. 為什么要用 grpc?

  10. 服務發現為什么用 ip,而不用域名?

  11. 怎么做 DNS 預解析?

  12. 怎么實現移動端的布局?

  13. iOS 下軟鍵盤輸入框遮擋遇到過問題么?怎么解決頂不起來的問題?

  14. 實現兩個大數相加

  15. 求一個數組最大子項的和,要求這些子項在數組中的位置不是連續的

  16. 常用的 react hooks 方法

  17. useState 怎么做緩存的?

  18. react fiber 是什么?

  19. 怎么解決 useState 閉包的問題?

  20. useReducer 比 redux 好在哪里?

三面

  1. 做過哪些公共組件?DatePicker 怎么實現的?難點在哪里?

  2. 組件封裝有哪些原則?

  3. 組件數據和 UI 怎么分離?

  4. 有沒有做過一些提高工作效率的東西?

  5. 有沒有了解過拖拽?覺得它有哪些難點?

  6. 有沒有做過優化相關的?webpack 做了哪些優化?

  7. cache-loader 和 hard-source-webpack-plugin 的區別是什么?

  8. 最近遇到的比較難的項目是什么?你們服務是怎么部署的?

  9. Puppeteer 可以用來做什么?

總結

面試挺累人的,每天下班后趕回家面試,有時候干脆找個會議室偷偷摸摸面試。面了將近一個月,目前還沒掛過,但由于各種因素,又都拒了。。。現在又要開始新一輪的面試了,祝自己好運吧。


最近組建了一個江西人的前端交流群,如果你也是江西人可以加我微信 ruochuan12 拉你進群。


常駐推薦閱讀

我在阿里招前端,我該怎么幫你?(現在還可以加模擬面試群)
如何拿下阿里巴巴 P6 的前端 Offer
如何準備阿里P6/P7前端面試--項目經歷準備篇
大廠面試官常問的亮點,該如何做出?
如何從初級到專家(P4-P7)打破成長瓶頸和有效突破
若川知乎問答:2年前端經驗,做的項目沒什么技術含量,怎么辦?

如何準備20K+的大廠前端面試

常駐末尾

你好,我是若川,江西人~(點擊藍字了解我)歷時一年只寫了一個學習源碼整體架構系列?有哪些必看的JS庫:jQuery、underscore、lodash、sentry、vuex、axios、koa、redux

  1. 關注若川視野,回復"pdf" 領取優質前端書籍pdf,回復"1",可加群長期交流學習

  2. 我的博客地址:https://lxchuan12.gitee.io?歡迎收藏

  3. 覺得文章不錯,可以?分享、點贊、在看?呀^_^另外歡迎留言交流~

小提醒:若川視野公眾號面試、源碼等文章合集在菜單欄中間【源碼精選】按鈕,歡迎點擊閱讀,也可以星標我的公眾號,便于查找

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/276108.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/276108.shtml
英文地址,請注明出處:http://en.pswp.cn/news/276108.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

JS中創建函數的幾種方式

使用 "函數聲明" 創建函數 語法:* function 函數名([形參1,形參2...形參N]){* 語句...* } */function fun2(){console.log("這是我的第二個函數~~~");alert("哈哈哈哈哈");document.write("~~~~…

ssm提交post_我用spring mvc做,用post方式提交,后臺獲取不到參數值,用get方式就可以,什么問題...

展開全部因為form表單e68a843231313335323631343130323136353331333365646330的enctype編碼方式不同導致的;enctype 屬性規定在發送到服務器之前應該如何對表單數據進行編碼。默認地,表單數據會編碼為 "application/x-www-form-urlencoded"。就…

網頁設計簡約_簡約網頁設計的主要功能

網頁設計簡約重點 (Top highlight)Minimalism is synonymous with simplicity. Not quite. As the name suggests, minimalism is definitely not about opulent design. But the assumption that minimalism is design-less and plain is also wrong. Minimalism is simple ye…

MySQL_數據庫數據類型(data type)介紹

轉載鏈接:http://www.360sdn.com/mysql/2013/0511/78.html MySQL_數據庫數據類型(data type)介紹 mysql數據庫的數據類型(data type)分以下幾種:數值類型,字符串類型 一、數值類型 MySQL 的數值類型可以大致劃分為兩個類別,一個是整數,另一…

Expo 2010 Japan Pavilion

^_^轉載于:https://www.cnblogs.com/mmmhhhlll/archive/2010/04/16/1713680.html

深度對比學習Vue和React兩大框架

作為國內應用最廣的兩個框架,Vue 和 React 是前端必須掌握的內容,也是面試的重點。但大多數讀者都只擅長其中一個框架,當面試涉及到另一個框架的內容時,就答不好了。比如虛擬dom,兩個框架中都有應用,面試官…

PHP Token(令牌)設計

轉載鏈接:http://www.jb51.net/article/13756.htm PHP Token(令牌)設計 設計目標: 避免重復提交數據. 檢查來路,是否是外部提交 匹配要執行的動作(如果有多個邏輯在同一個頁面實現,比如新增,刪除,修改放到一個PHP文件里操作) 這里所說的token是在頁面顯示的時候,寫到…

java rwd_面向任務的設計-不僅限于Mobile First和RWD

java rwdWe already know that majority of solutions should start with a design for smartphones, we know that all websites should be responsive. Now, it’s time to think about holistic solutions with specific tasks adapted to all kind of devices.我們已經知道…

python中關鍵字 表示空類型_python中什么表示空類型

python中什么表示空類型?python中None表示空類型。表示該值是一個空對象,空值是Python里一個特殊的值,用None表示。None不能理解為0,因為0是有意義的,而None是一個特殊的空值。可以將None賦值給任何變量,也…

HOJ 1015 Nearly prime numbers

代碼 //Nearly prime number is an integer positive number for which it is possible //to find such primes P1 and P2 that given number is equal to P1*P2.#include <stdio.h>#include <stdlib.h>#include <math.h>//decide n whither is a nearly pri…

「前端工程化」該怎么理解?

大家好&#xff0c;我是若川。今天分享一篇「前端工程化」的好文。非廣告&#xff0c;請放心閱讀。可點擊下方卡片關注我&#xff0c;或者查看系列文章。今天發文比較晚&#xff0c;以往都是定時早上7:30發文&#xff0c;也不知道是不是有點早。一.什么是前端工程&#xff1f;一…

axure文本框值相加_Axure教程:計數文本域實現

原標題&#xff1a;Axure教程&#xff1a;計數文本域實現制定UI規范時&#xff0c;遇到實現“限制字數的文本域”的交互問題&#xff0c;即當用戶輸入的字數長度超過限制要求&#xff0c;如何只保留規定長度的文本&#xff1f;效果如下&#xff1a;我們知道【Number】類型的文本…

figma下載_Figma和ProtoPie中的原型制作,比較

figma下載第1部分 (Part 1) Prototyping has never had such a high profile with a whole host of tools that now give you varying ability to realize your designs beyond their static UI and into a working usable thing. It’s fair to say that prototyping within t…

拗口翻譯

I find many times people use temporary tables because they learned in other databases that joining too many tables in a single query is a ?bad thing?. This is a practice that must be unlearned for Oracle development. Rather then trying to out‐smart the …

javascript 手機手勢動作touch觸屏原理分析

轉載鏈接&#xff1a;http://www.lvtao.net/web/220.html $(function(){document.getElementById("moveId").addEventListener(touchstart, touchStart);document.getElementById("moveId").addEventListener(touchmove, touchMove);document.getElementBy…

并發工具類(四)線程間的交換數據 Exchanger

前言JDK中為了處理線程之間的同步問題&#xff0c;除了提供鎖機制之外&#xff0c;還提供了幾個非常有用的并發工具類&#xff1a;CountDownLatch、CyclicBarrier、Semphore、Exchanger、Phaser&#xff1b;??CountDownLatch、CyclicBarrier、Semphore、Phaser 這四個工具類提…

「前端組件化」該怎么理解?

大家好&#xff0c;我是若川。今天分享一篇關于「前端組件化」的好文。歡迎點擊下方卡片關注我。以下是正文~這里我們一起來學習前端組件化的知識&#xff0c;而組件化在前端架構里面是最重要的一個部分。講到前端架構&#xff0c;其實前端架構中最熱門的就有兩個話題&#xff…

大屏設計的視覺統一_視覺設計中的統一

大屏設計的視覺統一視覺設計的統一性是什么&#xff1f; (What is unity in visual design?) The concept of unity in visual design means a group of elements working together to create a greater whole. It means, as the clich goes: A whole that is greater than th…

l2范數求導_機器學習中的范數規則化之(一)L0、L1與L2范數

source: https://blog.csdn.net/zouxy09/article/details/24971995zouxy09qq.comhttp://blog.csdn.net/zouxy09今天我們聊聊機器學習中出現的非常頻繁的問題&#xff1a;過擬合與規則化。我們先簡單的來理解下常用的L0、L1、L2和核范數規則化。最后聊下規則化項參數的選擇問題。…

9.struts1.x中tiles框架的使用

在頁面直接使用titles標簽先引入標簽&#xff1a;<%taglib uri"http://struts.apache.org/tags-tiles" prefix"tiles" %> 將模板頁面要代替的內容用標簽占位&#xff1a;<tiles:insert attribute"content"></tiles:insert> 在…