一堆android面試題目--抄寫

題目出自《簡書》這裏:《良心之作》BAT|無線工程師面試流程詳細解析|還原最真實最完整的一線公司面試題

、1安卓View繪製流程
measure()–>layout()–draw()
2事件分發機制
分發–>攔截–>執行
dispatch - intercept –onTouchEvent
3JAVA基礎思想
面向對象
4多線程和安全問題
多線程進行線程異步,
安全同步問題

5安卓性能優化和兼容問題
內存優化:內存有限,內存不穩定,容易被回收
佈局優化:嵌套不要太多,不要過度繪製,特別是重複設置background
v4包 v7包 design包 support包

6再問一下常規的組件相關問題
ui組件
四大組件

7 請描述安卓四大組建之間的關係,並說下安卓MVC的設計模式。
activity
service
broadcast
contentprovider

8線程中sleep()和wait()有和卻別,各有什麼含義
sleep()線程阻塞
wait()線程的一個狀態不阻塞

9 abstract和interface的區別?
抽象、藉口

10 array,arrayList, List ,三者有何區別?
arraylist繼承自List

11 hashtable和hashmap的區別,並簡述Hashmap的實現原理
hashtable線程安全

12 StringBuilder和,String ,subString方法的細微差別
StringBuilder 可變長度

13請寫出四種以上你知道的設計模式,並介紹下實現原理
單例模式
工廠模式
監聽模式
原型模式

14安卓子線程是否能更新UI,如果能請說明具體細節。
所有的UI操作只能在主線程中進行
子線程跟新UI只能是間接的通過handler發送消息、或者廣播的方式

15 ANR產生的原因和解決步驟
無響應、android系統長時間主線程阻塞會出現這個錯誤
不讓該事件發生

16 JavaGC機制的原理和內存泄露
堆中內存沒有指針指向他的時候,將會被內存回收,當內存嚴重不足時一些優先級較低的內存會被回收
內存不可到達的情況

17 安卓佈局優化方案,類似5
stubview include

18 請在100個電話號碼找出135的電話號碼 注意 不能用正則,(類似怎麼最好的遍歷LogGat日誌)

19 Handler機制,請寫出一種更新UI的方法和代碼
handler 創建消息
handler 發送消息
handler 接受消息

20 請解釋安卓爲啥要加簽名機制。
出於安全考慮
升級app
權限檢查

21 你覺得安卓開發最關鍵的技術在哪裏?

22 ANR 具體產生的類型有哪些,具體說下其產生的最大超時時間。
ANR一般有三種類型:
KeyDispatchTimeout
1:KeyDispatchTimeout(5 seconds) –主要類型
按鍵或觸摸事件在特定時間內無響應
BroadcastTimeout
2:BroadcastTimeout(10 seconds)
BroadcastReceiver在特定時間內無法處理完成
ServiceTimeout
3:ServiceTimeout(20 seconds) –小概率類型
Service在特定的時間內無法處理完成

23 多線程多點下載的過程
分配空間–>計算各個線程開啓下載的點–>開啓下載–>檢查是否都已經下載到位–>連接起來

24 http協議的理解和用法
網絡應用層
協議是指計算機通信網絡中兩臺計算機之間進行通信所必須共同遵守的規定或規則,超文本傳輸協議(HTTP)是一種通信協議,它允許將超文本標記語言(HTML)文檔從Web服務器傳送到客戶端的瀏覽器
  目前我們使用的是HTTP/1.1 版本

25 安卓解決線程併發問題
AsyncTask
Handler

26 你知道的數據結構有哪些,說下具體實現機制
Array (T[])
Linked list (LinkedList)
Resizable array list (List)
Stack (Stack)
Queue (Queue)
Hash table (Dictionary

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章