二面騰訊、三面阿里、四面美團的經歷和一份Java面經

金三銀四你準備好了嗎?接下來總結一下阿里、美團、騰訊的面試經歷和一份Java面經。

阿里

一面(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 秒)
  • 為什麼來阿里
  • 有什麼優勢能讓你來我們部門
  • 業餘有什麼愛好
  • 解決難題的經歷
  • 遇到過什麼挫折
  • 選擇上海還是杭州

頭條(一二面: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/12 19:00,電話,40 分 34 秒)

  • 能不能來深圳
  • 介紹項目
  • 為什麼用 SharedPreferences,怎麼存 JSON
  • 項目中遇到什麼難題
  • 廣播和組播
  • 重男輕女,生女孩會生到男孩為止,問男女比例
  • Gson原理
  • SQL語句、數據庫優化
  • ORM、DAO、DSL
  • 模板方法模式

二面(3/15 14:50,電話,17 分 46 秒)

  • 上過哪些計算機課程
  • Java 類加載
  • Android 類加載,DexClassLoader有什麼用
  • 散列表有哪些解決衝突的方式
  • LinkedList 和 ArrayList 比較
  • TCP 的擁塞控制
  • 能不能來深圳

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

一面

  • 自我介紹
  • 項目來歷
  • 為什麼喜歡 Java,然後問了一些 Java 的特性
  • 線程和協程,為什麼協程比線程效率高
  • RecyclerView 圖片錯位問題
  • Fragment 的 commitAllowStateLoss 方法
  • Activity 與 Fragment 怎麼通信
  • Handler 怎麼解決內存洩漏問題
  • 其他內存洩漏情況
  • 單擊事件和雙擊事件哪個先觸發
  • selector 為什麼能夠切換背景,原理是什麼
  • 不考慮具體頁面,怎麼從根本上優化界面卡頓
  • SurfaceFlinger、VSYNC
  • 描述一下 Handler 的原理
  • 依次打印二叉樹每層最左邊的結點

二面

  • 怎麼判斷對象是否要進入老年代
  • Eden 和 Survivor 的比例和回收規則
  • 新生代為什麼用複製算法
  • 說一下對 Binder 的理解
  • 說一下 ActivityManagerService、ActivityManagerNative 等幾個類的區別
  • 手寫各種單例模式
  • 跳臺階問題
  • 求兩個鏈表的交點
  • 判斷二叉樹是否左右對稱(只考慮結構對稱,不考慮值)

三面

  • MVP 及 MVP 怎麼解決內存洩漏
  • 項目架構
  • 說一下 SharedPreferences
  • 給一個數組,判斷是否存在一對相等的前綴和與後綴和
  • 平時怎麼學習的
  • 有什麼想學的新技術、學習計劃

HR面

  • 對我們部門的印象怎麼樣
  • 有沒有參加別的面試
  • 如果阿里和美團都要你,你選哪個
  • 家是哪兒的
  • 瞭解阿里面試情況
  • 實習時長、什麼時候來
  • 瞭解騰訊面試情況

Java面經

第一章:java基礎


二面騰訊、三面阿里、四面美團的經歷和一份Java面經


第二章:集合類Set


二面騰訊、三面阿里、四面美團的經歷和一份Java面經


第三章:鎖volatile synchronized Lock ReentrantLock AQS CAS


二面騰訊、三面阿里、四面美團的經歷和一份Java面經

第四章:java多線程


二面騰訊、三面阿里、四面美團的經歷和一份Java面經

第五章:Java進階ssh/ssm框架


二面騰訊、三面阿里、四面美團的經歷和一份Java面經

第六章: Java內存模型和垃圾回收


二面騰訊、三面阿里、四面美團的經歷和一份Java面經

第七章:Juc包


二面騰訊、三面阿里、四面美團的經歷和一份Java面經


設計模式


二面騰訊、三面阿里、四面美團的經歷和一份Java面經

第七章:數據結構與算法


二面騰訊、三面阿里、四面美團的經歷和一份Java面經

第八章:數據庫


二面騰訊、三面阿里、四面美團的經歷和一份Java面經


第九章:網絡


二面騰訊、三面阿里、四面美團的經歷和一份Java面經

這份文檔的內容很多,所以只為大家整理出來了目錄,獲取這份文檔後臺私信【學習】二字即可。

第十章:操作系統


二面騰訊、三面阿里、四面美團的經歷和一份Java面經

第十一章:Linux命令


二面騰訊、三面阿里、四面美團的經歷和一份Java面經


分享到:


相關文章: