最新大廠Android校招面試經驗匯總,通用流行框架大全

mb612ed7a890c2b 2021-09-19 07:47:58 阅读数:226

最新 android 通用 流行 框架

我以為是HR一面,結果是技術,沒想到啊,沒想到!

  • 1、描述Activity的生命周期。

  • 2、描述一個Activity啟動另外一個Activity的生命周期

  • 3、Activity標簽可以配置什麼

  • 4、IntentFilter裏面的標簽可以幹嘛

  • 5、Service怎麼啟動

了解IntentService嗎?

  • 6、幾大控件有

  • 7、存儲數據的方式有

  • 8、Intent可以幹嘛

  • 9、Sharedpreference裏面的apply和commit有什麼區別

  • 10、ContentProvider用過嗎?為什麼要用這個

  • 11、ASyncTask用過嗎?知道是怎麼實現的嗎?

  • 12、線程池知道嗎?怎麼創建?底層怎麼實現?

  • 13、Set、List、Map區別,Map底層怎麼實現的

  • 14、重寫View怎麼重寫?

  • 15、快排實現

  • 16、實現兩個鏈錶錶示的整數相加(空間複雜度要求很低)
    最新大廠Android校招面試經驗匯總,通用流行框架大全_程序員

看到還有很多程序員連面試流程都沒有徹底弄清楚,今天,我們以阿裏為例,來聊聊互聯網大廠的面試流程和過程!

本篇主要還是聊聊社招的面試過程!阿裏以及其他的互聯網大廠的技術類社招面試,通常情况是 4 個輪次。第一、第二面是技術面,第三面是主管面試,第四面是 HR 面試。對於目標級別在 P6+ 的候選人,我們會增加至少一輪的跨團隊 Review 面試,因為涉及招聘委員會(Hire Committee)的定級流程,所以要複雜一些。接下來的內容,主要針對通常情况下 P5~P6 的面試來介紹,大神請直接忽略。

01?技術面

1. 個人介紹和基礎知識考查

這部分算是必備技能。我個人倒是傾向於弱化基礎知識的考查,畢竟每個候選人的背景不同,應該更看重聰明程度、學習能力、溝通理解力等,基礎知識只能證明他不是一個優秀的工程師,卻無法證明他是一個優秀的工程師。
2. 項目經曆考查

從這個階段開始就格外重要了,因為面試官之前並不一定完整瀏覽候選人的簡曆,所以聆聽候選人對項目的介紹是了解候選人的最主要途徑。在這個過程中,面試官試圖刨根問底,這跟各公司內部的技術評審很相似。幾個關鍵點,希望你格外注意:

  1. 對項目背景的了解程度,講不清楚需求從哪裏來是非常可怕的,這說明你更多只是一個執行者,不是負責人,且缺少對於項目整體的思考。
  2. 對需求的合理性進行分析,一味聽從 PM,不能把控需求的研發是很可怕的。
  3. 對技術方案設計的調研和選型,我們更希望看到你的方案是經過充分思考、調研、對比、論證的,通過這個過程,可以看到候選人的系統設計功底,是否對業界技術有足够了解,對開源技術的掌握情况,是否願意應用開源技術。哪怕你的項目只是一個簡單的業務系統,那麼仍然應該有很多亮點可尋,否則這段項目經曆可能會减分。
  4. 取得的成效。很多工程師只看重過程,不看重結果,這是不可取的。

3. 編程技術考查
在我的團隊中,我要求每一輪技術面,都至少要有 1 道編程題目。一方面,我們非常看重侯選人的代碼風格、優雅程度,還有對邊界條件的考慮,這些都是好的程序員必須具備的素質。對於代碼混亂、邊界考慮不清的人,我們會認為他沒有足够的編程素養和追求,在邏輯思維層面,也有所欠缺。**這樣的候選人進入團隊,短期可能造成 Bug 多、項目質量差等影響,長遠來看,不利於合作開發、項目傳承等。**另一方面,**我們非常看重數據結構、算法等的高效實現。能够快速設計出高效的程序,這體現了候選人日常的深厚積累,還有對編程的極致追求。**前不久就有一個典型案例,我們的運維同學發現一個後端模塊上線後處理性能只有幾十 QPS,很不理解為什麼性能這麼差。直到我們重新 review 代碼後,才發現是個“經典”問題,即 for 循環裏調用 sort(雖然是隔了幾次函數調用),簡單優化後,性能就可以提昇 1~2 個數量級。優秀的工程師,一定會盡可能規避這類問題,幾行代碼的優化,就能提昇用戶體驗、降低服務器成本、方便代碼維護、减少兄弟們的工作量。
4. 邏輯題目或數學題目

這類題目的核心不在於它有多複雜,需要多少經驗背景,而在於,只要邏輯清晰,認真思考,大多能得出結果,雖然不一定是最優解。我舉幾個例子:

  1. 一個六比特數字,逆時針旋轉 180 度後與之前完全相等的概率是多少?
  2. 邊數是 3*4 的網格,從左下角的 A 點走到右上角的 B 點,一共有多少種不同的走法?

這類題目其實很簡單,可以用編程的思路解决,比如遞歸(當然還有很多其他方式),也可以用概率論、組合數學的方式解决,甚至一個一個“數”也是能得到答案的。在思考問題的過程中,可以看出候選人的思維習慣,也可以看出候選人的邏輯能力。另外,這類題目其實有很多變化,如果候選人很輕松完成了回答,面試官就可以適當加大難度,比如 3*4 的網格有一個點不能經過,那麼會是什麼結果?這類題目看似簡單,實則分辨率很高,可以充分挖掘候選人的潜力。除去上面的介紹外,候選人還應該對行業情况有所理解,包括競品、開源項目等,這可以體現一個人的眼界和行業洞察能力,也可以看出一個人的學習態度,他是否在持續更新自己的知識儲備。

