【面經】記一次位元組跳動前端面試經歷

来源:https://www.cnblogs.com/ooo12/archive/2020/06/09/13081500.html
-Advertisement-
Play Games

對於實習招聘(甚至校招)來說,項目經歷可能是獲得面試的敲門磚,但是基礎絕對是贏得面試的通天索。 (互聯網偵察註:校招就是考基礎和潛力,基礎扎實潛力不錯的一般都會收) 即使是實習招聘,白板寫代碼也很可能逐漸成為主流面試的標配,平時要有意識地鍛煉這方面能力,要不然面試時沒有IDE真的是做不下去。 (互聯 ...


 

  • 對於實習招聘(甚至校招)來說,項目經歷可能是獲得面試的敲門磚,但是基礎絕對是贏得面試的通天索。 (互聯網偵察註:校招就是考基礎和潛力,基礎扎實潛力不錯的一般都會收)
  • 即使是實習招聘,白板寫代碼也很可能逐漸成為主流面試的標配,平時要有意識地鍛煉這方面能力,要不然面試時沒有IDE真的是做不下去。 (互聯網偵察註:阿裡校招面試必須白板寫代碼,並且要錄入系統,多位面試官review)
  • 對自己的真實實力一定要有正確的評估。一個簡單的評估方式是,你的真實能力水平大約只有你所認為的50%甚至更低。
  • 面試是一件很累的事情,要找準自己的位置,避免海投。

完整面試回顧 面試流程記錄

需要提前說明的是,該流程記錄皆出自本人本次面試的經歷,和其他人的可能有所出入。

面試之前,一般會有郵件通知,郵件上會有一些重要信息,需要認真查看。本人此次是視頻面試,就提前找了個安靜的地方,並且確認面試設備沒有問題。個人認為,面試前提前半小時“到場”是一種尊重。

開始面試後,首先是自我介紹。面試官不一定提前看過簡歷,或者只是一覽而過,所以面試前有必要準備一段3-5分鐘的自我介紹。這裡面試官讓我重點講下在項目中曾經遇到過的問題(拋除業務邏輯),又是如何解決的。從“拋除業務邏輯”這個要求可以看出,其實面試者所做項目本身並不重要,重要的是你如何從項目,哪怕是玩具demo中發掘亮點,體現你個人解決問題的能力。

(互聯網偵察註:這裡必須註一下,寫簡歷也是一樣,一定要突出技術在業務中的作用,很多人寫了半天業務,但是裡面沒有看到技術)

自我介紹之後,就過渡到面試題環節。面試題環節有兩類,一類是挑一段代碼讓你回答,這類考的是基礎知識中的重難點;另一類是之前提到過的白板寫代碼,網上戲稱手撕代碼,題目不會很難,但是很考驗基本功,重度IDEer可能會舉手無措(比如本人qwq)。在面試題環節中,即使遇到不會的問題,也可以說說自己能掌握的信息,面試官會適時給出一定的提示。

面試之後,我抓住機會,問了面試官一個憋在心裡很久的問題,是什麼就不說了。

面試考察點歸納

這裡只是簡要記錄個人在前端面試遇到的考察點:

position和display、事件機制、dom、捕獲冒泡、this及作用域、原型鏈、es6(瞭解)、vue的雙向綁定原理(最好有用過,一定程度上考察了源代碼理解)、基礎的數據結構……等。

其中,dom的考察了一道,this及作用域考察了兩道,數據結構考察了一道,其它的都以概念提問的方式進行考察。

可以總結出以下教訓:

  • js基礎是重中之重,而前端對演算法的要求基本上不是特別高,基礎的數據結構牢固掌握了就沒問題。另外前端的話,刷演算法題最好用js。
  • 對於你沒怎麼接觸過的領域,面試官並不會去深究;但是,對於網上瘋傳的Vue等框架,最好有個瞭解和體驗,甚至是深入源碼。
  • 一個很明顯的現象是,一個概念你知道了,但不一定能說得清楚;一個概念你看似仔細瞭解過,但真正面臨考察時不一定能說出個所以然。解決這個問題的最好辦法是——寫博客。
  • 並沒有考察到websocket、nodejs等知識,這個階段的面試要求並沒有網傳得那麼高。

反思與計劃

對於本次面試出現的種種問題,本人有如下反思:

  • 明確自己的技術方向,然後深入研究。原以為在技術領域多處開花是一件很酷很厲害的事,現在發現這很容易導致我成為一名api使用者。一定要熟記基礎,深入原理,瞭解源碼。
  • 一定要有技術博客,本次面試過程中能答上的知識點全是平時博客有記錄的知識。
  • 接上一點,技術博客不應該是簡單的知識點堆疊,要儘可能地由點及面。秉持這種心態——我其實是在寫新手教程,然後你就會自覺地把博客寫得儘量詳細及全面。
  • 針對自己做過的項目,要有意識地進行分析總結,面試過程中就可以把總結的這些問題拋出來,總有一兩個會被面試官作為考核點。

計劃如下:

  • 摒棄朝三暮四的心態,當前階段應當以前端開發為自身的主要技術棧和深入方向。
  • 就前端而言,沒有什麼比做一個自己的平臺更能鍛煉技術的了。計劃於參與的項目完成之後,大概是今年暑假,從零開始做一個自己的博客。
  • 比起新項目計劃,技術博客顯得更加急切。從現在開始,每周都要強制性做一次技術總結;或者堅持閱讀技術書籍,做讀書筆記。

推薦:

  • 020 持續更新,精品小圈子每日都有新內容,乾貨濃度極高。
  • 結實人脈、討論技術 你想要的這裡都有!
  • 搶先入群,跑贏同齡人!(入群無需任何費用)
  • 群號:779186871
  • 點擊此處,與前端開發大牛一起交流學習

申請即送:

    • BAT大廠面試題、獨家面試工具包,
    • 資料免費領取,包括 各類面試題以及答案整理,各大廠面試真題分享!


       

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 最近花了不少時間把項目資料庫從oracle遷移到達夢8,遷移過程中碰上了不少問題,後面有時間我整理一下心得。 今天先發一下php使用dm_pdo操作達夢資料庫的示例代碼,裡面包括了常規的綁定變數查詢,存儲過程調用,clob類型操作等。 使用的是達夢提供的pdo_dm驅動,相關配置信息請參考達夢的官方 ...
  • 利用Sql Server的Sum函數開窗得到累計值 具體詳解https://www.cnblogs.com/zhaoshujie/p/9594676.html 個人示例例子 DECLARE @Sale Table (--年份 月份 銷售總額 [Year] INT, [Month] INT, Tota ...
  • 順序查找:就是從第一個元素開始,按索引順序遍歷待查找序列,直到找出給定目標或者查找失敗 缺點:效率低 -- 需要遍歷整個待查序列 二分法查找:也稱為折半法,是一種在有序數組中查找特定元素的搜索演算法。 1:首先,從數組的中間元素開始搜索,如果該元素正好是目標元素,則搜索過程結束,否則執行下一步。 2: ...
  • 簡介 消息推送相信在很多人的眼裡都不陌生了吧?像即時聊天微信,好友發信息給你時會在頂部彈下小視窗提醒你。也像是在影院APP預訂了電影票,在開場前一小時你也會收到提醒。這類推送是需要經過後端發送請求的,需要伺服器發送推送請求,又或者使用如極光推送等第三方渠道。 那麼如果我們的APP不需要連網呢?這是不 ...
  • 效果圖以及相關的兩張圖片資源: 實現步驟: 繼承View 重寫onTouchEvent,根據觸摸坐標計算角度 重寫onDraw,根據角度旋轉並繪製圖片 代碼如下: 1 import android.annotation.SuppressLint; 2 import android.content.C ...
  • UICollectionView與UITableView類似,都可以使用reloadData來進行cell內容的更新。 UICollectionView可以採用reloadItemsAtIndexPaths方法。 self.collectionView.reloadItems(at: [indexP ...
  • 我們在使用ListView的時候,自字義Adapter固然好用,靈活,但對於我們只是想簡單的顯示幾行數據,沒必要搞那麼大動靜。ArrayAdapter幫助我們顯示一個數組到列表中,數組可以按我們的需要進行增改,實現起來也簡單易用。 ...
  • 之前的博客:Web前端基礎——JavaScript(一) 本文主要利用一個案例,練習JavaScript中document對象: css.css @charset "UTF-8"; body{ width:800px; margin-left:auto; margin-right:auto; } b ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...