1. 程式人生 > 其它 >2021華為Android高階面試題及答案,實踐出真知

2021華為Android高階面試題及答案,實踐出真知

二、位元組一面

一面是在上午9點多接到抖音的面試電話的,接到電話時相當非常興奮、非常緊張的,畢竟是第一次這樣的面試。

有些問題已經記不清了,下面列出了一面問到的問題:

一面主要問了計算機基礎:

1.自我介紹+閒聊

2.tcp/ip相關,tcp/ip模型幾層?

3.tcp和udp相關,埠號位於哪一層?如果tcp和udp訪問同一個埠號會怎麼樣?

4.http相關,http哪些操作是冪等的

5.https相關,對稱非對稱加密?具體操作?為什麼資料傳輸時用對稱加密?

然後是程式碼題:

1.從有序陣列中選出兩數之和等於target,返回索引,口述,一開始說用暴力遍歷,優化之後對兩個索引做二分,再優化對兩個索引代表的數之和做二分

2.手撕LRU 我用了hashmap和linkedlist 面試官看我撕完提了一點優化意見,冗餘程式碼合併,建議用環形

最後問了一下設計模式,然後又是閒聊(為什麼選安卓)

反問面試官的問題:

1.評價一下我的這次面試表現!
2.一面都是基礎知識,沒怎麼問安卓相關的(面試官說後面會問的)
3.有機會下次面試嗎?

一面總結:

一面大概面了50多分鐘,從面試官口中得知他是一個老員工,比我大不了多少,總體上還是聊得蠻投機的。最後的三個問題是我問面試官的,在回答我是否還有機會下次面試的時候說:競爭很激烈,不過機會還是有的。

可以看出一面的問題不是很難,但是要得到面試官比較高的評價,還是需要一定的表達能力和對技術比較本質的認識的,如果在回答問題的時候能夠做一些適當的擴充套件,自然會讓面試官對你有不一樣的評價。我回答問題的遵循一定的步驟:先回答問題本質,在回答具體細節,最後做一些平時程式設計中的擴充套件。這樣,會讓面試官覺得你確實是在這個技術上面下過功夫的。


三、位元組二面

等了將近一週,終於再次接到位元組面試電話,那叫一個激動啊,二面的面試官是一個部門主管,上來就直接問問題,開門見山沒有一點拖泥帶水。

二面面試過程中的問題:

1.自我介紹

2.專案介紹

3.設計一個可重入鎖

4.雙親委派機制

5.多型底層實現(位元組碼

6.retrofit註解底層實現

7.quic協議底層實現

8.檔案中間處理,怎麼保證高可用

9.http2.0多路複用的底層實現

10.http2.0缺點

11.安卓記憶體不足考慮因素

12.載入圖片時優化

13.硬碟分割槽分塊,分大塊還是小塊

14.平時怎麼學習

15.職業規劃

反問面試官的問題:

1.評價一下我的面試表現
2.有機會下次面試嗎?
3.您覺得我有哪些方面還需要提高?

二面總結:

二面面試官問的問題都比較直接,答案也是知道就知道,不知道就不知道。這些問題一部分是基礎,一部分是根據你的專業技能的來提問的。

面完後面試官對我的評價是:中規中矩,有機會下次面試。雖說是中規中矩,但聽到面試官說有機會下次面試就感覺這次面試應該過了。


四、阿里三面(總監面試)

又在焦灼中等待了一週,接到了三面通知。

下面是三面遇到的問題:

1.簡單自我介紹之後,圍繞曾經做過的專案問問題,譬如:

2.學過編譯原理嗎?emmmm,哭了,為什麼問我這個

3.你這上面寫你可以熟練使用spring進行開發,講講怎麼用spring吧。啊這,我好像沒寫我熟練使用spring進行開發啊,面試官無中生有啊!!!

4.一堆資料庫相關的問題

5.講講了解的設計模式,手寫雙校驗實現的單例

6.設計一個購物車,裡面的商品有不同的打折策略,計算出總價格,寫出來程式碼

7.演算法題,字串陣列子集

三面總結:

本以為三面是交叉面,沒想到是位元組的總監面試。由於具體的技術問題在前兩輪面試中已經問過了,所以三面後不會有具體的技術問題,總結來看,對自己做過的專案一定要深入,包括使用使用到的技術原理、為什麼要使用這些技術。

針對專案,面試官關注的無非以下幾點:

  • 專案中某個比較重要的點是如何實現的(需要深入技術的原理)
  • 遇到的最大困難是什麼(有哪些),你怎麼解決的?
  • 如果需要擴充套件某個功能,如何降低系統的耦合度
  • 如果針對某個功能進行優化,你會怎麼設計和優化

對於寫在簡歷上面的專案,自己對照上面四個問題進行思考,才會在面試中游刃有餘。因為任何在簡歷中作假的行為,面試官只要詳細問你就露餡了。在聽到面試官說有機會下次面試的時候,心中自然是非常高興的。


五、位元組四面(總監面)

四面安排在第二天下午四點多,這次面試感覺相對放鬆,沒有什麼高深的技術問題,感覺就像和朋友聊天的感覺,真的很感謝這位面試官。

下面是面試中的問到的問題:

  • 簡單自我介紹
  • 介紹下你最有挑戰的專案
  • 專案使用了什麼架構,技術難度在哪裡
  • 你目前的研究方向是什麼

四面總結:

雖然這面比較輕鬆,也沒有什麼具體的技術問題,但對專案仍然是面試官關注的,後面瞭解到總監面除了看你的基礎,主要看你的潛力(就是有沒有培養的價值),這個東西看起來挺虛的,但是從你平時的學習中仍然是可以看得出來的。所以,作為一名開發人員,平時對技術的研究也是很重要的。在聽到面試官說讓我好好等HR通知的時候可開心了。

分享讀者

作者2013年java轉到Android開發,在小廠待過,也去過華為,OPPO等大廠待過,18年四月份進了阿里一直到現在。

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

我們整理了一份阿里P7級別的Android架構師全套學習資料,特別適合有3-5年以上經驗的小夥伴深入學習提升。

主要包括騰訊,以及位元組跳動,阿里,華為,小米,等一線網際網路公司主流架構技術。

如果你覺得自己學習效率低,缺乏正確的指導,可以一起學習交流!

我們致力打造一個平等,高質量的Android交流圈子,不一定能短期就讓每個人的技術突飛猛進,但從長遠來說,眼光,格局,長遠發展的方向才是最重要的。

35歲中年危機大多是因為被短期的利益牽著走,過早壓榨掉了價值,如果能一開始就樹立一個正確的長遠的職業規劃。35歲後的你只會比周圍的人更值錢。

本文已被CODING開源專案:《Android學習筆記總結+移動架構視訊+大廠面試真題+專案實戰原始碼》收錄