面經_簡尋

大約60分鐘的電面時間,android移動端開發
1.自我介紹
2.做過前端後臺,爲什麼轉移動端
3.瞭解哪些移動端開發技術:這個我真不知道怎麼回答
4.問項目,負責的模塊,個人還是團隊
5.性能調優,有做過哪些,圖片(imageLoader)和下載,我說做過多線程下載,然後問實現原理,發送頭有哪些
6.問android比較擅長哪方面的,我說線程間的處理,然後問有哪些手段,我說常見的就是用handler,asyncTask,然後問兩者的比較,最後說讓我多看看asyncTask裏面的具體實現,線程池。
6.1問handler平時用有沒有覺得什麼比較不方便的地方:
現在想起來(handler的缺點),在子線程裏才確定生成的View對象,要進行UI繪製,由於view不是object的子類不能被bundle傳遞,所以需要設置成全局變量,但剛剛也說了 如果是臨時才能生成的,那就先發送message讓handler去生成,然後子線程裏面繼續操作…
如果換成是asyncTask的話 這一系列操作都可以在它函數裏面進行。

7.問了兩道算法題

  • 求中位數(這個說的不好)
  • 排序的A數組找出兩個數相加=給定的B

8.問了網絡裏tcp三次握手,如何判定重發,判斷的時間是怎麼設置的(這個不懂)
9.問了數據庫的事務4個性質
10.問了進程和線程的區別,什麼情況會死鎖
10.1 線程同步的方法
11.接下來的規劃:我說看ndk和opengl es
12.問數據庫用的如何,我說之前java後臺開發的時候用的挺多的,android的sqlite也還好
12.1數據庫索引有沒有用過,採取的是什麼數據結構,用索引的優缺點
13.用過哪些開源框架,我說用了一個挺早的afinal.然後裏面有哪些模塊:ioc,orm等等,然後之前java後臺開發時候都挺熟練的
14.數組和鏈表的區別
還有一些忘記了

然後我問了
1.如何看源碼
先看View,Activity的運行機制,handler及Task的實現,service以及網絡開發,不推薦直接看內核
2.Dalvik虛擬機的運行機制什麼時候看
先了解jvm,然後後面等源碼看了一部分再去研究
3.佈局調優
這是基礎,然後開發一般是性能調優後再去考慮佈局調優..

給的建議:基礎再打牢固點.然後平時用框架多比較,看源代碼。

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