主頁 > 軟體設計 > 為了這一次位元組跳動Android面試機會,我準備了158天,一個疏忽讓我前功盡棄!

為了這一次位元組跳動Android面試機會,我準備了158天,一個疏忽讓我前功盡棄!

2021-03-04 11:18:51 軟體設計

簡歷內推

面試是走的內推途徑,因為內推的簡歷通過率遠高于其他方式;我的內推的途徑有:聯系我在位元組跳動作業的一個大學學長,

在線面試,有個線上文本編輯器,類似leetcode那種,可以在線編程,然而有點緊張,視頻面試網站、視頻會議工具,面試前請沒有準備確認好自己的網路環境良好(中間快筆記本電腦沒電了也沒注意到)、也許是心理素質這些因素影響我的面試質量,導致很多簡單的問題沒答好,還是要平時多積累,面試才不露怯啊,分享下問題給大家,

面試題

1.常用執行緒池型別和引數,適用場景
2.rxjava的flatmap原理
3.編碼題:7個執行緒按次序列印1-70(這個沒答好太不應該了,我說思路是靠sychronize 一個物件然后wait notify,面試官提示我加鎖效率低,結束之后回想起來才意識到應該是想讓我答自旋+cas)
4.handler的記憶體泄漏情況,強軟弱虛參考,messagqueue原理
5.非靜態內部類為什么能訪問外部類私有變數
6.leak canary原理,怎么實作非侵入式回呼
7.apk簽名原理,v1v2v3簽名區別
8.編碼題:反轉鏈表

對自己面試總

準備不夠充分,不管是因為視頻緊張還是實力準備,都表現不夠完整,

回答程序中,太過自卑,導致前言不搭后語,惡性回圈,

如果個人主動卑微,也是給面試官困擾,

如何準備Android面試

筆者2013年java轉到Android開發,在小廠待過,也去過華為,OPPO等大廠待過,18年四月份進了位元組跳動一直到現在,

被人面試過,也面試過很多人,深知大多數初中級Android工程師,想要提升技能,往往是自己摸索成長,不成體系的學習效果低效漫長,而且極易碰到天花板技術停滯不前!

我將分:面試前、面試中、面試后 三個部分,解答一些常見的問題

面試前

如何尋找一個面試機會?

  1. 內推:首先推薦大家走內推途徑,內推的簡歷通過率遠高于其他方式;內推的途徑有:聯系作業的師兄師姐、在論壇上找對應的內推貼(歡迎直接找我,內容見后文“小廣告”)、參加校招宣講會 等
  2. 對應公司招聘官網直接投遞:需要大家明確自己想投哪些公司,直接搜索公司的官方招聘官網(大公司普遍都有),找到自己想投的崗位投遞
  3. 相關招聘網站投遞:在各類招聘網站上HR也會發布對應招聘資訊,可以對應的投遞

需要為面試做哪些準備?

  1. 一份優秀的簡歷:要能說明 學校、學歷、實習經歷、在校期間技術專案經歷 等,具體的在姊妹篇《校招啦——來自位元組跳動面試官的技術簡歷指南》,敬請期待,
  2. 了解投遞的崗位要求:就是我們常說的JD(Job Description),公司的招聘官網或發布的招聘資訊里面會詳細描述,如果找不到或公司沒寫,可以聯系HR發郵件說明,
  3. 復習面試崗位相關知識:校招同學需要復習 計算機基礎(網路、作業系統、計算機組成原理、數學等)、編碼能力(資料結構、演算法) 、技術方向基礎知識(如前端同學主要看html/css/js)
  4. 整理自己做過的專案:包括實習專案、個人專案、科研學術專案、參與社區開源專案等,在面試時需要做自我介紹,面試官也可能會根據你的簡歷詢問專案內容,
  5. 適當的做一些演算法題:前端、測驗等一些崗位可能不是特別重視演算法,但做一些演算法題能訓練你的思維、代碼能力;常用的刷題網站:LeetCoode、牛客網、各大高校OJ等

