1. 程式人生 > >Android 面試經歷總結

Android 面試經歷總結

準備工作

主要是明確自己想要加入的公司,並開始做技術準備。目標公司是BAT,我需要到更大的平臺和更優秀的人做更好的專案,正常來說加入BAT以後可以讓自己的實力和眼界得到提升,並且有一線大廠的光環對以後都是蠻重要的。有人說去哪裡都一樣,去了大廠也是個螺絲釘,我想說我寧願做航空母艦上的螺絲釘也不願意做拖拉機上的螺絲釘。其實在求職的過程中一次又一次的失敗曾經讓我放棄BAT了,轉而投向其他我認為有前景的公司,不過最初我真的是非常想去BAT!做夢都想去。關於技術準備,主要是包含下面幾項:

  • 專案經歷
  • Java基礎
  • 設計模式
  • 演算法
  • 網路相關知識
  • Android基礎
  • Android原始碼
  • Android效能優化
  • 開源庫原始碼

整個技術準備過程與面試過程是交替進行的,一邊面試一邊查缺補漏,如此往復。我當時是每天早上7點起床坐班車去公司,8點半吃完早餐就在工位上學習,一直學到9點半左右。然後10點開始辦公,18時吃完晚餐,19時到20時,如果工作忙的話就辦公,不忙的話就接著學習,後期公司任務變少了,有時候全天都在學習。在這個過程中我真的是學的越多越覺得自己真是菜啊,一是覺得不知道的東西太多了,即廣度太窄,二是知道的東西掌握的又不深,即深度不夠。

面試進行時

準備了一段時間後我覺得自己準備的差不多了,就在拉勾上&boss上註冊賬號,公開了簡歷,前期我沒有主動投遞,有哪家讓我去面試,我才去。後期就主動開始投簡歷了,這裡不得不吐槽一下拉鉤的star法則,以及萬年不匹配。我面試的公司較多,摘取幾個有代表性的公司拿出來分享下。 
藍廠 
一面就掛了,主要是以下幾個問題:

  • 事件分發流程
  • View的渲染機制
  • 動畫的原理,底層如何給上層訊號
  • 編譯打包的過程
  • Android有多個資原始檔夾,應用在不同解析度下是如何查詢對應資料夾下的資源的,描述整個過程
  • ANR的原理(回答主執行緒5秒阻塞是不行的,要讀原始碼)

面試官是做framework的,所以問的東西偏framework,最後他說“雖然你是做應用的,但是不能浮於表面,要深入研究”,我覺得他說的很有道理。 
度娘 
晚上八點半,在雨中打著傘接到電話,進行電話面試,一面就掛了。

  • Bitmap 使用時候注意什麼?
  • Oom 是否可以try catch ?
  • 記憶體洩露如何產生?
  • 介面卡模式,裝飾者模式,外觀模式的異同?
  • ANR 如何產生?
  • String buffer 與string builder 的區別?
  • 如何保證執行緒安全?
  • java四中引用
  • Jni 用過麼?
  • 多程序場景遇見過麼?
  • 關於handler,在任何地方new handler 都是什麼執行緒下
  • sqlite升級,增加欄位的語句
  • bitmap recycler 相關
  • 強引用置為null,會不會被回收?
  • glide 使用什麼快取?
  • Glide 記憶體快取如何控制大小?
  • 如何保證多執行緒讀寫檔案的安全?

面試官聲音略顯慵懶疲憊……我懷疑他是不是面了太多人已經麻木了

某海外直播公司 
一面:

  • 執行緒和程序的區別?
  • 為什麼要有執行緒,而不是僅僅用程序?
  • 演算法判斷單鏈表成環與否?
  • 如何實現執行緒同步?
  • hashmap資料結構?
  • arraylist 與 linkedlist 異同?
  • object類的equal 和hashcode 方法重寫,為什麼?
  • hashmap如何put資料(從hashmap原始碼角度講解)?
  • 簡述IPC?
  • fragment之間傳遞資料的方式?
  • 簡述tcp四次揮手?
  • threadlocal原理
  • 記憶體洩漏的可能原因?
  • 用IDE如何分析記憶體洩漏?
  • OOM的可能原因?
  • 執行緒死鎖的4個條件?
  • 差值器&估值器

