Android2017最新面試題(3-5年經驗個人面試經曆)

來源:互聯網
上載者:User

標籤:sso   網路   網路連接   font   記憶體泄露檢測   ice   性格   虛擬機器   min   

2017最新Android面試題

大家好,在跟大家講述自己的面試經曆,以及遇到的面試題前,先說說幾句題外話。

接觸Android已經3年,在工作中遇到疑難問題總是在網上(csdn大牛部落格,stackoverflow等)搜尋答案,各位大牛大神總是把自己的經驗分享出來,協助我們這些需要協助的人,由此表示衷心感謝!然而現在自己細想了一下,自己也是時候把遇到的問題並把解決方案分享出來,希望能協助到有需要的人。

隨著時間的流逝,很多人說互連網這一塊已經越來越不好乾了,因為燒錢時代已經過去,剩下的都是根基牢固的大公司,獨角獸已經不複存在。這就直接導致了互連網崗位的下降,本人親測,也的確如此。

2017.05月,本人離職(此時3年工作經驗,深圳就職),開始試水安卓市場,尋求一份合適自己,穩定的中大型公司。投了很多公司,面試機會並不是我想象中的那麼多,即時面試過程順利,也沒有獲得offer(候選人太多太多)。不過藉此機會,前前後後我面了10家公司,現在就把我遇到的面試題,並且提供一些面試技巧給各位即將面試的同志們。

OK,進入主題,請看Android知識圖譜。

面試,無非都是問上面這些問題(挺多的 - -!),聘請中進階的安卓開發會往深的去問,並且會問一延伸二。以下我先提出幾點重點,是面試官基本必問的問題,請一定要去瞭解!

  • 基礎知識 – 四大組件(生命週期,使用情境,如何啟動)
  • java基礎 – 資料結構,線程,mvc架構
  • 通訊 – 網路連接(HttpClient,HttpUrlConnetion),Socket
  • 資料持久化 – SQLite,SharedPreferences,ContentProvider
  • 效能最佳化 – 布局最佳化,記憶體最佳化,電量最佳化
  • 安全 – 資料加密,代碼混淆,WebView/Js調用,https
  • UI– 動畫
  • 其他 – JNI,AIDL,Handler,Intent等
  • 開源架構 – Volley,Gilde,RxJava等(簡曆上寫你會的,用過的)
  • 拓展 – Android6.0/7.0/8.0特性,kotlin語言,I/O大會

急急忙忙投簡曆,趕面試,還不如沉澱一兩天時間,再過一遍以上內容。想穩妥拿到一個offer,最好能理解實現原理,並且知道使用情境了。不要去背!要去理解!面試官聽了一天這些內容是很厭倦的,最好能說出一些自己的見解。

面試題(固定答案不解答,自己可以找到)

順序是根據記憶排的,沒有優先順序之分,都是重點。

1.Activity的啟動過程(不要回答生命週期)
http://blog.csdn.net/luoshengyang/article/details/6689748

2.Activity的啟動模式以及使用情境
(1)manifest設定,(2)startActivity flag
http://blog.csdn.net/CodeEmperor/article/details/50481726
此處延伸:棧(First In Last Out)與隊列(First In First Out)的區別

3.Service的兩種啟動方式
(1)startService(),(2)bindService()
http://www.jianshu.com/p/2fb6eb14fdec

4.Broadcast註冊方式與區別
(1)靜態註冊(minifest),(2)動態註冊
http://www.jianshu.com/p/ea5e233d9f43
此處延伸:什麼情況下用動態註冊

5.HttpClient與HttpUrlConnection的區別
http://blog.csdn.net/guolin_blog/article/details/12452307
此處延伸:Volley裡用的哪種請求方式(2.3前HttpClient,2.3後HttpUrlConnection)

6.http與https的區別
http://blog.csdn.net/whatday/article/details/38147103
此處延伸:https的實現原理

7.http與https的區別
http://blog.csdn.net/whatday/article/details/38147103
此處延伸:https的實現原理

8.手寫演算法(選擇冒泡必須要會)
http://www.jianshu.com/p/ae97c3ceea8d

9.進程保活(不死進程)
http://www.jianshu.com/p/63aafe3c12af
此處延伸:進程的優先順序是什麼(下面這篇文章,都有說)
1190000006251859

10.處理序間通訊的方式
(1)AIDL,(2)廣播,(3)Messenger
AIDL : http://www.jianshu.com/p/ae97c3ceea8d
Messenger : http://blog.csdn.net/lmj623565791/article/details/47017485
此處延伸:簡述Binder , http://blog.csdn.net/luoshengyang/article/details/6618363/

11.載入大圖
PS:有家小公司(規模寫假的,給騙過去了),直接把項目給我看,讓我說實現原理。。
最讓我無語的一次面試,就一個點問的我底褲都快穿了,就差幫他們寫代碼了。。
http://blog.csdn.net/lmj623565791/article/details/49300989

