Android 一線大廠面試總結

最近因為團隊專案被邊緣化,新專案接連流產,已經可以上市的專案突然宣佈不做了,又加上外包崗的離職,作為正崗也有被裁員的風險,於是出去看了一下機會。面試了阿里巴巴,百度,頭條,趣頭條,小米,愛奇藝,映客,快手等一線的大廠,最終拿到了滿意的offer。下面將面經分享出來。
面試前的準備
下面我將從以下幾個方面來分享一下面試前的準備。
- 給自己定位
首先要給自己定位,自己現在是一個什麼階段,是初級崗,中高階,高階,還是專家級。一般情況下剛參加工作一年左右時初級,兩年左右努力提升自己的話是中級,三到五年高階甚至專家級。前提是不停的專研。 - 知識的梳理
因為把自己定位為高階開發工程師,俗話說:面試修航母,工作螺絲釘。面試考慮各個方面,對於安卓來說,主要有以下幾個方面來準備:Java基礎,Android基礎,Java併發,Java虛擬機器,Android原始碼(包括framework和開源的專案),資料結構和演算法。當然基礎知識梳理完畢之後,還要去閱讀一些面試經,看看最新各個廠商問的問題。其實以上這些東西準備完,基礎好的話,一個月左右,基礎不好的話至少要3個月吧。
俗話說不打無準備之仗,只有準備好了才能在面試過程中取得好的結果。 - 簡歷的準備
簡歷是一個敲門磚,HR每天會有很多簡歷收到。簡歷如何讓人眼前一亮,並且能一眼抓住關鍵資訊:個人基本資訊(姓名,電話,郵箱,畢業院校等),工作經理,技能點,一些亮點(比如六級證書,獲獎等)。簡歷要簡介,層次分明。寫完簡歷要在招聘網站上更新一下自己的簡歷。 - 面試機會的各個渠道
這次面試一共通過了3種渠道,一是朋友內推,二是獵頭幫忙,三是通過boss或拉鉤網投遞。
-
朋友內推:在圈內首先要認識一些好友,各個廠商的員工,可以通過脈脈加好友,也可以通過技術交流加好友,瞭解好友的動態,讓他們幫忙推薦。當然找內推也有兩種方式。第一種是讓朋友推薦崗位,讓他幫忙問問組內是否缺人。第二種通過自己去找,一般情況下公司招聘會在官網上顯示加入我們連結,這裡可以看到崗位資訊。推薦第二種,你自己找到崗位,發給朋友,讓他直接幫忙推薦這個崗位。推薦一般會有獎金的。
-
獵頭幫忙:最近聽了一個得到的課程“如何有效的提升職場競爭力”,我覺得老師講的一句話特別好,不要排斥獵頭,把獵頭當做你的合作伙伴。獵頭比你更瞭解推薦的公司,以及當前的行情。找獵頭的方式也有很多,第一個是問問你的朋友有沒有合作過的靠譜獵頭,第二是像智聯招聘,獵聘,boss直聘上有很多的獵頭。你更新簡歷之後,會有獵頭給你聯絡。
-
招聘網站:網際網路招聘就是在拉鉤,boss,智聯上了。簡歷更新到網站上,然後就可以投遞了,這裡要看到簡歷投遞是否有效果,如果半天沒有人檢視你的簡歷,那麼說明你的簡歷有問題,及時的修改再投遞。
面試過程中
面試中分為以下三個方面分享:面試,談offer,面試後記錄總結
-
面試
面試首先不要遲到,著裝得體,帶好筆和紙,因為是面試也是自己白板能力的一個體現,還有寫一些演算法以及流程圖等。面試前先了解企業資訊,有些不合適的公司就不要去面試了,提前安裝對方的產品,體驗一下。面試過程中一般會讓先做自我介紹,要分階段有條理的介紹。一般會問你在上一家公司最有成就的事情,遇到的最大的技術難點等。面試過程中不會的可以說自己不瞭解,也可以反問一下面試官,有的面試官會給你講解一下,它還表現出你比較好學。
-
談offer
offer到了之後,首先還是定位,你未來幾年的發展方向:技術提升,管理能力提升還是什麼。一般大廠會有評級,問清楚評級,福利待遇。談工資的技巧:1. 內推的話,問問內推的朋友。2. 獵頭推薦:讓獵頭幫忙談。3. 自己投的簡歷,一般拉鉤和boss直聘上有明碼標價。一般來說漲30%~40%是合理範圍。
-
面試後
面試後及時總結,有可能下一個面試官會問你同樣的問題。我就遇到了好幾個一樣的問題。
面試題分享
下面分享一些一線廠商的面試題:
- finnal的理解
- 靜態方法鎖和類鎖的區別
- loop.loop()為何沒有造成死迴圈
- 程式計數器的功能
- Java的記憶體模型
- 指令重排序的解釋,多執行緒
- 多執行緒併發
- synchronized和lock,reEntranceLock區別
- 執行緒的幾種狀態
- MediaPlayer的生命週期
- 靜態代理和動態代理
- 多執行緒併發的集合框架
- Java集合的資料型別
- 用棧實現一個佇列
- 一共有n個蘋果,一天吃一個蘋果,一天吃兩個蘋果,一共有多少種吃法
- 迴文打印出二維陣列
- 兩個執行緒交替列印
- 迴文輸出一個二叉樹
- 股票最優問題
- 子View擴選問題
- View的繪製
- Activity的生命週期
Activity1啟動:
MainActivity.onCreate.
MainActivity.onStart.
MainActivity.onResume.
點選button Activity2啟動:
MainActivity.onPause.
Main2Activity.onCreate.
Main2Activity.onStart.
Main2Activity.onResume.
MainActivity.onStop.
點選返回鍵,Activity2從任務棧中移除:
MainActivity.onPause.
MainActivity.onRestart.
MainActivity.onStart.
MainActivity.onResume.
Main2Activity.onStop.
Main2Activity.onDestroy.
Activity1點選返回鍵:
MainActivity.onPause.
MainActivity.onStop.
MainActivity.onDestroy. - MVP類圖
- 什麼時候複寫hashCode和equl方法
以上就是我分享的面試總結。