接到面試邀請時需要和HR確認什么?

如果接到了HR的面試邀請電話,恭喜你,你已經通過了第一道難關——簡歷篩選; 在接到面試通知時,請確保自己通話方便信號穩定,如有困難可以和HR商量稍候聯系,

面試邀請需要確認的有:

  1. 面試時間:如招聘方沒有特別緊急要求,建議至少約在一周之后,給自己充分的準備時間
  2. 預計總面試時長:這個是一般同學容易遺漏的點,請事先確認好這次面試預計時長,以便安排自己的時間規劃,校招、實習的同學可能會有課、學校有事,不能拿出完整的半天時間,要提前HR說明情況,
  3. 面試地點:中、大型互聯網公司可能有很多處辦公點,請確認好本次面試的具體地點
  4. 面試要求:如需要準備哪些資料,是否需要帶電腦,是否有著裝要求(技術面這個一般沒要求)
  5. 面試聯系人:確認面試聯系人,一方面是面試當天現場聯系人(一般是前臺),另一方面是如果出現突發情況(如臨時有事、找不到面試官等)的緊急聯系人 這些資訊一般的公司也會通過郵件發送,請確保自己的郵箱可用 && 不要被歸類在垃圾郵件中

如果臨時有事無法參加面試如何處理?

如果臨時有事 或是 覺得還沒有準備充分,可以聯系HR說明情況,商討延期面試,千萬不要默默的不來,會被記錄“爽約”, 如果確認不來面試,也最好能和HR說明,以后還有機會再聊嘛,

面試中

如何自我介紹?

技術面試自我介紹時請focus在技術方向上,有些同學會準備一段華麗的開場白,介紹自己大學期間的學生會、組織活動等經驗,這些內容對于技術面試沒有太多吸引力,不利于面試官找到對應你的合適問題,有時候反而會在面試官心目中減分(感覺不夠專注技術), 建議是

  1. 有技術實習經歷的同學,重點介紹實習中做過的專案,說明自己在專案中的角色、負責研發了那些部分、使用了什么技術堆疊、學習到了什么,
  2. 沒有實習經歷的同學,可以介紹自己在目標崗位的技術方向上學習了哪些內容、有做過什么個人專案 或者一些Demo專案,
  3. ACM等計算機競賽獲獎經歷的要說明,加分項,
  4. 參與開源專案或社區建設的,建議說明,加分項,
  5. 學術大牛同學也可以說明自己發表論文、參與會議情況,也是加分項,如果學術方向和作業內容沒有太多關系,建議不要滔滔不絕的詳細介紹,如果學術方向剛好和崗位match 或 面試官有興趣,面試官一般會主動繼續聊下去,

沒有實習經歷可以嗎?

答案是——可以的, 有技術實習經歷當然好事,但是對于校招/實習同學來說,不一定人人都有實習經驗,或者實習經驗可能與當前崗位不match,所以不用過分擔心,一般能過簡歷參與面試的同學,都是得到了初步的認可的,沒有相關實習經驗的同學,面試時可以突出自己在其他方面的優勢(如:個人專案、開源專案、競賽、學術,參考上個問題),面試官如果認可你的知識儲備、能力、潛力就會通過,

沒有 相關實習經歷 和 沒有相關知識能力 是兩回事,有實習經歷缺沒有積累知識能力的同學,可能最終評價會不如 通過自己學習探索具備相關知識的同學,所以請一定要做好面試前的準備,讓自己符合面試崗位的要求,比如投遞前端崗位的同學,至少要學習html/css/js相關基礎知識,對當前常用前端技術堆疊有一定的了解,并且有動手實踐的經歷,

需要對業務了解嗎?

校招/實習 來說,并不強求對業務的了解,一般來說在校同學也很難對業務有深入的理解,有相關經驗了解當然是加分項,

面試整體流程