二面:

  • 簡述訊息機制相關
  • 程序間通訊方式?
  • Binder相關?
  • 觸控事件的分發?
  • 簡述Activity啟動全部過程?
  • okhttp原始碼?
  • RxJava簡介及其原始碼解讀?
  • 效能優化如何分析systrace?
  • 廣播的分類?
  • 點選事件被攔截,但是相傳到下面的view,如何操作?
  • Glide原始碼?
  • ActicityThread相關?
  • volatile的原理
  • synchronize的原理
  • lock原理

三面: 
三道演算法題,要求在一個小時之內做完。

  • 翻轉一個單項鍊表 1->2->3->4->5->null =====> 5->4->3->2->1->null
  • string to integer
  • 合併多個單有序連結串列(假設都是遞增的)

四面: 
總監面,問了一些java 同步相關的。

HR面: 
談薪水,最後沒談攏。

由鵝廠與其他公司合資創立的公司 
一場筆試加一場面試後掛了,面試官T4級別……。 
筆試:

  • Activity生命週期簡述
  • .常見記憶體洩漏情景及避免記憶體洩漏的措施
  • Actvity啟動模式簡述
  • 簡繪觀察者設計模式UML圖
  • 演算法,求公共子序列(或者是子串,記不清了)
  • Java四種引用
  • 自定義view重寫哪幾個方法?
  • http 的session&cookie的區別
  • 簡述工作執行緒更新UI的方法

面試:

  • 應用最多佔多少記憶體
  • 滑動卡頓如何解決(不同原因及對應處理方式)
  • 自定義view實戰
  • 多執行緒,多程序 相關
  • Java四種引用的使用

某ding 
一面就掛。

  • XX專案你負責什麼
  • Sqlite 怎麼增加一個欄位
  • XX專案中是怎麼建立資料庫的
  • Sqlite 怎麼刪除一個欄位
  • 有什麼你覺得自己做得好的地方
  • 為什麼用Retrofit(一個開源庫)
  • Retrofit與之前的網路庫有什麼優勢
  • XX專案中你們自己定義的執行緒池來管理任務,不使用框架,那麼,後來新的專案怎麼設計的
  • 你認為Rxjava的執行緒池與你們自己實現任務管理框架有什麼區別?
  • 記憶體洩漏的常見場景
  • 怎麼發現&分析記憶體洩漏

某條 
面了三輪技術加一輪HR,HR事業線不錯,笑得職業化,其他的沒記住。

其他

  • 熱修復與外掛化相關
  • Integer類是不是執行緒安全的,為什麼
  • 不使用同步鎖如何實現執行緒安全
  • 面試頭條的時候線上程式設計:從上到下從左到右輸出二叉樹
  • 針對concurrent包下面的一些類的問題

Android面試再也不是“能答出來Activity生命週期就OK”的時代了,你們看前面的面試題,有些問題牽扯到底層原理。另外光是concurrent包下面的東西就能把你問懵逼了。

總結

我自己面試了一些公司,拿了一些offer,但是還是想去BAT,所以那些offer最終都拒了,好在最終拿了B的offer,算起來前前後後面了8次BAT,屢敗屢戰,內心還是很強大的。結合我的面試經歷與同事們的面試歷程,總結幾點:

  1. 有些規模小的公司很注重你是不是全能的,恨不得你什麼都會,又給不起錢,福利待遇很不好,各種避稅措施。
  2. 馬爸爸的公司很注重專案經驗是否匹配,往死了問專案,專案簡單的話是很吃虧的,鵝廠希望你是聰明的機靈的,度娘希望你基礎好,熱愛技術;
  3. 有些獵頭朋友是非常專業的,不僅給你安排面試流程,還給你提供很多有價值的資訊,另外獵頭一般推薦的都是高階職位;
  4. 面試真的很看眼緣,很多時候你和麵試官一見面,如果你覺得面試官和你氣場不合,那很可能就沒戲了(這話說起來似乎是給自己的失敗找藉口,信則有不信則無,各自體會吧),碰見一個面試官,一見面就問我”XX大學是一本麼”,答曰”是”,”是985麼”,答曰”是”,”是211麼”,答曰”是”,真心不想聊下去了,不過我也確實沒有通過面試……。
  5. 我認為一面必須表現的很好,因為二面的面試官會參考一面的評價,一旦一面評價一般,第一印象就不好了;
  6. 如果你出身很好,學校認可度高,那你會有優勢,請聯想“好學生犯錯與壞學生犯錯時老師的表現“。
  7. 基礎很重要,大廠還是很青睞名校計算機專業出身的工程師的(我不是),根正苗紅啊,他們基礎一般都很好。所以半路出家的朋友們,注意補補基礎,基礎好,才能走得遠。
  8. 要深入研究,不能浮於表面,多看看原始碼,被嘲笑為 API Player 是很難受的。
  9. 要廣泛接觸,不要只看著自己的一畝三分地,多看看流行的庫,技術等。
  10. 最好是有blog和gayhub,並寫一些有價值的內容,可以加分,別像我一樣blog又空又low。

