天天看點

位元組跳動Android三面涼涼,面試資料分享阿裡美團點評網易遊戲最後

緣起

随着網際網路企業的不斷發展,産品項目中的子產品越來越多,使用者體驗要求也越來越高,想實作小步快跑、快速疊代的目的越來越難,還有應用之間的互相調用等等問題,插件化技術應用而生。如果沒有插件化技術,美團、淘寶這些內建了大量“app”的應用,可能會有幾個g那麼大。

是以,當今的Android移動開發,不會熱修複、插件化、元件化,80%以上的面試都過不了。

阿裡P8大佬每天熬夜到淩晨一兩點,花了将近半個月時間将Android熱修複架構、插件化架構、元件化架構、圖檔加載架構、網絡通路架構、RxJava響應式程式設計架構、IOC依賴注入架構、最近架構元件Jetpack等等Android第三方開源架構整合成了一套系統知識筆記PDF,長達1042頁!相信看完這份文檔,你将會對這些Android第三方架構有着更深入、更系統的了解。

阿裡

阿裡的實習生招聘我參加了内推批次和正式批次一共兩場。

阿裡的内推批次和正式批次的時間是完全錯開的,即在内推全部結束後才開始正式批次。需要注意的是,阿裡主要部門(集團、菜鳥、螞蟻等)的招聘幾乎全部放在内推批次中,而正式批次絕大多數是非主要部門(高德、優酷洋芋、蝦米、釘釘等)的招聘。

阿裡的内推沒有統一的筆試,在内推成功後,馬上就會收到素質測評和程式設計測驗的通知。然而這兩個測評其實并沒有太大意義,做不做都會很快(一兩天)就開始面試的。阿裡内推批次的面試全都是電話面試。我在内推後的第二天就接到了一面的電話,部門是菜鳥/無線(記不清了)。

内推一面大概40分鐘,主要問的計算機基礎,如HTTP、TCP、并發、二叉樹周遊、字元串比對算法等,還讓我簡單介紹了我做的兩個項目。因為我的其中一個項目做的APP中有調查問卷的發放和收集,是以問了我如何防止有人刷問卷;我回答說可以限制IP、記錄裝置唯一編号、監測做問卷模式等,但都存在一些漏洞。最後我問他Android開發過程中是不是會遇到很多相容性問題,面試官回答說會遇到,還詳細說了他們有專門的大規模真機測試來檢查相容性。一面總體上答的還行,幾乎沒有涉及到Android相關的問題;因為是電話面試,也就沒問什麼算法題。

内推一面兩天後就接到内推二面電話了。二面大概50分鐘,主要問了Java GC機制、Android APP啟動過程、Android事件分發、Android View繪制流程。GC機制因為剛看過是以答的比較好,然而因為阿裡面試開始太早,我還沒來得及複習Android,是以Android相關的問題答的一塔糊塗,比如APP啟動過程就支支吾吾亂說一氣,View繪制流程幹脆說不知道,跟面試官說我知道Android事件分發流程,于是事無巨細說了好長一串,最後被面試官吐槽根本不熟悉Android。最後問了面試官對國内手機廠商亂改Android Framework層有什麼看法,面試官回答說他也很無奈,但阿裡一般都和手機廠商有合作,直接進白名單,是以沒有碰到太大問題。

内推二面後過了一周多才接到内推三面的電話,而且是在周末的晚上11點的時候。三面大概20多分鐘,主要問了做過的項目、Java基礎、最近看的書、到阿裡想學到什麼。我不太确定這輪面試是技術面還是HR面,因為是晚上11點和女票剛回到酒店完全不在狀态,而且面試官也似乎很不耐煩,加上那段時間一直在準備技術方面的問題對這些HR面相關的問題完全沒有準備,是以答的很啰嗦也很糟糕,好多都沒有答到點子上。最後我問面試官我答的怎麼樣,面試官也沒有說什麼就急忙不耐煩挂電話了。

内推三面結束後就覺得應該是挂了,然後又等了一星期,官網上就從“面試中”變成“已回絕了”。

等到阿裡正式批次開始的時候又投了正式批次,正式批次有統一的筆試,筆試用的阿裡自己的系統;筆試内容記不清了,但一二十個選擇題記憶深刻,好多超出Android相關知識的題目,好多做不出來的智力題。

正式批次的筆試似乎隻有很少數的人通過了(主要是因為正式批次的崗位很少),幸運的是我也通過了,在官網預約面試時間後就開始準備視訊一面了,面試的部門是釘釘(像之前說的,正式批次的部門都比較邊緣)。

正式一面是視訊面試,大概不到20分鐘,是我實習秋招體驗并列第二差的面試。主要問了Activity中能不能執行耗時操作(就是UI線程相關)、Android中有哪些記憶體洩漏的情況,然後就是共享螢幕寫代碼:實作單連結清單的插入删除和查找。為什麼說體驗非常差呢?首先整個面試就問了兩個問題,而且這兩個問題幾乎任何有Android開發經驗的都能對答如流,并且我回答完後就沒有然後了,沒有繼續深入問;其次那個代碼在資料結構教材上講連結清單的時候一定會講,而且也沒有什麼技術含量。最後面試官說還行,也沒讓我問他問題就結束了。

