一開始聽 HR 說要英文面試直接被嚇到了,后來想想也沒什么,學了十幾年的英語終于有了用武之地。然后也跟 HR 做了簡單的英文自我介紹。大概是覺得我的水平還湊活,后面有了電話技術面,好在這次是中文。然后電話面完又去了公司面。這家公司環(huán)境真的特別好,福利也非常不錯,除了具體待遇因為還沒談,其實感覺希望也不太大吧。畢竟英文沒那么 6,雖然當時自我感覺挺好,回來之后越想越覺得自己當時表現很差勁,之所以自我感覺良好還是公司的人都比較會照顧應聘者情緒吧。
因為沒有好意思做筆記,下面的問題大部分都是事后回憶想起來的,還有很多想不起來的,不過基本沒回答上的都包含在里面了。
一面(HR 電話溝通,周三)
- 英文自我介紹
- 中文項目介紹
- 英文項目問題描述
- 實習時間確認
- 第二天下午 2 點電話技術面試
二面(技術電話溝通,第二天下午,電話很準時,周四)
- 網絡請求框架
- OkHttp、Retrofit
- Android 項目第三方包的管理工具
- Gradle、Maven
- Git 的使用
- 博客服務器的使用
- 項目介紹
- 天氣應用、手機衛(wèi)士
- 自定義 View 的一般流程
- 介紹自己的天氣刻度盤
- 圖片緩存知道么
- 內存緩存
- 磁盤緩存
- 網絡緩存
- AsyncTask 源碼解讀
- 異步加載框架
- GPA 是什么
- 平均績點,班級名次,專業(yè)名次
我反問
- 覺得我的回答如何
三面(英文題目,第二周周三)
- Activity 的生命周期,以及開啟 Activity 的兩種方式
- Service 開啟的兩種方式
- startService
- bindService
- 混合使用
- Intent 的作用
- 連接四大組件的橋梁,傳遞信息
- 打開其他進程的 Activity,需要設置 Action
- 怎么給 array 去重
- 循環(huán)比較去重
- 放進 set 去重
- 放進 LinkedHashSet 去重(保持順序)
- git pull 的作用
- 從服務器的 git 倉庫將代碼保存到本地
- Android 數據存儲方式有哪些
- SP
- Sqlite
- 文件
- contentProvider
- Internet
- 自定義 View 的 onMeasure 和 onLayout 過程
- 不知道讓寫代碼還是描述,寫了一半代碼發(fā)現寫不下了,就用了幾句話簡單說明
- 如何讓布局適配不同的屏幕,例如 800480,19201080?
- 長度單位用 dp,建立不同分辨率下的布局文件,最新出的 constraintLayout
四面(電話里的技術面試官丁和英國 Android 開發(fā),當天)
- 英文自我介紹(早晨寫得介紹終于可以背出來了,雖然沒有背完)
- 項目介紹和問答(手機衛(wèi)士、天氣應用)
- 打開 App 演示了下,結果沒有網絡直接奔潰了,又尷尬了,厚著臉皮讓老外給我連了公司 WiFi,才開始演示的
- 大概說了下實現什么功能,用了什么技術等
- Recyclerview 頭布局,尾布局如何添加
- 重寫 adapter
- 因為一直沒 get 的點上,映象特別深,看了別人的實現自己嘗試了下:
- RecyclerView 的四級緩存分別是什么
- 當時沒答上來,才剛開始看這方面來著
- ListView 的二級緩存是什么
- mActiveViews
- 當數據發(fā)生變化的時候重新 layout,僅存在于此 layout 期間,在 layout 結束之前就會回收
- 快速重用屏幕可見 itemView,不需要在 createView 和 bindView
- mScrapViews
- 數組包含的 ArrayList
- 緩存離開屏幕的 view,用于即將進入屏幕的 view 的重用
- mActiveViews
- Callable,Runnable,Future,FutureTask 的區(qū)別
- Runnable :調用 run 方法,沒有返回值,不能取消
- Callable :調用 call 方法,有返回值,不能取消
- Future:task 任務完成驗證,獲取返回值,與 Runnable 搭配使用
- FutureTask:繼承自 RunnableFuture,也就是身兼二者之長,可以運行任務,可以被取消,可以返回結果
- 這個問題當時也沒答全,之前看 AsyncTask 源碼的時候主要看了 FutureTask 的實現,繼承和實現都沒太關注,不過好歹說出了前兩項和 FutureTask 基本特點
- 按下返回鍵再打開應用,如何再現之前的數據
- 這個當時由英國面試官問的,一開始沒聽清楚,有點牛頭不對馬嘴,后面反應過來,原來是要將數據存在 bundle 里
- 有關于 service 的了解
- 基本跟筆試里的一樣
- 有沒有寫過測試
- 這還真沒有,當時老外問這個問題就有點慌了。雖然之前了解過 TDD 開發(fā)的東西,當時也沒有想起來要說這個,只是說了下自己覺得測試確實也很重要什么的。
五面(HR 與 CTO,當天下午)
- 與英國人溝通過程如何
- 還可以,有一個問題聽的不是很清楚,能聽懂和理解六七成(安慰我來著,英國人的口音有時候他們也聽不太懂)
- 覺得自己面試表現怎么樣(上一輪的)
- 有七八成的問題能夠回答出來,有一些自己的知識盲區(qū),以及缺少測試經驗的問題
- 職業(yè)規(guī)劃是什么
- 以前有過實習機會么,為什么放棄,放棄了后悔么
- 有啊,可惜沒去
- 要從測試開始,心理有點不情愿,加上好朋友結婚,順水推舟
- 有點后悔,測試技能對于開發(fā)也很有用,中間很長的空白期,錯過了很多經驗
- 打算如何提高自己的 Android 開發(fā)水平(CTO)
- 之前是如何提高自己的 Android 開發(fā)水平的(CTO)
- 對團隊協(xié)作的認識
- 理想中的團隊是什么樣的
- 期望的薪資待遇
- 實習期沒有特別要求,轉正 6K ~ 8K(不知道會不會太高,晚上又發(fā)消息改成 5K,不知道這個行為會不會減分)
- 一個星期到兩個星期出結果,沒通過也不另行通知(唯一覺得不好的地方)
我反問
- 公司的開發(fā)團隊規(guī)模
- 公司的技術棧
- 公司未來發(fā)展規(guī)劃,是否會大規(guī)模擴張
- 實習生的主要職責
說實話這家公司是唯一我去面試給我水喝的,這一點就讓我很有好感?;蛟S錯過這次以后都不會碰到條件這么好的公司了,然而還是得努力提高自己的水平啊。畢竟為了這次面試自己已經盡力了,早晨起來練習口語,晚上睡覺前練習聽力,白天研究題目相關知識。畢設都停了快一個星期了,如果還是不行,那就真的是自己水平不夠,不符合人家的要求了。有句話說得好,打鐵還需自身硬。還是繼續(xù)學習去吧。
本文最早發(fā)布于 alphagao.com 。