Google Android 開發工程師職位面試題
近期很多公司招聘Android程式設計師,就一些常見的Android面試基礎題做下總結,看看你能做出多少道?1. Intent的幾種有關Activity啟動的方式有哪些,你瞭解每個含義嗎?
這裡Android123提示大家,Intent的一些標記有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文件和具體跑下這樣你的記憶會更深刻些。
2. Activity和Task的啟動模式有哪些? 每種含義是什麼?
有關在AndroidManifest.xml中的android:launchMode定義,主要有standard、singleTop、singleTask和singleInstance,同時對於android:taskAffinity這些問題大家也要了解,Android開發網在以前的文章中講過,不過很多開發者仍然不是很清楚,這些基礎問題我們以後仍然會再次總結。
3. 透過Intent傳遞一些二進位制資料的方法有哪些?
1). 使用Serializable介面實現序列化,這是Java常用的方法。
2). 實現parcelable介面,這裡Android的部分類比如Bitmap類就已經實現了,同時parcelable在Android AIDL中交換資料也很常見的。
4. 能說下Android應用的入口點嗎?
在Google的虛擬機器中Application例項中已經實現了main方法,有關具體的Application介紹可以參考 Android程式的.入口點是什麼,不是Main()嗎
5. Java基礎問題,說說HashSet和HashTable的區別?
這個相信Java程式設計師都知道HashSet相對於HashMap就是不能存放重複的資料,對於HashTable來說,存放的資料不能出現key或value為null這樣的情況。
6. Java基礎問題,用Java的集合類寫下廣度優先搜尋.
這個屬於基礎資料結構問題,透過佇列處理一層一層,相對於深度優先的棧處理方式來說更實用一些。
7. Android都有哪些XML解析器,都熟練掌握嗎?
這裡Xmlpull、SAX和DOM相信做過Web開發的都已經滾瓜爛熟了。
8. SQLite支援事務嗎? 新增刪除如何提高效能?
SQLite作為輕量級的資料庫,比MySQL還小,但支援SQL語句查詢,提高效能可以考慮透過原始經過最佳化的SQL查詢語句方式處理。
9. Android Service和Binder、AIDL你都熟練嗎?
作為Android重要的後臺服務,這些每個Android開發者都應該掌握,這也算是和Java SE最大的不同了,具體的例項大家可以檢視Android音樂播放器的原始碼Music.git中的,這裡不再贅述。
10. 你用過哪款Android手機,有哪些優點和不足,相對於iphone或Symbian又有哪些優缺點?
把這個作為面試題也是考察下,可以大概瞭解到它對Android的瞭解程度,多移動開發的認識。
[Google Android 開發工程師職位面試題]相關文章:
1.Google Android 開發工程師職位面試題
2.網際網路公司面試問題