原文鏈接:http://blog.csdn.net/huangqili1314/article/details/72792682
大家好,在跟大家講述自己的面試經(jīng)歷,以及遇到的面試題前,先說(shuō)說(shuō)幾句題外話。
接觸Android已經(jīng)3年,在工作中遇到疑難問(wèn)題總是在網(wǎng)上(csdn大牛博客,stackoverflow等)搜索答案,各位大牛大神總是把自己的經(jīng)驗(yàn)分享出來(lái),幫助我們這些需要幫助的人,由此表示衷心感謝!然而現(xiàn)在自己細(xì)想了一下,自己也是時(shí)候把遇到的問(wèn)題并把解決方案分享出來(lái),希望能幫助到有需要的人。
隨著時(shí)間的流逝,很多人說(shuō)互聯(lián)網(wǎng)這一塊已經(jīng)越來(lái)越不好干了,因?yàn)闊X時(shí)代已經(jīng)過(guò)去,剩下的都是根基牢固的大公司,獨(dú)角獸已經(jīng)不復(fù)存在。這就直接導(dǎo)致了互聯(lián)網(wǎng)崗位的下降,本人親測(cè),也的確如此。
2017.05月,本人離職(此時(shí)3年工作經(jīng)驗(yàn),深圳就職),開(kāi)始試水安卓市場(chǎng),尋求一份合適自己,穩(wěn)定的中大型公司。投了很多公司,面試機(jī)會(huì)并不是我想象中的那么多,即時(shí)面試過(guò)程順利,也沒(méi)有獲得offer(候選人太多太多)。不過(guò)借此機(jī)會(huì),前前后后我面了10家公司,現(xiàn)在就把我遇到的面試題,并且提供一些面試技巧給各位即將面試的同志們。
OK,進(jìn)入主題,請(qǐng)看Android知識(shí)圖譜。
這里寫圖片描述
面試,無(wú)非都是問(wèn)上面這些問(wèn)題(挺多的 - -!),聘請(qǐng)中高級(jí)的安卓開(kāi)發(fā)會(huì)往深的去問(wèn),并且會(huì)問(wèn)一延伸二。以下我先提出幾點(diǎn)重點(diǎn),是面試官基本必問(wèn)的問(wèn)題,請(qǐng)一定要去了解!
基礎(chǔ)知識(shí) – 四大組件(生命周期,使用場(chǎng)景,如何啟動(dòng))
java基礎(chǔ) – 數(shù)據(jù)結(jié)構(gòu),線程,mvc框架
通信 – 網(wǎng)絡(luò)連接(HttpClient,HttpUrlConnetion),Socket
數(shù)據(jù)持久化 – SQLite,SharedPreferences,ContentProvider
性能優(yōu)化 – 布局優(yōu)化,內(nèi)存優(yōu)化,電量?jī)?yōu)化
安全 – 數(shù)據(jù)加密,代碼混淆,WebView/Js調(diào)用,https
UI– 動(dòng)畫
其他 – JNI,AIDL,Handler,Intent等
開(kāi)源框架 – Volley,Gilde,RxJava等(簡(jiǎn)歷上寫你會(huì)的,用過(guò)的)
拓展 – Android6.0/7.0/8.0特性,kotlin語(yǔ)言,I/O大會(huì)
急急忙忙投簡(jiǎn)歷,趕面試,還不如沉淀一兩天時(shí)間,再過(guò)一遍以上內(nèi)容。想穩(wěn)妥拿到一個(gè)offer,最好能理解實(shí)現(xiàn)原理,并且知道使用場(chǎng)景了。不要去背!要去理解!面試官聽(tīng)了一天這些內(nèi)容是很厭倦的,最好能說(shuō)出一些自己的見(jiàn)解。
面試題(固定答案不解答,自己可以找到)
順序是根據(jù)記憶排的,沒(méi)有優(yōu)先級(jí)之分,都是重點(diǎn)。
1.Activity的啟動(dòng)過(guò)程(不要回答生命周期)
http://blog.csdn.net/luoshengyang/article/details/6689748
2.Activity的啟動(dòng)模式以及使用場(chǎng)景
(1)manifest設(shè)置,(2)startActivity flag
http://blog.csdn.net/CodeEmperor/article/details/50481726
此處延伸:棧(First In Last Out)與隊(duì)列(First In First Out)的區(qū)別
3.Service的兩種啟動(dòng)方式
(1)startService(),(2)bindService()
http://www.itdecent.cn/p/2fb6eb14fdec
4.Broadcast注冊(cè)方式與區(qū)別
(1)靜態(tài)注冊(cè)(minifest),(2)動(dòng)態(tài)注冊(cè)
http://www.itdecent.cn/p/ea5e233d9f43
此處延伸:什么情況下用動(dòng)態(tài)注冊(cè)
5.HttpClient與HttpUrlConnection的區(qū)別
http://blog.csdn.net/guolin_blog/article/details/12452307
此處延伸:Volley里用的哪種請(qǐng)求方式(2.3前HttpClient,2.3后HttpUrlConnection)
6.http與https的區(qū)別
http://blog.csdn.net/whatday/article/details/38147103
此處延伸:https的實(shí)現(xiàn)原理
7.手寫算法(選擇冒泡必須要會(huì))
http://www.itdecent.cn/p/ae97c3ceea8d
8.進(jìn)程?;睿ú凰肋M(jìn)程)
http://www.itdecent.cn/p/63aafe3c12af
此處延伸:進(jìn)程的優(yōu)先級(jí)是什么(下面這篇文章,都有說(shuō))
https://segmentfault.com/a/1190000006251859
9.進(jìn)程間通信的方式
(1)AIDL,(2)廣播,(3)Messenger
AIDL : http://www.itdecent.cn/p/a8e43ad5d7d2
http://www.itdecent.cn/p/0cca211df63c
Messenger : http://blog.csdn.net/lmj623565791/article/details/47017485
此處延伸:簡(jiǎn)述Binder , http://blog.csdn.net/luoshengyang/article/details/6618363/
10.加載大圖
PS:有家小公司(規(guī)模寫假的,給騙過(guò)去了),直接把項(xiàng)目給我看,讓我說(shuō)實(shí)現(xiàn)原理。。
最讓我無(wú)語(yǔ)的一次面試,就一個(gè)點(diǎn)問(wèn)的我底褲都快穿了,就差幫他們寫代碼了。。
http://blog.csdn.net/lmj623565791/article/details/49300989
11.三級(jí)緩存(各大圖片框架都可以扯到這上面來(lái))
(1)內(nèi)存緩存,(2)本地緩存,(3)網(wǎng)絡(luò)
內(nèi)存:http://blog.csdn.net/guolin_blog/article/details/9526203
本地:http://blog.csdn.net/guolin_blog/article/details/28863651
12.MVP框架(必問(wèn))
http://blog.csdn.net/lmj623565791/article/details/46596109
此處延伸:手寫mvp例子,與mvc之間的區(qū)別,mvp的優(yōu)勢(shì)
13.講解一下Context
http://blog.csdn.net/lmj623565791/article/details/40481055
14.JNI
http://www.itdecent.cn/p/aba734d5b5cd
此處延伸:項(xiàng)目中使用JNI的地方,如:核心邏輯,密鑰,加密邏輯
15.java虛擬機(jī)和Dalvik虛擬機(jī)的區(qū)別
http://www.itdecent.cn/p/923aebd31b65
16.線程sleep和wait有什么區(qū)別
http://blog.csdn.net/liuzhenwen/article/details/4202967
17.View,ViewGroup事件分發(fā)
http://blog.csdn.net/guolin_blog/article/details/9097463
http://blog.csdn.net/guolin_blog/article/details/9153747
18.保存Activity狀態(tài)
onSaveInstanceState()
http://blog.csdn.net/yuzhiboyi/article/details/7677026
19.WebView與js交互(調(diào)用哪些API)
http://blog.csdn.net/cappuccinolau/article/details/8262821/
20.內(nèi)存泄露檢測(cè),內(nèi)存性能優(yōu)化
http://blog.csdn.net/guolin_blog/article/details/42238627
這篇文章有四篇,很詳細(xì)。
此處延伸:
(1)內(nèi)存溢出(OOM)和內(nèi)存泄露(對(duì)象無(wú)法被回收)的區(qū)別。
(2)引起內(nèi)存泄露的原因
21.布局優(yōu)化
http://blog.csdn.net/guolin_blog/article/details/43376527
22.自定義view和動(dòng)畫
以下兩個(gè)講解都講得很透徹,這部分面試官多數(shù)不會(huì)問(wèn)很深,要么就給你一個(gè)效果讓你講原理。
(1)http://www.gcssloop.com/customview/CustomViewIndex
(2)http://blog.csdn.net/yanbober/article/details/50577855
23.設(shè)計(jì)模式(單例,工廠,觀察者。作用,使用場(chǎng)景)
一般說(shuō)自己會(huì)的就ok,不要只記得名字就一輪嘴說(shuō)出來(lái),不然有你好受。
http://blog.csdn.net/jason0539/article/details/23297037/
此處延伸:Double Check的寫法被要求寫出來(lái)。
24.String,Stringbuffer,Stringbuilder 區(qū)別
http://blog.csdn.net/kingzone_2008/article/details/9220691
25.開(kāi)源框架,為什么使用,與別的有什么區(qū)別
這個(gè)問(wèn)題基本必問(wèn)。在自己簡(jiǎn)歷上寫什么框架,他就會(huì)問(wèn)什么。
如:Volley,面試官會(huì)問(wèn)我Volley的實(shí)現(xiàn)原理,與okhttp和retrofit的區(qū)別。
開(kāi)源框架很多,我就選幾個(gè)多數(shù)公司都會(huì)用的出來(lái)(框架都是針對(duì)業(yè)務(wù)和性能,所以不一定出名的框架就有人用)
網(wǎng)絡(luò)請(qǐng)求:Volley,okhttp,retrofit
異步:RxJava,AsyncTask
圖片處理:Picasso,Glide
消息傳遞:EventBus
以上框架請(qǐng)自行查找,太多了就不貼出來(lái)了。
26.RecyclerView
這個(gè)挺搞笑的。有另外一個(gè)同事也在找工作,面試官嫌他沒(méi)用過(guò)RecyclerView直接pass掉。
http://blog.csdn.net/lmj623565791/article/details/45059587
OK,點(diǎn)到即止。
結(jié)語(yǔ)
面試官面什么,完全是看他們個(gè)人的(性格,心情,天氣,你的面相)。以上只是一些我覺(jué)得重要的點(diǎn),當(dāng)然還有很多深層的東西不是一時(shí)半日可以補(bǔ)上來(lái)的,還是要看自己平時(shí)的經(jīng)驗(yàn)積累。面試不單單是技術(shù)面,還有高層面,人事面,這些都要看個(gè)人發(fā)揮了。
PS:如果面試官說(shuō),還有什么想問(wèn)的,千萬(wàn)不要給自己挖坑,說(shuō)今天自己表現(xiàn)怎樣,能不能被錄取。要往公司的團(tuán)隊(duì),氛圍去問(wèn),盡量表現(xiàn)的對(duì)公司有興趣。
如:我想知道公司是否定期有開(kāi)技術(shù)會(huì)議,老員工是否會(huì)分享自己的一些經(jīng)驗(yàn)等這些問(wèn)題。
生活不易,如果有面試官(你將來(lái)有一天也會(huì)面試別人)看到這篇文章,請(qǐng)放下架子或者偏見(jiàn),尊重每一位面試者。
最后,我列出以下面試需要注意的幾個(gè)點(diǎn)。
面帶微笑,有禮貌,謙遜
穿的體面一點(diǎn),穿拖鞋的gg了8成
一定要帶簡(jiǎn)歷和筆
來(lái)了說(shuō)謝謝,面完說(shuō)謝謝
要學(xué)會(huì)看面試官的表情,如果答的不好不要繼續(xù)往下說(shuō)
不要吹的自己以前做過(guò)的項(xiàng)目有多牛b,也不要自吹
答題要冷靜,不要一輪嘴說(shuō)一堆,面試官很煩的
接下來(lái)會(huì)寫幾篇針對(duì)BAT等大廠的面試題錦集,很快就出爐拉,已經(jīng)在整理。喜歡的同學(xué)請(qǐng)點(diǎn)個(gè)贊哈!
最后祝大家面試順利,早日找到自己心儀的公司。
**個(gè)人面試經(jīng)歷總結(jié)文章:
Android2017-2018最新面試題(3-5年經(jīng)驗(yàn)個(gè)人面試經(jīng)歷)
**BAT面試系列文章:
一、Android(2017-2018)BAT面試題整理(java篇,含答案)
二、Android(2017-2018)BAT面試題整理(Android篇,含答案)
三、Android(2017-2018)BAT面試題整理(深入技術(shù)篇,含答案)未完待續(xù)
四、Android(2017-2018)BAT面試題整理(高層/HR篇,含答案)未完待續(xù)
APP打開(kāi),閱讀更順暢
59條評(píng)論 寫評(píng)論
擁抱是什么感覺(jué):博主 , 感謝分享 , 可以轉(zhuǎn)載嗎?(2019-01-17 #43樓)回復(fù)
xiastars:臥槽,不會(huì)是說(shuō)我吧,有次一個(gè)五年經(jīng)驗(yàn)的人來(lái)面試,說(shuō)不聽(tīng)說(shuō)過(guò)RecycleView,我直接pass了(2019-01-13 #42樓)回復(fù)
幻化萬(wàn)千戲紅塵:哥,還有三四篇啊,(2018-12-29 #41樓)回復(fù)
查看43條熱評(píng)
2018Android面試題匯總(面試總結(jié)全)
APP打開(kāi) u014803701 6031次閱讀 08-03
Android面試題總結(jié)【完整詳細(xì)版本"一"】(含答案)
APP打開(kāi) m0_37868230 3209次閱讀 08-07
Android(2017-2018)BAT面試題整理(java篇,含答案)
APP打開(kāi) huangqili1314 3.4萬(wàn)次閱讀 03-06
2018年Android最新面試題(一)
APP打開(kāi) qq_32865887 2.2萬(wàn)次閱讀 02-28
2018 Android面試心得,已拿到offer
APP打開(kāi) qq_27053103 3.3萬(wàn)次閱讀 03-15
剛剛50萬(wàn)程序員紛紛導(dǎo)向python,原因竟然是.......
19328次閱讀03-04
2018 Android中高級(jí)面試題
APP打開(kāi) xiangzhihong8 1480次閱讀 06-26
android面試題(一)
APP打開(kāi) myosotis5 325次閱讀 08-20
Android筆試面試題一(??歼x擇填空)
APP打開(kāi) Friday_577 7516次閱讀 10-02
360內(nèi)推Android面經(jīng) - 2018(已拿offer)
APP打開(kāi) u013647453 2082次閱讀 10-08
Android高級(jí)開(kāi)發(fā)面試(3-5年)開(kāi)發(fā)經(jīng)驗(yàn)
APP打開(kāi) qq_35114086 473次閱讀 06-14
Java面試2018??碱}目匯總(一)
APP打開(kāi) hope900 30.3萬(wàn)次閱讀 12-09
深入理解Android中的Handler機(jī)制
APP打開(kāi) reakingf 2.5萬(wàn)次閱讀 07-28
2017JAVA面試題附答案
APP打開(kāi) u014042066 16.5萬(wàn)次閱讀 08-25
Android筆試和面試常見(jiàn)題目(四)
APP打開(kāi) wen0801 6940次閱讀 11-28
Android 2018 最新面試題(3-5年經(jīng)驗(yàn)面試經(jīng)歷)
APP打開(kāi) u013651026 3779次閱讀 03-31
2019屆應(yīng)屆畢業(yè)生秋招總結(jié)
APP打開(kāi) qq_29375837 1158次閱讀 09-09
Android2018-2019之BAT等大廠必問(wèn)技術(shù)面試題
APP打開(kāi) qXing123456789 1960次閱讀 10-17
阿里巴巴Android面試題
APP打開(kāi) itchenlin 3181次閱讀 06-20
2018北京3月份java面試題(3~5年工作經(jīng)驗(yàn))
APP打開(kāi) u010694428 3038次閱讀 03-27
java3年到5年工作經(jīng)驗(yàn)面試題整理
APP打開(kāi) c13581357368 390次閱讀 04-02
3到5年工作經(jīng)驗(yàn)是如何回答面試中被問(wèn)到的Java集合框架問(wèn)題
APP打開(kāi) sujin_ 7517次閱讀 09-21
2013年2月,5年C++開(kāi)發(fā)者找工作經(jīng)歷
APP打開(kāi) lotusdeng2010 1996次閱讀 02-25
2018Android面試題解
APP打開(kāi) sinat_35816092 504次閱讀 10-09
Android面試題整理
APP打開(kāi) sinat_32194985 236次閱讀 05-23
Android-BAT面試題整理(java篇,含答案)
APP打開(kāi) hengqiaqia 2628次閱讀 03-29
Android面試題-基礎(chǔ)題(18題)
APP打開(kāi) feather_wch 816次閱讀 07-20
史上最全Java面試題(帶全部答案)
APP打開(kāi) linzhiqiang0316 22.6萬(wàn)次閱讀 05-27
Java高級(jí)程序員(5年左右)面試的題目集
APP打開(kāi) fangqun663775 4.1萬(wàn)次閱讀 06-23
Android面試之高級(jí)篇
APP打開(kāi) qq_35114086 7223次閱讀 11-20
一個(gè)老鳥(niǎo)發(fā)的公司內(nèi)部整理的 Android 學(xué)習(xí)路線圖
APP打開(kāi) lixuce1234 3.8萬(wàn)次閱讀 09-12
2017-11-7java(3-4年)面試中遇到的面試題
APP打開(kāi) yy251066394 1.3萬(wàn)次閱讀 11-07
我的JAVA面試經(jīng)驗(yàn)(5年左右工作經(jīng)驗(yàn))
APP打開(kāi) javaMare 1244次閱讀 10-10
3年Java后端開(kāi)發(fā)面試題總結(jié)
APP打開(kāi) banjuer 1813次閱讀 04-11
三年java經(jīng)驗(yàn)面試總結(jié)
APP打開(kāi) u010664947 2.2萬(wàn)次閱讀 11-13
2018年Android面試題整理
APP打開(kāi) YECrazy 8786次閱讀 03-08
Android 面試題(有詳細(xì)答案)
APP打開(kāi) u012602304 197次閱讀 01-25
2018年Android面試遇到的問(wèn)題整理
APP打開(kāi) jdfkldjlkjdl 5072次閱讀 03-10
Android 面試題總結(jié)2018(一)
APP打開(kāi) jinmie0193 743次閱讀 08-22
阿里巴巴android高級(jí)面試經(jīng)歷
APP打開(kāi) jiabailong 1.4萬(wàn)次閱讀 03-05
MTK平臺(tái)安卓手機(jī)性能測(cè)試方法
APP打開(kāi) memoryjs 9107次閱讀 04-18
忘記Oracle數(shù)據(jù)庫(kù)管理員密碼的解決辦法
APP打開(kāi) llxsharp 11904次閱讀 02-13
QT選擇目錄等常用文件/文件夾操作
APP打開(kāi) u011430225 12094次閱讀 01-09
thymeleaf模板實(shí)現(xiàn)html5標(biāo)簽的非嚴(yán)格檢查
APP打開(kāi) Luck_ZZ 14500次閱讀 02-24
將Excel文件導(dǎo)入數(shù)據(jù)庫(kù)(POI+Excel+MySQL+jsp頁(yè)面導(dǎo)入)第一次優(yōu)化
APP打開(kāi) meng564764406 10845次閱讀 09-05
人臉檢測(cè)工具face_recognition的安裝與應(yīng)用
APP打開(kāi) roguesir 39187次閱讀 08-11
ThreadLocal的設(shè)計(jì)理念與作用
APP打開(kāi) u011860731 32047次閱讀 09-25
linux上安裝Docker(非常簡(jiǎn)單的安裝方法)
APP打開(kāi) qq_36892341 148605次閱讀 06-29
plsql的命令(command)窗口與sql窗口有什么區(qū)別20170620
APP打開(kāi) Ape55 18276次閱讀 06-21
Selenium Webdriver重新使用已打開(kāi)的瀏覽器實(shí)例
APP打開(kāi) wwwqjpcom 28771次閱讀 04-24
python圖片處理類之~PIL.Image模塊(ios android icon圖標(biāo)自動(dòng)生成處理)
APP打開(kāi) themagickeyjianan 27237次閱讀 08-31
強(qiáng)連通分量及縮點(diǎn)tarjan算法解析
APP打開(kāi) qq574857122 397570次閱讀 11-16
iText和flying saucer結(jié)合生成pdf的技術(shù)
APP打開(kāi) jimmy609 19720次閱讀 10-15
如何生成OBB(OrientedboundingBox)方向包圍盒
APP打開(kāi) u013512448 4466次閱讀 09-13
連續(xù)特征離散化和歸一化
APP打開(kāi) hero_fantao 12732次閱讀 06-25
file_get_contents 得到https類型url失敗的方法
APP打開(kāi) terry_water 8327次閱讀 09-18
WEB-INF下的jsp文件如何訪問(wèn)css和js文件
APP打開(kāi) gsycwh 15935次閱讀 08-02
ArcGIS VS QGIS——兩者之間的27點(diǎn)比較上篇(譯)
APP打開(kāi) hanminaaa 11943次閱讀 09-14
JAVA結(jié)合testng斷言verify(斷言失敗不中斷繼續(xù)執(zhí)行)
APP打開(kāi) nicolas_li 6286次閱讀 02-23
DirectX修復(fù)工具增強(qiáng)版
APP打開(kāi) VBcom
﹀