02??主管面

相對於技術面而言,主管面試不會過多考查基礎知識、數據結構及算法,但因為技術主管大多具備很强的技術背景,所以仍然會針對技術面過程中的一些遺漏點(可能是面試官沒有考查到,也可能是候選人的回答不够完善),著重補充考查。除此之外,主管面的核心就是判斷候選人除了技術能力外的其他維度,是否與團隊相匹配。第一類維度,軟素質能力。軟素質的維度很豐富,每一次面試過程不會面面俱到地考查,但一些重要的維度一定會被照顧到。

1. 邏輯思維。
與技術面的邏輯題目類似,團隊可以接受不足够聰明的人,但無法接受邏輯不清晰的人。在這個環節,可以提出一些進階的題目,比如給候選人一個很複雜的問題,希望候選人可以嘗試分析、分解,讓看起來一團亂麻的問題變得清晰可實現。或者,讓候選人闡述一個經曆過最有挑戰的問題,是如何定義問題並分析解决的。當然這類問題,一般初入職場的同學都很難回答完美;不過對於工作 2 年 + 的同學,我覺得問題的分析、分解、設定目標、規劃、執行都是必備素質。這個能力很難在工作中迅速培養,它更多是通過候選人過去一二十年的學習和工作經曆,一點一滴積累的,所以對於社招而言,希望候選人已經具備很好的邏輯思維能力。
2. 溝通能力。
不能有效且高效地溝通,對於團隊項目是場灾難。在日常工作中,經常會看到幾個同學針對一個問題爭論得不可開膠,但其實他們往往沒有理解對方所講的主旨是什麼,甚至對於一些名詞和概念的理解都不一致,就更不要說同理心了,這種無效溝通是導致會議冗長的最主要因素。這類的面試考查,一般會依附於項目介紹或者設計題目等。

如果候選人已經具備不錯的溝通能力,我們一般還會考查進階能力:說服和影響。這是成為技術 / 項目負責人的必備能力。面試官可能會和候選人進行一個簡短的虛擬溝通或辯論環節,希望候選人可以說服面試官接受某個觀點或技術方案。當然,在這個過程中,面試官扮演的反派可能會用一些偏激的詞匯和行為,這一方面是看候選人的溝通說服和影響他人的能力,另一方面也是壓力測試,看看候選人在受到刁難時的反應,是否足够職業。創新能力。

在過去的項目中,請講述一次發現傳統方法的不足,嘗試新的解决問題的方法,並獲得成功的經曆。這類題目非常開放,但遺憾的是,在我面試過的候選人中,近半數都是在思索一會兒後回答“沒有什麼”。

當然,一方面可能候選人很謙虛,另一方面,則很可能是候選人確實沒有嘗試做過什麼創新。

互聯網行業,創新是一切之源,如果真的“沒有什麼”,如何給 Offer 呢?

第二類維度,文化價值觀。

工程師文化是務實、自驅、Follow Through(跟進到底,有始有終)。一個浮誇,不思進取,凡事不願承擔責任,不能將項目跟進到底的候選人,很難成為我們的夥伴。這類維度,其實沒有太多經驗可談,每個公司都有它的文化基因,而候選人是否與之匹配,是基因和環境使然。我只說下從我個人角度,最為看重的內容,否則我會一票否决。樂觀積極。不得不承認,每個人都有積極的一面和消極的一面,職業化的思維在於將積極的一面展現出來,盡量弱化消除消極一面的影響。

在日常工作中,每個人都不希望遇到一群愁眉苦臉、滿腹牢騷的同事。善於合作。一比特同學加入到我們的團隊,他不僅需要具備優秀的個人能力,同時也需要能和其他人協同合作,起到 1+1>2 的效果。我們會考查候選人在過去的經曆中,對待合作的態度,有沒有接觸過比較複雜、跨越多個角色或團隊的合作,遇到過的協作困難是什麼,遇到這類困難是如何解决的。有些候選人經常會無意識地錶達出,在項目研發過程中,多人寫代碼,還要同步需求、設計、協商接口、聯合調試,而且有 Bug 修複推動也很麻煩,如果我一個人開發早就解决了。這種思維雖然無可厚非,但希望每個人可以看得更遠,大型項目是一個人完成不了的,在多人合作的背景下,如何提昇合作的效率和質量才是重點,而不是過多地看到負面。追求極致。這一條很難。在我發過的這麼多 Offer 中,具備這個素質的候選人也是鳳毛麟角,但只要具備這個素質,我幾乎一定會給 Offer。當然,追求極致不等於鑽牛角尖。

03?總結

面試的學問很多,很多方面我都無法講到(比如 HR 面,我能講的實在不多,請錶現出你最積極的一面就好)。一家之言,作為參考,總之,你具備了這些,肯定能從我的手中拿到滿意的 Offer。

【附】相關架構及資料

最新大廠Android校招面試經驗匯總,通用流行框架大全_移動開發_02

最新大廠Android校招面試經驗匯總,通用流行框架大全_移動開發_03

 CodeChina開源項目:《Android學習筆記總結+移動架構視頻+大廠面試真題+項目實戰源碼》

往期Android高級架構資料、源碼、筆記、視頻。高級UI、性能優化、架構師課程、NDK、混合式開發(ReactNative+Weex)微信小程序、Flutter全方面的Android進階實踐技術,群內還有技術大牛一起討論交流解决問題。

版权声明:本文为[mb612ed7a890c2b]所创,转载请带上原文链接,感谢。 https://gsmany.com/2021/09/20210919074758088u.html