BAT程式設計師面試經驗分享

才智咖 人氣:3.2W

多Android開發工程師新手去企業面試的時候都希望有一些名企面試經驗作參考,本文為大家整理了一些來自百度的面試經驗,希望能對即將去面試的小夥伴有幫助~

BAT程式設計師面試經驗分享

1.“感覺面試不難,我個人所做的一個應用正好和他們的一個im專案類似"

本次面試是單獨面試,地點在首創空間1樓, 面試問題主要以我做過的專案為主,包括service的應用,如何開機自動啟動service, 記憶體如何優化, 如何防止圖片導致的oom,執行緒的優化, 還提到了個frameLayout. 還有及時聊天如何實現. 還有部分自定義控制元件如何實現, listview的優化,差不多就這些.

2.“三面都是技術面,一面基礎,二面技術,三面跟你聊網際網路發展”

一面是個很年輕的面試官,估計是第一次做面試官。問了一些資料結構資料庫計算機網路的基礎概念。給我做了一道演算法題,我想了半分鐘,也寫出來了。不難

二面是第二天早上,那個面試官去買早飯了,我等了他10分鐘。進門自我介紹,然後他背對我開啟電腦開始以及其變態的速度一個一個的問我題,還要求我只能一句話回答,態度很嚴肅。也是一些稍基礎的問題,比一面問的深入。後來他讓我3分鐘之內寫出來連結串列逆序的遞迴演算法,我不懂為什麼偏要遞迴,其實題不難,不過他限定了時間,心理就緊張了,最後還是寫的有點問題。最後面試官突然對我一笑,說你二面通過了。

三面是雲平臺的老大,我給他大概展示了我之前做的一個專案。他問我在我的理解裡網際網路時代的爆點是什麼,我盡我所能的扯了扯。後來他有問了一個很泛的'大資料問題,一層一層的深入問下去,直到深入的我答不上來。因為我面的是上海的職位,所以等上海區面完才發offer。感覺百度很重基礎

3.“android基礎知識,java基礎知識和專案經驗都回答的不錯,面試官也表示滿意。但因為不是計算機專業,所以演算法、網路等計算機基礎知識不太紮實。

面試經歷

一面:

1. Android四大元件

2. Activity生命週期

3. 兩種Service用法(startService、bindService),使用場景

4. BroadcastReceiver收發原理,有幾種註冊方法(程式註冊和menifest檔案註冊)

5. Intent顯式及隱式,使用方法,工作原理(發出後,系統根據引數找到對應的目標並執行)

6. Handler及Looper的使用方法及使用場景

7. AysnTask的使用方法及使用場景

8. 幾種Layout,padding/margin/gravity/weight各自含義

9. 自定義元件(自定義adapter的使用)

10. ANR異常,OOM異常及如何解決,記憶體洩露的含義

11. 程序間通訊(AIDL),Binder。

12. WebView,HTML5。

13. Java記憶體回收機制(gc機制,新生代老生代)

14. Java集合Vector、ArrayList區別。

15. 多執行緒併發如何實現(concurrent.Executor)

16. Synchronized關鍵字的用法

17. 為什麼會出現執行緒安全問題。

18.看簡歷,讓介紹一下做過的android的專案。由於我是app和後臺服務程式都做,所以讓介紹整個架構,及客戶端與服務端如何通訊的。(確實是自己做的,所以可以回答出)

19. TCP/UDP協議屬於哪一層,網路協議共有幾層。

20. 排序演算法都有什麼?(冒泡,快速,插入)

21. 用最熟悉的語言寫一個氣泡排序。

22. 上一個公司是什麼公司(是個創業公司),為什麼離開上一家公司

總結:

專案經驗回答的挺順利,計算機基礎回答的不好。面試官說,我這關你是過了,因為專案經驗沒問題,但是我們領導比較重視基礎,你還得再好好準備準備才可以。給再去網際網路公司面試的同志們提個醒,不管你面的是什麼語言的開發職位,也不管你是做底層還是做app,演算法神馬的是必考啊,平時多積累吧!