剛剛簽下美團沒多久,目前已經入職了一段時間,適應下來感覺還不錯,現在纔想起是不是要分享一波面經。實際上在美團之前我是很想進BAT一線大廠的,畢竟大部分的程序員心裏都有大廠夢。但是,阿里的面試讓我心灰意冷。具體是一個什麼情況,看下面的面經和總結吧!
注意注意:以下阿里面試題+美團面試題(含答案),還有我個人的複習筆記(包括java程序員面試寶典、Android架構設計模式+熱修復+插件化+進程保活的學習筆記視頻資料、性能調優總結以及架構實戰文檔)均可以免費分享,有需要的小夥伴,直接(點擊我)即可獲取哦!
01 阿里面掛(3輪技術面掛)
從我畢業至今已三年半,畢業就想進阿里,因此這三年多來一直在準備和學習,同時也很關心阿里面試的動向,我在得到面試阿里面試通知之前是非常有信心的,聽聞阿里不在乎學歷,不少在職員工都是大專出身,所以作爲普通本科畢業的我纔有這份勇氣,下了這個決心。面試前兩面時,還算是順利,所以早早就在竊喜,原以爲能夠順利拿下offer,但在第三面居然被摁在地上反覆摩擦,不得不歎服:不愧是第一的互聯網公司。(以下附面試題)
-
自我介紹+項目介紹
-
說說你開發最大的優勢點
-
項目開發中遇到的最大的一個難題和挑戰,你是如何解決的。
-
開源框架 – Volley,Gilde,RxJava源碼分析
-
http 與 https 的區別?https 是如何工作的?
-
TCP三次握手,四次揮手。
-
Java中引用類型的區別,具體的使用場景
-
進程間通信的方式有哪幾種
-
Android性能優化工具使用
-
Android性能優化
-
Android內存優化
-
Android中的類加載器
-
Android中的動畫有哪幾類,它們的特點和區別是什麼
-
熱修復原理
-
圖片加載如何避免OOM
-
你覺得你的能力大概在什麼方面?
-
你是如何進行學習的?
-
手寫快排
-
手寫歸併排序
-
排序算法的區別(時間複雜度+空間複雜度)
-
MVC,MVP,MVVM對比。
-
有什麼想問的
02 美團研發崗offer(研發主力,2輪技術面+HR面)
面試美團是比較機緣巧合的,一開始美團並未在我的面試清單裏,阿里是我給自己定下的目標,但是面試阿里失敗之後,也曾灰心喪氣,沉淪了一段時間,但生活還是的繼續。特別感謝身邊的朋友和同學,同學鼓勵我儘快走出人生低谷,並且他幫我在美團拿了內推的機會,調整了心態重新嘗試了一下,最終3面拿下了offer,目前已經是研發團隊的主力之一,下面分享一下面試美團的面試題(含HR面)。
-
先聊項目
-
進程和線程
-
線程池 / 怎麼停止線程 / 新建一個thread大概會消耗多少內存空間
-
get/post區別
-
客戶端請求一個接口 會經歷什麼過程
-
LinkedList/ArrayList
-
主鍵/外鍵
-
equals/hashcode 如果讓hashcode返回一個random的數字會有什麼問題
-
算法:平衡數
-
死鎖 必要條件/怎麼避免
-
泛型
-
怎麼攻擊https
-
mvp / mvc
-
面向接口編程
-
控制反轉
-
泛型
-
怎麼防止https攻擊
-
爲什麼會有哈希,它在其他領域的應用瞭解嗎
-
最後用讓用oop的思想寫個樹的遍歷
-
平時怎麼學習的
-
除了IT,喜歡做什麼
-
認爲自己有什麼缺點
-
怎麼領導一個團隊
03 複習筆記
我的複習筆記共含以下5個部分:
-
架構師築基必備技能(Java)
-
Android架構設計模式
-
插件化
-
NDK模塊開發
-
性能優化
(1)架構師築基必備技能(Java)
該這份技能手冊整理了一線互聯網企業築基必備技能的知識點,像泛型,多線程,反射,JVM,Java IO,註解,序列化等等等。
(2)Android架構設計模式
在Android開發過程中,比較流行的開發框架曾經採用的是MVC框架模式。MVP是從經典的MVC模式演變而來,它們的基本思想有相通的地方:Controller/Presenter負責邏輯的處理,Model提供數據,View負責顯示。MVVM是Model-View-ViewModel的簡寫。它本質上就是MVC 的改進版。MVP+MVVM+MVP框架學習手冊如下圖
(3)插件化 核心技術-筆記
(4)NDK模塊開發
這份學習資料包括C/C++,jni,Linux基礎等基礎知識點,除此之外,音視頻的編解碼技術,流媒體協議,ffmpeg這些都是音視頻開發必備技能也總結到了這份學習手冊裏,OpenCV/OpenGl/ 這些又是圖像處理必備知識和人工智能相關的熱點項目源碼也都整理到這份手冊裏。
(5)性能優化
這份性能優化總結,包括代碼書寫規範,要求高性能高可用的代碼,性能調優工具使用介紹,以及對已經成型的代碼通過工具檢查代碼的問題,通過檢查到的問題來指導我們進行代碼的增刪查改等。
寫在最後
不要着急去實現自己的大廠夢,清晰自己的職業規劃,朝着目標一點點努力,總有一天會取得成功。對於程序員來說,工作會一點點提升自己知識的深度和廣度,但要記住的是,學習是不能落下的,因爲時代在進步,技術在更新,只有更新了自己的知識庫,纔不會被行業所淘汰。
以上所整理的學習文檔均可以分享給大家,共勉!
直接(點擊我)免費獲取哦!
分享不易 喜歡的朋友不要忘了點贊喔!