通常來說,一次完整的面試包括:筆試、技術面試、崗位match、HR面試, 筆試:可能是線上筆試 或 當場筆試,校招筆試題目范圍較寬,會涉及計算機基礎知識、面試方向的知識技能、代碼coding、資料結構 & 演算法 等, 技術面試:以位元組跳動為例,校招一般是2-3輪交叉技術面試,實習一般是1-2輪,考察 計算機基礎、編碼能力 、技術方向基礎知識以及技術深度、系統設計能力、抽象能力和工程化能力、軟素質 等,一面更偏向基礎知識、技術廣度,二三面偏向技術深度、進階能力, 崗位match:一般是通過技術面試后,由業務部門負責人面試,偏向軟素質、專業能力、個人發展與規劃等, HR面試:通常是最后一輪面試,主要聊一下職業規劃、個人訴求、面試程序中的一些問題、入職相關資訊(如可入職時間、實習時間、作業地點等)

遇到不會的問題如何處理?

首先要明確——誰都會有不會的問題,即便是作業多年的社招同學也會有知識盲區,有部分不會的問題并不會影響你的整個面試評價,所以,千萬不要不懂裝懂,這樣反而會留下負面印象, 確實不會的問題請直接和面試官說明,可以讓面試官給一些提示,或者征詢面試官意見看能否現場查閱相關資料(一定要在面試官許可下查詢,否則容易被算作作弊),如果在提示或查詢資料后,解決了原本不會的問題,也是加分項——說明學習能力、應變能力、抗壓能力不錯,

現場面試 vs 視頻面試

常見的面試形式主要是 現場面試、視頻面試,有時候還會有 電話面試, 現場面試 是和面試官直接當面交流,交流障礙比較小,方便在紙上寫寫畫畫,技術面試一般會有白板/手寫代碼題目,有的同學比較害羞、緊張,現場面試會發揮失常,建議大家可以參與一些模擬面試做練習,面試時保持平常心, 視頻面試 在疫情當前也成為主要的面試形式,一般會使用一些視頻面試網站、視頻會議工具,面試前請確認自己的網路環境良好、相關軟體工具安裝完整,不要因為這些因素影響面試質量,視頻面試對寫代碼的題目會比較友好,對于需要在紙上畫邏輯圖的題目不友好,建議準備紙筆,畫好后拍斬訓攝像頭展示,

面試作弊

這一點要嚴肅的說,一定不要在面試時作弊!!! 面試作弊一般是在視頻面試、筆試時,現場面試大家面對面交流想作弊也比較困難, 常見的作弊有:面試程序中查找答案、找大牛代打、提前獲取筆試題目答案 等, 其實作弊很容易被面試官發現,面試官懷疑作弊時,通常會出一些針對作弊的題目(釣魚題目),確認的話就會記錄;即便某一輪面試混過,后續面試中發現明顯反差也會被記錄, 大多數公司會保存面試記錄,一旦某一次作弊被發現并記錄,將會影響你后續的簡歷投遞、甚至是整個職業生涯

面試時可以問面試官什么問題?

在一輪面試結束后,面試官可能會說:“你有什么問題想問的嗎?” —— 注意,這個可能也是一道面試題,面試官想通過你的問題,了解到你的職業訴求、個人規劃、學習能力等,所以要慎重的選擇自己的問題, 技術面試環節不建議問一些與當前面試無關、涉及公司機密、個人隱私的問題,如:加班多少/工資待遇(這個在HR面試環節可問)、公司當前收益情況、業務線具體使用的核心技術、面試官聯系方式等 可以問一些與自己相關的技術方向問題,如:如果通過面試需要學習哪些內容做準備、面試官對你本輪的評價和建議(如果面試官不方便說,也不要追問)、面試程序中某個困惑問題的解決方法(時間限制面試官可能只能給出思路)等,

面試時感覺準備不充分怎么辦?