12.三級緩衝(各大圖片框架都可以扯到這上面來)
(1)記憶體緩衝,(2)本機快取,(3)網路
記憶體:http://blog.csdn.net/guolin_blog/article/details/9526203
本地:http://blog.csdn.net/guolin_blog/article/details/28863651

13.MVP架構(必問)
http://blog.csdn.net/lmj623565791/article/details/46596109
此處延伸:手寫mvp例子,與mvc之間的區別,mvp的優勢

14.講解一下Context
http://blog.csdn.net/lmj623565791/article/details/40481055

15.JNI
http://www.jianshu.com/p/aba734d5b5cd
此處延伸:項目中使用JNI的地方,如:核心邏輯,密鑰,加密邏輯

16.java虛擬機器和Dalvik虛擬機器的區別
http://www.jianshu.com/p/923aebd31b65

17.線程sleep和wait有什麼區別
http://blog.csdn.net/liuzhenwen/article/details/4202967

18.View,ViewGroup事件分發
http://blog.csdn.net/guolin_blog/article/details/9097463
http://blog.csdn.net/guolin_blog/article/details/9153747

19.儲存Activity狀態
onSaveInstanceState()
http://blog.csdn.net/yuzhiboyi/article/details/7677026

20.WebView與js互動(調用哪些API)
http://blog.csdn.net/cappuccinolau/article/details/8262821/

21.記憶體泄露檢測,記憶體效能最佳化
http://blog.csdn.net/guolin_blog/article/details/42238627
這篇文章有四篇,很詳細。
此處延伸:
(1)記憶體溢出(OOM)和記憶體泄露(對象無法被回收)的區別。
(2)引起記憶體泄露的原因

22.布局最佳化
http://blog.csdn.net/guolin_blog/article/details/43376527

23.自訂view和動畫
以下兩個講解都講得很透徹,這部分面試官多數不會問很深,要麼就給你一個效果讓你講原理。
(1)http://www.gcssloop.com/customview/CustomViewIndex
(2)http://blog.csdn.net/yanbober/article/details/50577855

24.設計模式(單例,工廠,觀察者。作用,使用情境)
一般說自己會的就ok,不要只記得名字就一輪嘴說出來,不然有你好受。
http://blog.csdn.net/jason0539/article/details/23297037/
此處延伸:Double Check的寫法被要求寫出來。

25.String,Stringbuffer,Stringbuilder 區別
http://blog.csdn.net/kingzone_2008/article/details/9220691

26.開源架構,為什麼使用,與別的有什麼區別
這個問題基本必問。在自己簡曆上寫什麼架構,他就會問什麼。
如:Volley,面試官會問我Volley的實現原理,與okhttp和retrofit的區別。
開源架構很多,我就選幾個多數公司都會用的出來(架構都是針對業務和效能,所以不一定出名的架構就有人用)
網路請求:Volley,okhttp,retrofit
非同步:RxJava,AsyncTask
圖片處理:Picasso,Glide
訊息傳遞:EventBus
以上架構請自行尋找,太多了就不貼出來了。

27.RecyclerView
這個挺搞笑的。有另外一個同事也在找工作,面試官嫌他沒用過RecyclerView直接pass掉。
http://blog.csdn.net/lmj623565791/article/details/45059587

OK,點到即止。

結語

面試官面什麼,完全是看他們個人的(性格,心情,天氣,你的面相)。以上只是一些我覺得重要的點,當然還有很多深層的東西不是一時半日可以補上來的,還是要看自己平時的經驗積累。面試不單單是技術面,還有高層面,人事面,這些都要看個人發揮了。

PS:如果面試官說,還有什麼想問的,千萬不要給自己挖坑,說今天自己表現怎樣,能不能被錄取。要往公司的團隊,氛圍去問,盡量表現的對公司有興趣。
如:我想知道公司是否定期有開技術會議,老員工是否會分享自己的一些經驗等這些問題。

生活不易,如果有面試官(你將來有一天也會面試別人)看到這篇文章,請放下架子或者偏見,尊重每一位面試者。

最後,我列出以下面試需要注意的幾個點。

  • 面帶微笑,有禮貌,謙遜
  • 穿的體面一點,穿拖鞋的gg了8成
  • 一定要帶簡曆和筆
  • 來了說謝謝,面完說謝謝
  • 要學會看面試官的表情,如果答的不好不要繼續往下說
  • 不要吹的自己以前做過的項目有多牛b,也不要自吹
  • 答題要冷靜,不要一輪嘴說一堆,面試官很煩的

最後祝大家面試順利,早日找到自己心儀的公司。
日後會相繼寫一些項目中遇到的痛點和深層一點的技術博文,請大家多多支援!

Android2017最新面試題(3-5年經驗個人面試經曆)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.