<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          記一次高級(jí)前端開發(fā)工程師面經(jīng)

          共 3518字,需瀏覽 8分鐘

           ·

          2021-05-15 18:55


          作者: 唯依綰青絲

          https://juejin.cn/post/6951407692011274247

          前言

          #面試挺累人的,每天下班后趕回家餓著肚子面試,面了將近一個(gè)月,大概就一個(gè)中廠的水平吧。面試完最好進(jìn)行一個(gè)復(fù)盤,查漏補(bǔ)缺。

          一、攜程

          1. 對(duì)著簡歷問一遍
          2. rem, 計(jì)算出375的屏幕,1rem,單位出現(xiàn)小數(shù)怎么處理
          3. javascript精度問題的原因
          4. axios用途
          5. 性能優(yōu)化的點(diǎn),webpack分包,首頁資源大小,請(qǐng)求優(yōu)化,gzip之前還是之后,React重新渲染
          6. 國際化站點(diǎn),cdn, 在頁面什么階段加載國際化文件,如果有20多個(gè)語言該怎么做
          7. ssr有沒有用過
          8. 項(xiàng)目中websocket是解決了什么問題
          9. DOM, BOM, js的關(guān)系
          10. React dom綁定事件,與原生事件有什么區(qū)別
          11. http2多路復(fù)用

          代碼題

           if (!('a' in window)) {
             var a = 1;
           }
           console.log(a); 
              var a = {}; var b = {}; var c ={};
              console.log(a === b);
              console.log(b === c);
              console.log(a === c);

              var d = e = f = {};


              f = {}
              e = f
              d = e

              console.log(d === e);
              console.log(d === f);
              console.log(e === f);

          米哈游:

          1. http狀態(tài) 301,302, 304,緩存相關(guān)字段
          2. cookie、ws是否跨域
          3. 觸發(fā)bfc的方式
          4. rem和vw的使用場景
          5. 偽代碼實(shí)現(xiàn)下懶加載

          某外企:

          一、

          1. 下面函數(shù)是閉包嗎?
          const func = ()=> {
             const a = '111'
             const fun2 = ()=> console.log(a)
             return ()=> console.log('_')
          }

          const next = func()




          '12345'.split('')
          上述代碼發(fā)生了什么

          下面代碼打印的是
          console.log("12345" instanceof Object);

          1. 實(shí)現(xiàn)一下some, every
          2. flatten實(shí)現(xiàn)

          const promise = new Promise(resolve => {
            console.log("11111");
            setTimeout(() => {
              console.log("22222");
            }, 0);
            resolve();
            console.log("resolve");
            throw new Error("error");
            console.log("error");
          });
          promise
            .then(
              () => {
                console.log("33333");
                setTimeout(() => {
                  console.log("44444");
                }, 0);
              },
              () => {
                console.log("reject");
              }
            )
            .catch(() => {
              console.log("catch");
            });
          console.log("55555");

          1. 函數(shù)組件怎么阻止重復(fù)渲染

          二、

          1. AST作用 or babel實(shí)現(xiàn)原理
          2. 實(shí)現(xiàn)自定義hooks,usePrevious。setcount(count => count + 1)后輸出上一次count的值

          美團(tuán):

          一、

          1. 自我介紹中提到了性能優(yōu)化, 說了說性能優(yōu)化的點(diǎn)
          2. 不同域名共享cookie
          3. on, emit, 實(shí)現(xiàn)
          4. 防抖的實(shí)現(xiàn)
          5. 輸入url到頁面返回結(jié)果
          6. 緩存的實(shí)現(xiàn)方式
          7. React組件重復(fù)渲染
          8. webpack分包

          字節(jié):

          一、

          1. Webpack 插件,生命周期
          2. umi約定式路由怎么實(shí)現(xiàn)的
          3. babel實(shí)現(xiàn)遠(yuǎn)原理
          4. React ref
          5. fib實(shí)現(xiàn),如何優(yōu)化

          盒馬:

          一、

          1. 說出你最擅長的部分,追問
          2. webpack拆包的依據(jù)。1.被多個(gè)模塊使用,cache起來 2.資源過大
          3. canvas 點(diǎn)擊線段事件。重合區(qū)域怎么處理
          4. webWorker的使用:為什么不在worker里面發(fā)出請(qǐng)求,做數(shù)據(jù)轉(zhuǎn)換呢?

          太美醫(yī)療:

          1. generate函數(shù)和async區(qū)別
          2. webpack插件實(shí)現(xiàn)

          叮咚買菜:

          一、

          1. Vue, React使用情況
          2. 父子組件的mounted 調(diào)用順序
          3. $nextTick實(shí)現(xiàn)原理
          4. 子元素水平垂直居中
          5. 斐波那契數(shù)列如何優(yōu)化
          6. 業(yè)務(wù)題:封裝一個(gè)全局的彈窗,在任何組件內(nèi)都可以調(diào)用。追加:如何同時(shí)打開5個(gè)彈窗,關(guān)閉順序又如何

          二、

          1. 封裝Vue插件
          2. 5個(gè)彈窗
          3. $nextTick原理
          4. 手機(jī)號(hào)碼分割 _ _ _ - _ _ _ _ - _ _ _ _
          5. 最大字符串?dāng)?shù), “abcdabcda” 求最長的不重復(fù)字符串
          6. 兄弟組件通信
          7. vuex 模塊化怎么做
          8. 不同域名如何共享cookie

          總結(jié):

          對(duì)于3~5年的前端開發(fā)來說,不應(yīng)該僅僅是停留在會(huì)用API的層面,至少要關(guān)注到你使用的技術(shù)的一些原理實(shí)現(xiàn)。這也是大廠考察候選人鉆研精神吧,相對(duì)來說有一個(gè)區(qū)分度。個(gè)人建議最好精通一個(gè)方向,比如:

          • 前端工程化,webpack, babel, Node 等。
          • 精通框架源碼
          • 可視化,3D方向
          • 流媒體,音視頻

          當(dāng)然,如果要進(jìn)大廠的同學(xué),還得突擊一下算法部分。leetcode 簡單和中等難度就可以。


          如果覺得這篇文章還不錯(cuò),來個(gè)【分享、點(diǎn)贊、在看】三連吧,讓更多的人也看到~

          點(diǎn)個(gè)『在看』支持下 
          瀏覽 52
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  天堂网中文在线 | 国产性交黄片 | 黄色片A视频 | 91丨国产丨白浆 | www欧美在线观看 |