2017屆畢業生安卓面試題-項目

項目經驗

項目經驗可以看出一個開發者的很多東西,我們必須總結項目中的一些東西展示出來證明是我們做的,證明我們有足夠的實力勝任這份工作。

  • 項目中用到哪些技術,有其他的實現方式嗎?還可以做出哪些優化?
  • 整個項目中用到了哪些開源框架?他們的實現思路是什麼?你看過他們的源碼嗎?
  • 問一些系統的常用組件
  • app分了幾層,如何分層的?
  • 項目中遇到的問題,怎麼解決的

站點: 
http://www.zhihu.com/question/27667028 
http://www.zhihu.com/question/29159857 
http://buluo.qq.com/p/detail.html?bid=206957&pid=6893197-1459337842 
http://blog.csdn.net/qq373036876/article/details/52115989 
http://www.devstore.cn/new/newInfo/998.html


項目中用到哪些技術,有其他的實現方式嗎?還可以做出哪些優化?

  • 項目中用到哪些技術: 
    汽車門戶: 
    自定義view-無限輪播滾動圖 
    自定義view-仿微信的檢索欄 
    rxjava和retrofit與okhttp的基於REST分格的異步 
    基於多對多數據映射實現發帖和回帖功能 
    webview調用html中的JavaScript 

  • NDKJNI運用到哪裏?
  • DrugStore:

    整個項目中用到了哪些開源框架?他們的實現思路是什麼?你看過他們的源碼嗎?其他的開源庫呢?

    網絡類:volley,okhttp,rxjava,retrofit 
    圖片類:universal-imageLoder 
    數據解析類:gson 
    註解類:Xutils 
    數據庫:greendao 
    事件總線:EventBus 
    二維碼:zxing

    項目中遇到的問題,怎麼解決的?

    汽車門戶: 
    遇到的問題: 
    1.fragment中用手勢gesture同activity中其他fragment也會的獲取到,當我在另外fragment用手勢滑動時會觸發本fragment的方法 
    2.應用開啓的時候會出現短暫的白屏現象且耗時較多不能完成秒開效果 
    3.項目中瀑布流需要用到大量的圖片,而虛擬機圖片內存大小隻有8M會出現OOM

    解決方法: 
    1.使用註冊監聽器的方法,當不是本fragment的時候就註銷監聽器 
    2.使用安卓自帶的traceview查看啓動耗時,並啓動一個IntentService將第三方的比較耗時的初始化放入其中處理,將app啓動主題背景變爲自己的logo,將剛進去app的界面設置爲引導跳轉頁,不進行UI的渲染。 
    成功將app的啓動耗時由800MS轉化爲53MS 
    3.利用圖片的三級緩存機制寫了個工具類,並利用bitmap的options壓縮圖片解決了OOM還有複用的問題

    java垃圾回收的問題,

    DrugStore:

    app分了幾層,如何分層的?

    汽車門戶的分層架構爲MVC模式

    Model層定義接口,負責數據獲取

    View層由xml進行view的控制

    Controller層由activity在獲取數據並進行view的更新



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