職場危機感彷佛是每一個人在職業生涯都會遇到的話題,天天都有形形色色的人面臨這跳槽擠破頭要進大廠。我對這種危機處境和本身曾遇到的問題進行了一番思考, 參考了其餘人的一些結論並結合自身的經歷,寫出了這篇面試題。經過這篇文章,但願能給你們一些幫助祝你斬獲心儀offer,也歡迎你們一塊兒討論、發表建議,化緊張爲動力,讓危機變機遇。面試
一 阿里
一面(3/8 21:17,電話,61 分 47 秒)算法
- 自我介紹
- 項目來歷
- 上過或自學過哪些計算機課程,對計算機網絡挺熟悉的吧
- 對 HTTPS 有沒有了解,有沒有寫過相關代碼
- 老闆有 2000 元給我和同窗分錢,首先由我提出分錢方案。若是同窗不一樣意,則總額變爲 1000 元,並由同窗提出分錢方案。若是這時我不一樣意,則倆人各拿 100 元。請問一開始我應該怎麼給出分錢方案?
- 假設有一個線程在取隊列中的消息,怎麼中止這個線程
- 讀過哪些源碼,分別說一下 Android 和 Java 的
- 讀過哪些 Android 開源庫源碼
- 項目中遇到過什麼難題
- 印象深入的幾回學習經歷
- 看你用過 Ubuntu,平時是否是用 Linux,熟悉Linux嗎,都用它幹什麼
- 有什麼問題想問的
二面(3/12 20:30,電話,82 分 33 秒)數據庫
- 介紹一下項目
- 一連串問了多個問題關於項目中給設備配置入網過程的細節
- 項目中與設備通訊的數據格式,還能夠用哪些數據格式,作過什麼優化
- 設計一種變長的傳輸數據格式
- 項目中有沒有作過一些監控日誌
- 設計一個日誌監控和上傳模塊,深刻問了不少細節和考慮的方面
- 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 紅黑樹的節點是以什麼區分的
- SurfaceView 原理
- HTTP 響應內容
- Retrofit 內部實現
- 動態代理的原理
- EventBus 內部實現
- 手寫二分查找
二面網絡
- 看過哪些書
- HashMap 版本變化和原理
- 手寫快速排序並解釋
- 各類排序的複雜度和穩定性
- 類成員的權限怎麼定
三面架構
- volatile 和重排序
- Java 內存模型
- 引用計數和可達性分析
- Android 界面刷新原理
- Android 性能優化有哪些方法
- 觀察者模式、責任鏈模式
- OkHttp 內部實現、有沒有緩存
- 從輸入一個 URL 到看到一個頁面的過程
- 看過哪些書
- 是否是實驗室作開發的同窗中最強的
HR面框架
- 爲何來頭條
- 做爲項目負責人,完成了哪些工做
- 實習時長、何時來
三. 騰訊
一面(3/12 19:00,電話,40 分 34 秒)性能
- 能不能來深圳
- 介紹項目
- 爲何用 SharedPreferences,怎麼存 JSON
- 項目中遇到什麼難題
- 廣播和組播
- 數據庫優化
二面(3/15 14:50,電話,17 分 46 秒)
- 上過哪些計算機課程
- Java 類加載
- Android 類加載,DexClassLoader有什麼用
- 散列表有哪些解決衝突的方式
- LinkedList 和 ArrayList 比較
- TCP 的擁塞控制
- 能不能來深圳
四. 美團(3/14 下午, 現場,大約 4 小時)
一面
- 自我介紹
- 項目來歷
- 爲何喜歡 Java,而後問了一些 Java 的特性
- 線程和協程,爲何協程比線程效率高
- RecyclerView 圖片錯位問題
- Fragment 的 commitAllowStateLoss 方法
- Activity 與 Fragment 怎麼通訊
- Handler 怎麼解決內存泄漏問題
- 其餘內存泄漏狀況
- 單擊事件和雙擊事件哪一個先觸發
- 不考慮具體頁面,怎麼從根本上優化界面卡頓
- SurfaceFlinger、VSYNC
- 描述一下 Handler 的原理
- 依次打印二叉樹每層最左邊的結點
二面
- 怎麼判斷對象是否要進入老年代
- Eden 和 Survivor 的比例和回收規則
- 新生代爲何用複製算法
- 說一下對 Binder 的理解
- 說一下 ActivityManagerService、ActivityManagerNative 等幾個類的區別
- 手寫各類單例模式
- 跳臺階問題
- 求兩個鏈表的交點
- 判斷二叉樹是否左右對稱(只考慮結構對稱,不考慮值)
三面
- MVP 及 MVP 怎麼解決內存泄漏
- 項目架構
- 說一下 SharedPreferences
- 給一個數組,判斷是否存在一對相等的前綴和與後綴和
- 平時怎麼學習的
- 有什麼想學的新技術、學習計劃
HR面
- 對咱們部門的印象怎麼樣
- 有沒有參加別的面試
- 若是阿里和美團都要你,你選哪一個
- 家是哪兒的
- 瞭解阿里面試狀況
- 實習時長、何時來
- 瞭解騰訊面試狀況
喜歡的話點個讚的吧,後續我會將面試過程當中更加詳細的東西分享出來