轉載自:http://www.apkbus.com/blog-822715-77276.html

相關推薦

Android 面試經歷總結

準備工作主要是明確自己想要加入的公司,並開始做技術準備。目標公司是BAT,我需要到更大的平臺和更優秀的人做更好的專案,正常來說加入BAT以後可以讓自己的實力和眼界得到提升,並且有一線大廠的光環對以後都是蠻重要的。有人說去哪裡都一樣,去了大廠也是個螺絲釘,我想說我寧願做航空母艦

今年Android面試經歷的一些總結

此文希望能給想跳槽的朋友一些參考。 我們隨著工作時間的增加和技術經驗的積累。原先的公司不一定能技術提供給你想要的發展空間與前景。說直白點,家裡還有老婆孩子還有老父母,我們需要更高的薪酬讓他們過上更好的日子。所以跳槽是個不錯的選擇。 夏末的時候我就有了跳槽的想法。然後就是不斷的跑了很多家公司面

Android 2017年九月面試經歷總結

1.寫在前面 本人2014年10月底以菜雞的水平進入薯片公司手機團隊做Android 應用開發。2016年底,公司出現危機,開始“優化”,本組一個小兄弟被“優化”,於是我也著手開始做準備,將來若輪到我被“優化”,出去面試時也好打個有準備的仗。這裡我可以交代一下,我從開始

2018年5-7月面試經歷總結:阿里面試題

第一輪:電話初面 第二輪:技術面談【技術職位儘量避免多談管理上的工作】 第三輪:高管複試 第四輪:HR最後確認 一面:首先確認對阿里的意向度(如果異地更會考慮對工作地點(杭州)的意向度!阿里很看重這個);其次面試官一般會針對您所做過的專案來做具體技術的交流,會比較

20181013某大廠的一次android面試經歷

1.activity的啟動模式LaunchMode以及使用場景 1.standard標準模式,也是預設模式 每次啟動一個activity不管這個例項是否存在,都會重新建立一個新的例項。這就是多例項實現。 一個棧內可以有多個這個例項,每個例項可以屬於不同的任

職業生涯:我在阿里的一次JAVA面試經歷總結(跳槽,深薪必備)

    為記錄阿里的電面經歷,特與大家分享,崗位是JAVA研發工程師。 一面主要問題如下: 1)首先自我介紹 2)資料結構演算法的基本問題,如排序演算法,二叉樹遍歷,後序遍歷非遞迴,圖的最短路徑問題 3)對一個數組進行絕對值排序的演算法 4)ja

華為南研所2015年面試經歷總結

      終於將華為的面試結束了,作為大三上學期找實習屢屢碰壁的自己來說,這次能夠在秋招剛開始的時候將華為的offer拿到手,對於自己後面的秋招還是很有幫做的,主要是讓自己有了一顆定心丸,能夠更好地去應對後面的面試環節。下面,就來總結一些整個面試的經歷。        由於之前參加華為的實習生跪在了機試上面

結合螞蟻金服面試經歷總結理解前端學習要求

先簡短的介紹一下我自己吧,我是一個前端學習者,雖然我基礎知識也學了比較好,但是許久不用的知識就像流失的水,很容易就忘。在這次螞蟻金服的電話面試裡面認識到了自己很多不足的地方吧。雖然在阿里內推後的人才觀的問題裡面我覺得自己做的還是很不錯的,但是在真正的程式設計題裡