一天後官網狀态就變成“已回絕”了,累覺不愛。

美團點評

美團點評也是很早就網申了,其實最初是找的師兄内推的,然而當時内推的崗位是背景開發,仔細想了想之後我又改成Android開發,于是就不是内推了(直到我筆試挂了才明白這個道理)。

之後就收到了美團點評的統一筆試,美團點評用的是北森系統,奇爛無比。筆試題目記不清了,最後有一個程式設計題,好像是求最長遞增子序列,經典題目了。當時感覺筆試做的挺好的,然而筆試完就再也沒有消息了,簡直是黑人問号。

後來想了想可能是我當時網申的時候,選“感興趣的事業群”選了“都感興趣”導緻沒有一個事業群對我感興趣,這個後面再說。

網易遊戲

嚴格來說我投的是網易互娛(差別于雷火&盤古,後面再說更多差別),走的内推。網易遊戲以其筆試難度大著名,這次也不例外;所有的内推都要求參加統一筆試,我記得筆試有幾場,我是在第一場。内推的崗位是網易遊戲最核心的“遊戲研發工程師”,地點是杭州。

筆試用的牛客網平台,大大的贊。筆試一共四道程式設計題,一共150分鐘,難度都很大,前三題用不到啥高深的算法,但需要想到解題的思路,最後一題是一個多重背包問題。筆試我一共過了三題半,因為最後一題不知道為啥記憶體超限了,用的primary int和動态規劃,理論上是不會記憶體超限的。做完筆試題幾乎就有把握能進面試了,當時預感能做出兩題就能進面試,後來發現好多人隻做出了一題就進面試了。

網易遊戲實習生招聘很神奇的是整個就一輪面試,HR面是不存在的。面試是視訊面試,用的牛客網平台,大概面了一個小時多一點。面試主要就是把計算機四大專業課輪番問了一遍,問了Java語言基礎,最後還問了一個算法題。

四大專業課問的也就是那些基礎問題,不過有些地方問的很深,基礎的像問到了各種排序算法的最好、平均、最壞時間複雜度、線程和程序的差別、cache工作原理、計算機網絡七層模型;問的深的像問到了程序中有多少個棧、線程中有多少個棧、阻塞是指程序阻塞還是線程阻塞、一台伺服器上TCP和UDP監聽端口号能不能相同、伺服器80端口和用戶端建立連接配接後會不會切換端口等。

Java語言基礎這裡有個小插曲,面試官沒想到我不會C/C++(因為崗位介紹裡面有寫要會C/C++,但五個要求裡隻要求滿足任意兩個就可以投遞)隻會Java和Python,于是他就隻好問了一些Java語言基礎的問題,比如Integer和int的差別、GC的工作過程等;還問了Python的裝飾器的原理,我就說了說面向切面程式設計相關的;最後面試官覺得不問C/C++不行,然後問我知不知道C/C++裡的虛函數,被我一口回絕了。最後問了一個字元串循環移動的算法題,算是一個經典題目了,直接口頭說三次翻轉就好了。

最後問了面試官說崗位介紹裡要求會C/C++,但我看招聘網站介紹裡有提到Python,實際中是用哪些語言呢?面試官說C/C++主要用在遊戲引擎那塊,開發主要還是會用Python。雖然整個下來有些題沒有答上來或者答錯了,但整體來看還是答的很好的,反正對我來說已經發揮到極限了。面試完就感覺這個offer基本要到手了。

等了兩周多才收到了網易遊戲的offer,但也算是我實習生招聘收到的第一個offer,也是很有分量的一個了,自此我的實習生招聘就有底氣了。

最後

其實Android開發的知識點就那麼多,面試問來問去還是那麼點東西。是以面試沒有其他的訣竅,隻看你對這些知識點準備的充分程度。so,出去面試時先看看自己複習到了哪個階段就好。

上面分享的百度、騰訊、網易、位元組跳動、阿裡等公司2021年的高頻面試題,部落客還把這些技術點整理成了視訊和PDF(實際上比預期多花了不少精力),包含知識脈絡 + 諸多細節,由于篇幅有限,上面隻是以圖檔的形式給大家展示一部分。

Android學習PDF+學習視訊+面試文檔+知識點筆記

【Android思維腦圖(技能樹)】

知識不體系?這裡還有整理出來的Android進階學習的思維腦圖,給大家參考一個方向。

位元組跳動Android三面涼涼,面試資料分享阿裡美團點評網易遊戲最後

【Android進階架構視訊學習資源】

向。

[外鍊圖檔轉存中…(img-JDgP4aA7-1621504345868)]

【Android進階架構視訊學習資源】

**Android部分精講視訊領取學習後更加是如虎添翼!**進軍BATJ大廠等(備戰)!現在都說網際網路寒冬,其實無非就是你上錯了車,且穿的少(技能),要是你上對車,自身技術能力夠強,公司換掉的代價大,怎麼可能會被裁掉,都是淘汰末端的業務Curd而已!現如今市場上初級程式員泛濫,這套教程針對Android開發工程師1-6年的人員、正處于瓶頸期,想要年後突破自己漲薪的,進階Android中進階、架構師對你更是如魚得水,趕快領取吧!