Android面試題,,看看你基礎(chǔ)如何 近期很多公司招聘Android程序員,就一些常見的Android面試基礎(chǔ)題做下總結(jié),,看看你能做出多少道?
1. Intent的幾種有關(guān)Activity啟動(dòng)的方式有哪些,,你了解每個(gè)含義嗎?
Intent的一些標(biāo)記有FLAG_ACTIVITY_BROUGHT_TO_FRONT ,、FLAG_ACTIVITY_CLEAR_TOP,、FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET、FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS,、FLAG_ACTIVITY_MULTIPLE_TASK和FLAG_ACTIVITY_NEW_TASK 等,。每種含義大家看SDK文檔和具體跑下這樣你的記憶會(huì)更深刻些。
2. Activity和Task的啟動(dòng)模式有哪些? 每種含義是什么?
有關(guān)在AndroidManifest.xml中的android:launchMode定義,,主要有standard,、singleTop、singleTask和singleInstance,,同時(shí)對(duì)于android:taskAffinity這些問題大家也要了解,,Android開發(fā)網(wǎng)在以前的文章中講過,不過很多開發(fā)者仍然不是很清楚,,這些基礎(chǔ)問題我們以后仍然會(huì)再次總結(jié),。
3. 通過Intent傳遞一些二進(jìn)制數(shù)據(jù)的方法有哪些?
1). 使用Serializable接口實(shí)現(xiàn)序列化,這是Java常用的方法,。
2). 實(shí)現(xiàn)Parcelable接口,,這里Android的部分類比如Bitmap類就已經(jīng)實(shí)現(xiàn)了,同時(shí)Parcelable在Android AIDL中交換數(shù)據(jù)也很常見的,。
4. 能說下Android應(yīng)用的入口點(diǎn)嗎?
在Google的虛擬機(jī)中Application實(shí)例中已經(jīng)實(shí)現(xiàn)了main方法,,有關(guān)具體的Application介紹可以參考 Android程序的入口點(diǎn)是什么,不是Main()嗎
5. Java基礎(chǔ)問題,說說HashSet和HashTable的區(qū)別?
這個(gè)相信Java程序員都知道HashSet相對(duì)于HashMap就是不能存放重復(fù)的數(shù)據(jù),對(duì)于HashTable來說,,存放的數(shù)據(jù)不能出現(xiàn)key或value為null這樣的情況,。
6. Java基礎(chǔ)問題,用Java的集合類寫下廣度優(yōu)先搜索.
這個(gè)屬于基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)問題,,通過隊(duì)列處理一層一層,,相對(duì)于深度優(yōu)先的棧處理方式來說更實(shí)用一些。
7. Android都有哪些XML解析器,,都熟練掌握嗎?
這里XmlPull,、SAX和DOM相信做過Web開發(fā)的都已經(jīng)滾瓜爛熟了。
8. SQLite支持事務(wù)嗎? 添加刪除如何提高性能?
SQLite作為輕量級(jí)的數(shù)據(jù)庫,,比MySQL還小,,但支持SQL語句查詢,提高性能可以考慮通過原始經(jīng)過優(yōu)化的SQL查詢語句方式處理,。
9. Android Service和Binder,、AIDL你都熟練嗎?
作為Android重要的后臺(tái)服務(wù),這些每個(gè)Android開發(fā)者都應(yīng)該掌握,,這也算是和Java SE最大的不同了,,具體的實(shí)例大家可以查看Android音樂播放器的源代碼Music.git中的,這里不再贅述,。
10. 你用過哪款A(yù)ndroid手機(jī),,有哪些優(yōu)點(diǎn)和不足,相對(duì)于iPhone或Symbian又有哪些優(yōu)缺點(diǎn)?
把這個(gè)作為面試題也是考察下,,可以大概了解到它對(duì)Android的了解程度,,多移動(dòng)開發(fā)的認(rèn)識(shí)。
|