<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>

          字節(jié)-高級(jí)前端三輪面經(jīng)

          共 4556字,需瀏覽 10分鐘

           ·

          2024-06-24 23:19

          字節(jié)的面試難度,一直是大廠中的 Top 級(jí)別,即使是前端崗位,也特別看重算法能力。今天就給大家分享一篇字節(jié)的社招面經(jīng),原作者是《低代碼平臺(tái)開發(fā)實(shí)踐:基于react》這本書的作者,在低代碼平臺(tái)這塊有較深的研究,讓我們一塊來學(xué)習(xí)下他的面經(jīng)吧。

          以下是正文。


          我面試的職級(jí)是 2-2,一共經(jīng)歷了 3 輪技術(shù)面,每一面都要手寫算法。

          2023 年 7 月下旬,我經(jīng)歷了一次裁員,一直到了 2024 年 1 月才開始找工作。在今年的 2 月初,我參加了字節(jié)跳動(dòng)的面試,雖然沒能通過第 3 輪面試,我記錄了當(dāng)時(shí)的一些面試問題,希望能幫助大家了解字節(jié)的面試流程和問題。

          第一輪面試

          首先是自我介紹,主要介紹在任職的公司落地了低代碼平臺(tái)和用戶操作記錄回溯,還向開源項(xiàng)目 rrweb 提交了兩個(gè)PR,最后是公司的插件化架構(gòu)。

          PS:大家在自我介紹中,可以突出自己有亮點(diǎn)的內(nèi)容,可以引導(dǎo)后續(xù)面試官的提問

          自我介紹完畢,面試官的第一個(gè)問題是:為什么離職?

          我因?yàn)楸徊枚x職,也如實(shí)做了回答,后面的面試官也都問了為什么被裁。

          PS:如果在某個(gè)公司的工作經(jīng)歷不滿兩年,很容易被問到為什么離職,回答時(shí)需要注意,盡量不要吐槽前公司

          由于我從離職到面試字節(jié)中間隔了7個(gè)月左右,面試官還重點(diǎn)關(guān)注了離職之后在做什么。

          離職之后,我首先回家休息了近 1 個(gè)月,旅游了近 2 個(gè)月,然后寫書花了 1 個(gè)多月,到 1 月底開始找工作,這沒什么好隱瞞的,如實(shí)告知了面試官。

          PS:這位大佬還是挺實(shí)誠的,有過寫書的經(jīng)歷,在能力和項(xiàng)目經(jīng)歷上,絕對(duì)很有競爭力的

          第一輪主要面試 JS 和 React基礎(chǔ)知識(shí),問題如下:

          1. 浮點(diǎn)數(shù)運(yùn)算的精度問題,比如 0.1 + 0.2 不等于 0.3 這是什么原因,要怎么解決?
          2. 對(duì) webpack 有了解嗎
          3. webpack中 loader 與 plugin 有什么區(qū)別
          4. 有沒有寫過 plugin
          5. 我們寫代碼的時(shí)候是 es6,瀏覽器運(yùn)行的時(shí)候是 es5,在做代碼轉(zhuǎn)化的時(shí)候,webpack 做了哪些工作?
          6. 在 React 類組件中,為什么修改狀態(tài)要使用 setState 而不是用 this.state.xxx = xxx
          7. setState 函數(shù)做了哪些事情
          8. React 生命周期 componentWillUnMount() 對(duì)應(yīng)的 hooks 要怎么寫
          9. useState 的原理是什么,背后怎么執(zhí)行的,它怎么保證一個(gè)組件中寫多個(gè) useState 不會(huì)串
          10. 函數(shù)組件重新渲染的時(shí)候怎么拿到useState之前的狀態(tài),而不是得到初始化的狀態(tài)
          11. React為什么要自定義合成事件
          12. 你的簡歷里寫了關(guān)注資產(chǎn)損失,這是做什么事情。
          13. 你在地代碼開發(fā)與實(shí)踐上也做了一些事情,當(dāng)時(shí)是做什么呢?
          14. 表單的聯(lián)動(dòng)是怎么處理的
          15. 當(dāng)時(shí)做這個(gè)表單驅(qū)動(dòng)的時(shí)候,為什么沒有用 Formily 現(xiàn)成的方案呢
          16. 被裁的原因是什么呢
          17. 從離職到現(xiàn)在一直沒有找工作嗎?
          18. 從11月底到現(xiàn)在兩個(gè)月了有哪些 offer 了嗎

          算法題

          1. 實(shí)現(xiàn) loadsh.get 方法
          2. 計(jì)算二叉樹的最大深度
          3. 島嶼的最大面積

          最后是反問環(huán)節(jié)。面試時(shí)長 1 小時(shí) 40 多分鐘。

          一面的時(shí)間很長,可能是面試官對(duì)這位同學(xué)的項(xiàng)目經(jīng)歷很挺感興趣,也能是因?yàn)樽髡咴谒惴}這塊花的時(shí)間有點(diǎn)多

          第二輪面試

          由于簡歷重點(diǎn)介紹了低代碼,并且在自我介紹的時(shí)候,提到了我在 gap 期間寫的書,二面面試官的大部分問題都與低代碼相關(guān)。

          問題如下:

          1. 為什么寫書
          2. 能把你的掘金上發(fā)的低代碼文章發(fā)給我嗎?
          3. 低代碼針對(duì)的中后臺(tái)是什么樣的
          4. table 中的字段也是可以配置的嗎?Table 頭和每一項(xiàng)下面展示的內(nèi)容怎么配置
          5. 為什么要做低代碼
          6. 做低代碼系統(tǒng)的時(shí)候你有考慮研發(fā)量嗎
          7. 整個(gè)低代碼都是你一個(gè)人做嗎?
          8. 當(dāng)屬性面板上有修改之后,畫布刷新的機(jī)制是怎么樣的
          9. 繼續(xù)討論研發(fā)量,開發(fā)規(guī)劃的問題
          10. 沒有考慮使用已有的低代碼項(xiàng)目做二次改造嗎
          11. 做低代碼的時(shí)候有沒有遇到比較難的問題,怎么解決的
          12. 被裁的原因

          PS:作者在面試時(shí)重點(diǎn)介紹了自己開發(fā)的低代碼平臺(tái),其實(shí)最近在篩簡歷時(shí),發(fā)現(xiàn)很多人都寫了低代碼平臺(tái)。但大家得提前想好,這樣的平臺(tái)是否真的能給團(tuán)隊(duì)帶來很高的價(jià)值。稍微大點(diǎn)的公司都會(huì)有這個(gè)系統(tǒng),除了老板喜歡提升效率的平臺(tái),大家做匯報(bào)也好看。但實(shí)際上,現(xiàn)在的低代碼平臺(tái)還是有很多局限性,大家要想好平臺(tái)的能力邊界在哪兒。

          算法題

          1. 最大子數(shù)組和
          2. 最長回文子串

          最后是反問環(huán)節(jié)。面試時(shí)長 1 個(gè)小時(shí)左右。

          第三輪面試

          這一輪的面試官?zèng)]讓做自我介紹,一開始就是寫算法題

          算法題

          1. K 個(gè)一組翻轉(zhuǎn)鏈表

          下面是詢問的問題

          1. 為什么寫書
          2. 在市面上類似的書有一些,你的書有什么不同
          3. 什么場景適合做低代碼,給什么用戶使用
          4. 低代碼最適合的場景是不是no-code?
          5. 怎么界定低代碼和無代碼的邊界
          6. 你做的低代碼平臺(tái)能實(shí)現(xiàn)的最復(fù)雜的一個(gè)場景是什么樣的
          7. 為什么json要轉(zhuǎn)化為手寫代碼
          8. 轉(zhuǎn)化成手寫代碼是什么樣的
          9. 源碼解析器是什么
          10. 開發(fā)低代碼的背景
          11. 整個(gè)項(xiàng)目的周期有多長
          12. 從酷家樂離職之后主要在寫書嗎?
          13. 用戶操作記錄回溯工具是為了解決什么問題
          14. 用戶記錄回溯工具有達(dá)到目的嗎
          15. 主管有沒有說被裁的原因

          最后是反問環(huán)節(jié)。面試時(shí)長 1 個(gè)小時(shí)左右。

          總結(jié)

          面試被問到的重點(diǎn)問題如下:

          1. 為什么被裁
          2. 被裁之后在干什么
          3. 低代碼項(xiàng)目的迭代安排和人員安排
          4. 市面上的已有低代碼方案

          需要改進(jìn)的點(diǎn):

          1. 為了迫使自己在對(duì)方問問題之后思考問題,重復(fù)一下問題里的關(guān)鍵字。比如,當(dāng)對(duì)方問為什么 React使用 setState() 修改狀態(tài),而不是直接給 this.state 賦值去修改?重復(fù)一遍面試官的話,如果面試官說的話很長,那就提煉出關(guān)鍵字后重復(fù)一遍。
          2. 當(dāng)某個(gè)方案有多個(gè)原因時(shí),先回答1,2,3,再逐條分析。比如為什么 React 要封裝合成事件?為什么要將低代碼 json 轉(zhuǎn)成手寫代碼?為了讓自己回答問題更專注,使用手指頭記錄自己說到了第幾點(diǎn)。(結(jié)構(gòu)化)

          面試官點(diǎn)評(píng)

          三面的算法題是一道 hard 難度的題目,大家通常會(huì)認(rèn)為,問 hard 難度其實(shí)是因?yàn)闆] hc。

          但講道理,k長度一組反轉(zhuǎn)鏈路,其實(shí)是一個(gè)實(shí)際難度在簡單到中等之間的題目,標(biāo)了個(gè) hard 可能是因?yàn)樗?leetcode 屬于比較早期的題目,并不是真的難寫。

          對(duì)于數(shù)據(jù)結(jié)構(gòu)扎實(shí)的同學(xué)來說,leetcode 的鏈表題可能是最簡單的一塊了。

          事實(shí)上,2-1/2-2 的職級(jí),對(duì)于基礎(chǔ)要求其實(shí)在各類面試中區(qū)分得并不明顯。字節(jié)的前端崗位面試,對(duì)于硬核內(nèi)容的考察通常并不會(huì)很深,很多時(shí)候是看你的實(shí)際項(xiàng)目解決了啥問題,看你在這個(gè)項(xiàng)目領(lǐng)域里的深度,甚至有沒有帶人的經(jīng)驗(yàn),然后再定你是2-1還是2-2,面2-22-1也并不少,但帶人的崗位經(jīng)常會(huì)要求 3-1 了。

          大家也不要太把字節(jié)的面試當(dāng)模板,有些共性的背題該背就背,算法該刷還是得刷,除此之外還是要堅(jiān)持一些自己的技術(shù)追求,感興趣的問題多深入一些,比如你最近解決/解決中的問題,在 github 上有多少解決方案,哪些方案比較好,你做得哪些是更好的,以后想解決啥問題。

          作者:何遇er

          原文:https://juejin.cn/post/7345821800880324671


          瀏覽 73
          點(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>
                  伊人官网在线 | 九色丨老熟女丨91啦 | 美女视频黄8视频大全 | 亚洲九九九九 | 精品国产乱码久久久久夜深人妻 |