android面試集錦總結

android部分: 這裡的android根據面試官的水平,面試官水平高的話,會問很多原始碼級的東西,並且問的非常細,這個就沒辦法了,不過相對來說還是佔少數的,當然高大上的公司就必須做好心理準備了。現在來說一般比較常問的android技術點 首先從四大元件說

C/C++程式設計師 面試經歷總結

    最近在找工作,遇到了一些面試題,很慚愧的是很多都沒答上來。     現在把一些問題總結一下,算是記錄一下面試的經歷吧。以後有空簡單地回答一下,    同時也歡迎各位同仁解答,共同學習一下吧!   一、嵌入式C語言面試回憶 主觀題:1、在嵌入式系統中,volitate

2018.3.13-第一次面試經歷總結(Java)

2018.3.13日下午3點面試,地點:廣州市黃埔區納金城D座。這一天我帶著激動與緊張的心情11點半從學校出發,2點半到達了目的地點。一樓是售樓的,一進門口一堆熱情的小哥哥就跑來問我來幹嘛的,我說我來面試的那熱情瞬間就沒了,O(∩_∩)O哈哈~,上到五樓看到一大

今年Android面試經歷總結

此文希望能給那些想跳槽的朋友一些參考。 隨著工作時間的增加和技術經驗的積累。原先的公司不一定能提供給你想要的發展空間與前景。說直接點,家裡還有老婆孩子還有老父母,我們需要更高的薪酬讓他們過上更好的生活。所以跳槽是個不錯的選擇。 夏末的時候我就有了跳槽的想法。然後就是不斷的跑了很多家公司面試。前後花了將近兩

今年Android面試的一些經歷總結

此文希望能給那些想跳槽的朋友一些參考。 我們隨著工作時間的增加和技術經驗的積累。原先的公司不一定能提供給你想要的發展空間與前景。說直接點,家裡還有老婆孩子還有老父母,我們需要更高的薪酬來讓他們過上更好的生活。所以跳槽是個不錯的選擇。 夏末的時候我就有了跳槽的想法。然後就是不斷的跑了很多家公司面試。前後

超詳細Android面試的準備與經歷分享 | 百度(offer)

經歷 media 百度 div pan post andro class activity 超詳細Android面試的準備與經歷分享 | 百度(offer)超詳細Android面試的準備與經歷分享 | 百度(offer)

Android面試收集錄16 Android動畫總結

ont 定義 其中 自定義動畫 替代 通過 1.0 日誌 action 一、Android 動畫分類 總的來說,Android動畫可以分為兩類,最初的傳統動畫和Android3.0 之後出現的屬性動畫; 傳統動畫又包括 幀動畫(Frame Animation)和補

阿里P7面試經歷JAVA總結,技術面,HR面

為記錄阿里的電面經歷,特與大家分享,崗位是JAVA研發工程師。 一面主要問題如下: 1)首先自我介紹 2)資料結構演算法的基本問題,如排序演算法,二叉樹遍歷,後序遍歷非遞迴,圖的最短路徑問題 3)對一個數組進行絕對值排序的演算法 4)java中hashmap的底層實現 5)jav

記一次大三秋季成都某公司Java電話面試經歷總結

簡歷是在一個招聘app上投的。感興趣的童鞋也可以試試~ 本來HR是準備直接過去面試的,但是由於本人不在本地原因,所以直接約了時間面試 面試官是技術部的Leader,總共面試時間是40分鐘左右吧! 好的,下面就直接進入正題吧! 面試官問:之前看到過你做的筆試

【JAVA面試經歷】蘇州安碩資訊面試總結

                                       蘇州安碩資訊面試總

Android面試總結--Android

Activity生命週期 圖中需要注意一下幾點: 1.Activity例項是由系統自動建立,並在不同的狀態期間回撥相應的方法。一個最簡單的完整的Activity生命週期會按照如下順序回撥:onCreate -> onStart -> onResum

android基礎面試經歷

1.intentservice intentservice extends service是一個服務 從他的oncreate方法看,他封裝了Handlerthread和handler HandlerT