如果面試程序中發現大部分的題目回答不上來、或自己狀態不好沒有準備好時,可以和面試官說明,討論本次面試是否繼續,如果停止本次面試是否還能再給一次機會, 當然,也不要一碰到困難就立刻放棄,會給面試官留下負面印象,建議是至少堅持面完一輪,在一輪結束的時候再與面試官討論,說不定你會發現面試官感覺你還不錯,正如之前說過的,面試并不要求你所有題目都會,只要整體符合崗位預期就可以通過,

面試后

長時間沒有得到回應如何處理?

面試后請注意查收自己的郵箱、保持電話暢通,如果長時間(3-5天)沒有得到回應,建議和HR聯系,校招的同學通常比較畏懼與HR交流,擔心本身“薛定諤的貓”狀態的結果在自己聯系HR后就變得負向了,這個心理一定要克服,及時的確認面試結果才有利于安排之后的面試/offer選擇, 如果真的得到了不好的結果,也可嘗試問一下HR面試評價中自己的問題,不一定能得到答復,但如果HR能告訴你也利于你及時發現、解決自己的不足,為下一次面試打基礎,

面試沒有通過可以再次投遞嗎?

有的公司有面試不通過鎖簡歷機制(一段時間內投遞無效),這個也可以和HR問清楚, 我司(位元組跳動)是不鎖簡歷的,某一崗位面試不通過任然可以繼續投遞,但是建議大家每次投遞都認真準備,你的每一次投遞、面試都可能被記錄,如果多次面試、投遞沒有體現出成長,也還是會影響后續的簡歷篩選與面試,

可以和面試官要求加微信嗎?

答案是——不建議, 一般來說公司是不提倡甚至禁止面試官在私下與候選人直接聯系的,這也是為了給大家創造一個更公平的面試環境,

面試后可以在分享面試題嗎?

可以自己記錄面試相關題目、經驗,為自己未來的面試做準備資料,但不建議立即分享(包括分享再網路上和分享給其他同學),有些公司筆試、面試時時會簽署協議的,如果發現分享最新面試、筆試題目,可能會直接取消錄用資格,

崗位內推、學習交流

我們大量需要前端崗位、Java 崗位、Android 和 iOS 的開發崗位,作業地點:北京位元組跳動,如果你想提升你的技術堆疊,提供給你更好的成長環境**點擊我**

如果你覺得自己學習效率低,缺乏正確的指導,可以加入資源豐富,學習氛圍濃厚的技術圈一起學習交流吧!

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/265966.html

標籤:其他

上一篇:MyBatis框架學習筆記01:MyBatis初探

