2019 阿里、頭條、騰訊、美團 Android面試題

1. 阿里

  • 一面(3/8 21:17,電話,61 分 47 秒)
    • 自我介紹
    • 項目來歷
    • MySQL 和 MongoDB 的區別
    • 關係型數據庫和非關係型數據庫的區別,各自在什麼狀況下使用
    • 爲何海量數據時適合用非關係型數據庫
    • 爲何研究生讀的通訊,而不是計算機
    • 上過或自學過哪些計算機課程,對計算機網絡挺熟悉的吧
    • 對 HTTPS 有沒有了解,有沒有寫過相關代碼
    • 老闆有 2000 元給我和同窗分錢,首先由我提出分錢方案。若是同窗不一樣意,則總額變爲 1000 元,並由同窗提出分錢方案。若是這時我不一樣意,則倆人各拿 100 元。請問一開始我應該怎麼給出分錢方案?
    • 假設有一個線程在取隊列中的消息,怎麼中止這個線程
    • 讀過哪些源碼,分別說一下 Android 和 Java 的
    • 讀過哪些 Android 開源庫源碼
    • 項目中遇到過什麼難題
    • 印象深入的幾回學習經歷
    • 看你用過 Ubuntu,平時是否是用 Linux,熟悉Linux嗎,都用它幹什麼
    • 有什麼問題想問的
  • 二面(3/12 20:30,電話,82 分 33 秒)
    • 介紹一下項目
    • 一連串問了多個問題關於項目中給設備配置入網過程的細節
    • 項目中與設備通訊的數據格式,還能夠用哪些數據格式,作過什麼優化
    • 設計一種變長的傳輸數據格式
    • UDP 和 TCP
    • 介紹一下 MQTT 協議(項目中用到的一個協議)
    • 項目中有沒有作過一些監控日誌
    • Elasticsearch是什麼(由於我說到才問的)
    • CrashHandler 的實現
    • 設計一個日誌監控和上傳模塊,深刻問了不少細節和考慮的方面
    • Android 各個版本的變化
    • 介紹一下 Flutter 框架
    • 平時怎麼了解和學習新知識的
  • 三面(3/21 15:31,電話,30 分 57 秒)
    • 問了不少項目細節,關於本地存儲、音樂播放等基礎模塊的封裝
    • 有沒有把音樂播放模塊開源出去
    • 項目中解決過什麼難題
    • HTTP/2.0 有什麼變化
    • 在一個手機屏幕上有兩列(相似於瀑布流),給你一些高度不一樣的 item,怎麼擺放才能讓這兩列的總體高度最小?
  • HR面(3/28 20:16,電話,14 分 47 秒)
    • 爲何來阿里
    • 有什麼優點能讓你來咱們部門
    • 業餘有什麼愛好
    • 解決難題的經歷
    • 遇到過什麼挫折
    • 選擇上海仍是杭州

2. 頭條(一二面:3/23 晚,現場。三面、HR面:3/26 下午,現場。)

  • 一面
    • 自我介紹
    • 項目來歷
    • 項目中本地存儲怎麼作的
    • 訪問本地存儲的類應該怎麼設計
    • 說一下對 BInder 的理解
    • BInder 紅黑樹的節點是以什麼區分的
    • SurfaceFlinger、VSYNC
    • SurfaceView 原理
    • HTTP 響應內容
    • Retrofit 內部實現
    • 動態代理的原理
    • EventBus 內部實現
    • 手寫二分查找
  • 二面
    • 看過哪些書
    • 說一下《Java 併發編程實戰》的做者有哪些人,還認識哪些大牛,比較喜歡誰,會去關注嗎
    • HashMap 版本變化和原理
    • 手寫快速排序並解釋
    • 各類排序的複雜度和穩定性
    • 類成員的權限怎麼定
  • 三面
    • JVM 內存區域
    • volatile 和重排序
    • Java 內存模型
    • 引用計數和可達性分析
    • finalize 原理
    • Android 界面刷新原理
    • Android 性能優化有哪些方法
    • 觀察者模式、責任鏈模式
    • OkHttp 內部實現、有沒有緩存
    • 從輸入一個 URL 到看到一個頁面的過程
    • 看過哪些書
    • 是否是實驗室作開發的同窗中最強的
  • HR面
    • 爲何來頭條
    • 做爲項目負責人,完成了哪些工做
    • 實習時長、何時來

3. 騰訊

  • 一面(3/12 19:00,電話,40 分 34 秒)
    • 能不能來深圳
    • 介紹項目
    • 爲何用 SharedPreferences,怎麼存 JSON
    • 項目中遇到什麼難題
    • 廣播和組播
    • 重男輕女,生女孩會生到男孩爲止,問男女比例
    • Gson原理
    • SQL語句、數據庫優化
    • ORM、DAO、DSL
    • 模板方法模式
  • 二面(3/15 14:50,電話,17 分 46 秒)
    • 上過哪些計算機課程
    • Java 類加載
    • Android 類加載,DexClassLoader有什麼用
    • 散列表有哪些解決衝突的方式
    • LinkedList 和 ArrayList 比較
    • TCP 的擁塞控制
    • 能不能來深圳

4 .美團(3/14 下午, 現場,大約 4 小時)

  • 一面
    • 自我介紹
    • 項目來歷
    • 爲何喜歡 Java,而後問了一些 Java 的特性
    • 線程和協程,爲何協程比線程效率高
    • RecyclerView 圖片錯位問題
    • Fragment 的 commitAllowStateLoss 方法
    • Activity 與 Fragment 怎麼通訊
    • Handler 怎麼解決內存泄漏問題
    • 其餘內存泄漏狀況
    • 單擊事件和雙擊事件哪一個先觸發
    • selector 爲何可以切換背景,原理是什麼
    • 不考慮具體頁面,怎麼從根本上優化界面卡頓
    • SurfaceFlinger、VSYNC
    • 描述一下 Handler 的原理
    • 依次打印二叉樹每層最左邊的結點
  • 二面
    • 怎麼判斷對象是否要進入老年代
    • Eden 和 Survivor 的比例和回收規則
    • 新生代爲何用複製算法
    • 說一下對 Binder 的理解
    • 說一下 ActivityManagerService、ActivityManagerNative 等幾個類的區別
    • 手寫各類單例模式
    • 跳臺階問題
    • 求兩個鏈表的交點
    • 判斷二叉樹是否左右對稱(只考慮結構對稱,不考慮值)
  • 三面
    • MVP 及 MVP 怎麼解決內存泄漏
    • 項目架構
    • 說一下 SharedPreferences
    • 給一個數組,判斷是否存在一對相等的前綴和與後綴和
    • 平時怎麼學習的
    • 有什麼想學的新技術、學習計劃
  • HR面
    • 對咱們部門的印象怎麼樣
    • 有沒有參加別的面試
    • 若是阿里和美團都要你,你選哪一個
    • 家是哪兒的
    • 瞭解阿里面試狀況
    • 實習時長、何時來
    • 瞭解騰訊面試狀況
相關文章
相關標籤/搜索