記錄百度校招內(nèi)推面試經(jīng)歷,廢話不多說,直接上問題(內(nèi)推了這么多,各種失敗,心碎了一地,拾掇拾掇,重新出發(fā))
一面(電面)
- 講講性能優(yōu)化、布局優(yōu)化的經(jīng)驗(yàn);
- 講講 Gradle 語法、生命周期;
- 講講 Java 泛型、什么場(chǎng)景使用;
- 講講注解,有沒有了解過哪些新技術(shù)在應(yīng)用,自己使用過沒;
- 講講項(xiàng)目中自己最難忘的點(diǎn);
- 講講 Android 數(shù)據(jù)庫的相關(guān)操作,兩個(gè)表合并怎么實(shí)現(xiàn);
- 了解 aar 文件沒,有沒有遇到什么坎;
- ListView 和 RecycleView 的比較;
- 數(shù)據(jù)加載更多涉及到分頁,你是怎么實(shí)現(xiàn)的;
- Instant Run 玩過沒,AS 的版本是多少;
- 網(wǎng)絡(luò)框架用了哪些,講講使用的框架的原理;
- 項(xiàng)目用到了哪些第三方控件,EventBus 講講,優(yōu)缺點(diǎn),有沒有考慮過如何消除缺點(diǎn);
- 講講事件分發(fā)機(jī)制;
- 服務(wù)器和前端交互用的什么數(shù)據(jù)格式,有沒有用過除了 JSON 格式之外的;
- 數(shù)據(jù)解析用的什么;
- 音視頻的開發(fā)過程中,有哪些坑踩過;
- 視頻的篩選是使用了什么方法實(shí)現(xiàn)的;
- 講講注解,有沒有自己實(shí)現(xiàn)過,優(yōu)缺點(diǎn)。
二面(現(xiàn)場(chǎng)面)
- 現(xiàn)場(chǎng)寫 Activity 和 Fragment 的聲明周期,Home 和 Back 鍵的生命周期;
- 寫 Service 的兩種實(shí)現(xiàn)方式和生命周期;
- 靜態(tài)同步方法和非靜態(tài)同步方法的區(qū)別;
- Get 和 Post 的區(qū)別;地址
- 單例的雙重檢驗(yàn)的實(shí)現(xiàn)方式;
- volatile 的作用;
- 進(jìn)城和線程的區(qū)別,Android 多進(jìn)程如何實(shí)現(xiàn);
- 子線程更新UI的方式;
- Handler 的實(shí)現(xiàn)機(jī)制,畫圖講解;
- Java 靜態(tài)變量在 new 的對(duì)象中會(huì)不會(huì)更改;
- TCP 和 UDP 的區(qū)別,TCP如何保證可靠性傳輸,手寫一下三次握手的過程;
- HTTPS 和HTTP 的區(qū)別,S是什么;
- HTTP 的底層實(shí)現(xiàn)是什么;
- 堆存放什么,棧存放什么,地址,安卓虛擬機(jī)的內(nèi)存模型是什么;
- equals 和 hashcode 的關(guān)系;
- 安卓?jī)?nèi)存泄露檢測(cè)以及解決方案;
- Hashmap 的源碼和實(shí)現(xiàn)方式;
- 寫代碼實(shí)現(xiàn)隊(duì)列的基本操作,外加查找最大值;
- Linux 玩的轉(zhuǎn)不;
- 講講線程池;
- 如果加快 Gradle 的編譯速度
三面(現(xiàn)場(chǎng)面)
- 團(tuán)隊(duì)協(xié)同管理是如何進(jìn)行的
- 個(gè)人在技術(shù)、團(tuán)隊(duì)管理的經(jīng)驗(yàn)、優(yōu)勢(shì)、劣勢(shì);
- 個(gè)人在未來一段時(shí)間內(nèi)的發(fā)展規(guī)劃;
- 如何推動(dòng)項(xiàng)目組采用一些新技術(shù);
- 團(tuán)隊(duì)的溝通如何進(jìn)行;
- 團(tuán)隊(duì)分配的任務(wù)如何完成、時(shí)間如何安排;
- 加班如何看待;
- 實(shí)習(xí)初始,是如何融入到團(tuán)隊(duì)的,是如何快速了解整個(gè)項(xiàng)目的;
- 評(píng)價(jià)自我的實(shí)習(xí)情況