下一篇:新手學Python之掌握編程規范

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 面試突擊第一季,第二季,第三季

    第一季必考 https://www.bilibili.com/video/BV1FE411y79Y?from=search&seid=15921726601957489746 第二季分布式 https://www.bilibili.com/video/BV13f4y127ee/?spm_id_fro ......

    uj5u.com 2020-09-10 05:35:24 more
  • 第三單元作業總結

    1.前言 這應該是本學期最后一次寫作業總結了吧。總體來說,對作業的節奏也差不多掌握了,作業做起來的效率也更高了。雖然和之前的作業一樣,作業中都要用到新的知識,但是相比之前,更加懂得了如何利用工具以及資料。雖然之間卡過殼,但總體而言,這幾次作業還算完成的比較好。 2.作業程序總結 相比前兩個單元,此單 ......

    uj5u.com 2020-09-10 05:35:41 more
  • 北航OO(2020)第四單元博客作業暨課程總結博客

    北航OO(2020)第四單元博客作業暨課程總結博客 本單元作業的架構設計 在本單元中,由于UML圖具有比較清晰的樹形結構,因此我對其中需要進行查詢操作的元素進行了包裝,在樹的父節點中存盤所有孩子的參考。考慮到性能問題,我采用了快取機制,一次查詢后盡可能快取已經遍歷過的資訊,以減少遍歷次數。 本單元我 ......

    uj5u.com 2020-09-10 05:35:48 more
  • BUAA_OO_第四單元

    一、UML決議器設計 ? 先看下題目:第四單元實作一個基于JDK 8帶有效性檢查的UML(Unified Modeling Language)類圖,順序圖,狀態圖分析器 MyUmlInteraction,實際上我們要建立一個有向圖模型,UML中的物件(元素)可能與同級元素連接,也可與低級元素相連形成 ......

    uj5u.com 2020-09-10 05:35:54 more
  • 6.1邏輯運算子

    邏輯運算子 1. && 短路與 運算式1 && 運算式2 01.運算式1為true并且運算式2也為true 整體回傳為true 02.運算式1為false,將不會執行運算式2 整體回傳為false 03.只要有一個運算式為false 整體回傳為false 2. || 短路或 運算式1 || 運算式2 ......

    uj5u.com 2020-09-10 05:35:56 more
  • BUAAOO 第四單元 & 課程總結

    1. 第四單元:StarUml檔案決議 本單元采用了圖模型決議UML。 UML檔案可以抽象為圖、子圖、邊的邏輯結構。 在實作中,圖的節點包括類、介面、屬性,子圖包括狀態圖、順序圖等。 采用了三次遍歷UML元素的方法建圖,第一遍遍歷建點,第二、三次遍歷設定屬性、連邊,實作圖物件的初始化。這里借鑒了一些 ......

    uj5u.com 2020-09-10 05:36:06 more
  • 談談我對C# 多型的理解

    面向物件三要素:封裝、繼承、多型。 封裝和繼承,這兩個比較好理解,但要理解多型的話,可就稍微有點難度了。今天,我們就來講講多型的理解。 我們應該經常會看到面試題目:請談談對多型的理解。 其實呢,多型非常簡單,就一句話:呼叫同一種方法產生了不同的結果。 具體實作方式有三種。 一、多載 多載很簡單。 p ......

    uj5u.com 2020-09-10 05:36:09 more
  • Python 資料驅動工具:DDT

    背景 python 的unittest 沒有自帶資料驅動功能。 所以如果使用unittest,同時又想使用資料驅動,那么就可以使用DDT來完成。 DDT是 “Data-Driven Tests”的縮寫。 資料:http://ddt.readthedocs.io/en/latest/ 使用方法 dd. ......

    uj5u.com 2020-09-10 05:36:13 more
  • Python里面的xlrd模塊詳解

    那我就一下面積個問題對xlrd模塊進行學習一下: 1.什么是xlrd模塊? 2.為什么使用xlrd模塊? 3.怎樣使用xlrd模塊? 1.什么是xlrd模塊? ?python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。 今天就先來說一下xl ......

    uj5u.com 2020-09-10 05:36:28 more
  • 當我們創建HashMap時,底層到底做了什么?

    jdk1.7中的底層實作程序(底層基于陣列+鏈表) 在我們new HashMap()時,底層創建了默認長度為16的一維陣列Entry[ ] table。當我們呼叫map.put(key1,value1)方法向HashMap里添加資料的時候: 首先,呼叫key1所在類的hashCode()計算key1 ......

    uj5u.com 2020-09-10 05:36:38 more
最新发布
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:20:47 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:20:25 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:20:17 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:20:10 more
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:19:44 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:19:07 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:18:57 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:18:49 more
  • 05單件模式

    #經典的單件模式 public class Singleton { private static Singleton uniqueInstance; //一個靜態變數持有Singleton類的唯一實體。 // 其他有用的實體變數寫在這里 //構造器宣告為私有,只有Singleton可以實體化這個類! ......

    uj5u.com 2023-04-19 08:42:51 more
  • 【架構與設計】常見微服務分層架構的區別和落地實踐

    軟體工程的方方面面都遵循一個最基本的道理:沒有銀彈,架構分層模型更是如此,每一種都有各自優缺點,所以請根據不同的業務場景,并遵循簡單、可演進這兩個重要的架構原則選擇合適的架構分層模型即可。 ......

    uj5u.com 2023-04-19 08:42:41 more