去年秋招面試了一些公司,現(xiàn)在把面經(jīng)和面試體驗(yàn)發(fā)一下,大佬們共同學(xué)習(xí)。
由于水平比較差,所以才獲得幾個(gè)offer(小公司無算):百度,美團(tuán),小米,華為,鏈家,百度外賣(后期獲得頭條,拼多多Offer)
職位都是:android客戶端開發(fā)
小米
8月29日 小米一面 (1小時(shí)20分鐘)
- 講一個(gè)你印象比較深刻的項(xiàng)目
- 講一下Volley框架的實(shí)現(xiàn)機(jī)制
- BLE藍(lán)牙的使用流程
- 設(shè)計(jì)模式你說下
- binder機(jī)制應(yīng)用層面上說下
- View事件分發(fā)機(jī)制說下
- android性能優(yōu)化說下(布局優(yōu)化、內(nèi)存泄露、bitmap壓縮等等..)
- eventBus框架是干什么用的,實(shí)現(xiàn)機(jī)制?
- ANR和crash遇到過么?怎樣解決
- 編寫代碼(給一個(gè)網(wǎng)址,編寫代碼)
輸入一個(gè)n*n的正方形矩陣a,要求填充邏輯代碼,將矩陣a順時(shí)針旋轉(zhuǎn)90度
8月30號(hào) 小米二面(1小時(shí)20分鐘)
- 自我介紹
- 你做的這幾個(gè)項(xiàng)目挑出一個(gè)來講一下
- 步態(tài)分析器這個(gè)項(xiàng)目的話,你感覺核心實(shí)現(xiàn)是什么?
- 講一下藍(lán)牙有幾種方式,你用的BLE的藍(lán)牙流程說下
- 假如說你的app現(xiàn)在使用了一個(gè)A的第三方庫,那么為了以后可以容易換成B的第三方庫,你會(huì)怎樣去做減少后面的修改難度?
- android的多線程你知道多少?介紹下
- asyncTask的內(nèi)存泄露你知道么?
- 給一個(gè)網(wǎng)頁,手撕代碼
題目:一個(gè)字符串,開始可能有0-N個(gè)空格,然后在這個(gè)串中每個(gè)單詞之間有1-N個(gè)空格,最后的結(jié)束也有N個(gè)空格,現(xiàn)在要求最后的輸出結(jié)果是開始不能有空格,每個(gè)單詞之間只能有一個(gè)空格,最后全部是空格的格式
一、先實(shí)現(xiàn),無要求
二、空間復(fù)雜度要求為O(1),再優(yōu)化
9月20號(hào) 武漢現(xiàn)場(chǎng)面三面 40分鐘
- 自我介紹
- 講一個(gè)你熟悉的項(xiàng)目
- 手寫代碼:一個(gè)數(shù)組中的數(shù)字,有大有小,如何用最少的+1或者-1的操作消除數(shù)組中的數(shù)字差異過大的情況,返回你的操作次數(shù)
- intentService了解么?說一下他的用處和原理
- intentService和service的區(qū)別
- intentService現(xiàn)在要求讓他的任務(wù)可以并行執(zhí)行,你會(huì)怎樣去實(shí)現(xiàn)
- asyncTask說下主要的方法
- activity銷毀之后,那么asyncTask如果還在執(zhí)行,那么會(huì)造成什么問題
- activity的旋轉(zhuǎn)屏幕的生命周期變化
- 手寫代碼:一個(gè)單鏈表,每三個(gè)節(jié)點(diǎn)反轉(zhuǎn)一次
- 你有什么想問我的么?
面試體驗(yàn):
小米每次面試基本上必備的就是手撕算法,so,一定要做好點(diǎn)準(zhǔn)備,難度都一般,不是難的那種。另外從android的技術(shù)上來說,從我的面試經(jīng)歷來說都是一點(diǎn)即過,面試官?zèng)]有多少深入的挖掘知識(shí)點(diǎn)。面試官都很nice,有些算法上卡著了,會(huì)一步一步的引導(dǎo)你。贊一個(gè)
今日頭條
9月25號(hào) 今日頭條 1面 30分鐘
- 自我介紹
- 兩個(gè)有序數(shù)組,求這兩個(gè)有序數(shù)組中最大的K個(gè)數(shù)(要求時(shí)間復(fù)雜度空間復(fù)雜度較低)
- 對(duì)于棧這個(gè)數(shù)據(jù)結(jié)構(gòu),實(shí)現(xiàn)以下幾個(gè)方法:push,pop,max(要求空間復(fù)雜度較低)
今日頭條 2面 1小時(shí)
- 自我介紹
- android事件分發(fā)機(jī)制說下
- touchSlop,touchDelegate的理解
- viewStub,merge、include的理解
- java引用級(jí)別
- 用過什么第三方庫?(用過eventBus,Volley。知道RxAndroid,okHttp等。。寫過demo)
- 用過什么編譯器
- 內(nèi)存泄露原因(從JVM開始和他說起)
- gcRoot有哪些?
- 如何檢測(cè)內(nèi)存泄露,有什么方式
- 算法:一個(gè)有序數(shù)組,尋找k值出現(xiàn)的第一個(gè)位置(針對(duì)算法要求最優(yōu))
- 算法:每個(gè)人都有工作時(shí)間區(qū)間,現(xiàn)在有N個(gè)人,他們每個(gè)人分別有K個(gè)工作區(qū)間?,F(xiàn)在要找到一個(gè)大家都空閑的時(shí)間段進(jìn)行開會(huì),那么如何來找到這些空閑時(shí)間段?講出思路和時(shí)間復(fù)雜度,空間復(fù)雜度
面試體驗(yàn):
武漢現(xiàn)場(chǎng)面,一面不是android開發(fā)面試官,應(yīng)該是java的,所以就問了算法了。每個(gè)算法不是很難,但是會(huì)讓你寫最優(yōu),只有思路不行,必須要完整寫出來。二面是android面試官,嗯,總的情況的話答下來有80%左右吧。前面都還好,最后我問他問題的時(shí)候我問他對(duì)我評(píng)價(jià)如何,然后他說我對(duì)技術(shù)不熱情,問我是不是跨專業(yè)?我一臉懵逼,,理由如下:你知道目前的新框架為什么還在項(xiàng)目中用舊的框架?你項(xiàng)目中還有用到eclipse的,為什么不用androidstudio?然后我給他說:我選擇框架只選擇針對(duì)我這個(gè)項(xiàng)目合適的框架,并且框架原理相同,我知道了一個(gè)原理了其他的也就是一樣的了。并且我平時(shí)也用過新框架自己搞demo;第二:我進(jìn)入實(shí)驗(yàn)室的時(shí)候就是eclipse的項(xiàng)目,我是接鍋的。后面的我自己搞得項(xiàng)目就用androidstudio了,平時(shí)demo我也是用androidstudio了,有問題么?拿著我的簡(jiǎn)歷然后問我是不是跨專業(yè)?呵呵噠,算您會(huì)挖苦人。。直接告訴他,今天就到這吧,面不起我還可以躲得起。。
百度
8月24日 手機(jī)百度電話一面 34分鐘
- 二叉樹的非遞歸實(shí)現(xiàn)(前序、中序、后序)
- 給一個(gè)NN的矩陣,找出22矩陣的和的最大值,時(shí)間復(fù)雜度?最優(yōu)?
- android藍(lán)牙連接(傳統(tǒng)藍(lán)牙,BLE藍(lán)牙),如何連接?
- JVM內(nèi)存分區(qū)(每部分異常會(huì)報(bào)什么錯(cuò)誤?)
- JVM垃圾回收算法(詳細(xì)介紹)
- JVM垃圾回收器(詳細(xì)介紹)
- https連接過程,握手過程
- 對(duì)稱加密,非對(duì)稱加密
- 三次握手過程
- android消息機(jī)制
- android事件分發(fā)機(jī)制
8月29日 百度二面(一小時(shí)50分鐘)
- 講一下你做的這些項(xiàng)目里面哪個(gè)印象最深刻
- 你負(fù)責(zé)的這些部分講幾個(gè)你認(rèn)為比較重要的點(diǎn)
- Volley框架機(jī)制說下,你能抽取出(學(xué)到)幾個(gè)技術(shù)點(diǎn)?
- android性能優(yōu)化說下
- binder實(shí)現(xiàn)機(jī)制
- AIDL文件的用處,aidl生成的類有什么用?講下這個(gè)類做的事情和原理
- 進(jìn)程之間是相互隔離的,那么從A進(jìn)程到B進(jìn)程使用binder進(jìn)行通訊,那么猜想下到底是怎樣做的呢?
- View的消息機(jī)制你說下,對(duì)于ViewGroup和View有什么不一樣?
- 事件攔截的話,可不可以從子View來進(jìn)行操作?具體思路說下
- 考慮一種場(chǎng)景:listView加上一個(gè)header實(shí)現(xiàn)下拉刷新的功能,你要怎樣去實(shí)現(xiàn)?說說思路
- 如果這樣的場(chǎng)景下:listView和header屬于不同的view,相互為兄弟View,外部套一個(gè)大的viewGroup,如何進(jìn)行事件分發(fā)?從初始態(tài)到用戶拉下出現(xiàn)header的過程來依次分析
- 如果是這樣的場(chǎng)景:listView和header屬于同一個(gè)view層,那么下拉刷新又該如何實(shí)現(xiàn)?事件攔截又該如何去做?
- 發(fā)過來一個(gè)網(wǎng)址,手寫代碼
根據(jù)他提的需求,寫代碼(主要就是設(shè)計(jì)模式的使用原則和設(shè)計(jì)模式的使用):基本上涉及的知識(shí)點(diǎn):策略模式,工廠方法模式。之后根據(jù)不同的新需求如何盡可能少的修改原來代碼來實(shí)現(xiàn)新功能。
- 對(duì)上一步中的抽象類和接口說下優(yōu)缺點(diǎn)?
- 為什么java是要求是只能單一繼承?卻可以實(shí)現(xiàn)多個(gè)接口?說下你的見解
- 抽象類屬性中什么場(chǎng)景下是優(yōu)點(diǎn)?什么場(chǎng)景下優(yōu)點(diǎn)又變成了缺點(diǎn)?
- 使用接口什么場(chǎng)景下是優(yōu)點(diǎn)?什么場(chǎng)景下優(yōu)點(diǎn)又變成了缺點(diǎn)?
權(quán)利翻轉(zhuǎn):你有什么需要問的么?......
百度三面(50分鐘)
- 自我介紹
- 能不能立即過來實(shí)習(xí)?
- 網(wǎng)絡(luò)分層?7層,5層,4層,具體說下每層干啥
- ip是哪一層協(xié)議?
- post與get的區(qū)別,get有長(zhǎng)度限制么?
- 為什么要使用ip協(xié)議?直接使用mac地址連接不可以么?
- 全球這么多廠商,生產(chǎn)的設(shè)備如果有重復(fù)的mac地址,你如何解決這個(gè)問題?網(wǎng)絡(luò)數(shù)據(jù)包傳輸會(huì)有什么問題
- 你是網(wǎng)絡(luò)管理員,從英國的一臺(tái)電腦要打開中國的一個(gè)網(wǎng)頁,現(xiàn)在就是連接不上(dns正??梢越馕龅秸_IP),你能考慮到哪些問題?
- 你是衡水的手機(jī)號(hào),現(xiàn)在你在湖北,那么北京的手機(jī)號(hào)打你的手機(jī)為什么你可以接到電話?
接著問,你數(shù)據(jù)結(jié)構(gòu)知道吧?
- 快排時(shí)間復(fù)雜度是多少?最差?平均?為什么時(shí)間復(fù)雜度是O(N*logN)?怎樣推導(dǎo)出來的?
- 你對(duì)app推送有什么了解?如果是你來實(shí)現(xiàn)的話,你能怎么做?
- 中國有13億人,對(duì)全國身份證號(hào)進(jìn)行排序,你會(huì)怎樣去做
- 你上級(jí)讓你去安排一個(gè)日子來舉辦活動(dòng),要求這一天一定不能是周六或者周日,一定要在周一到周五之間,你如何判斷一年里面有哪些日子是合適的?
- 你有什么想問我的?
面試感受:1面基本上完美,很舒服。2面面試官很有深度,并且人超棒,會(huì)引導(dǎo)你去如何解決。3面是經(jīng)理面。我說錯(cuò)了一句話,嗯,導(dǎo)致失敗了吧,其實(shí)三面總的來說打得也算是馬馬虎虎到70%,一句話失誤導(dǎo)致最后失敗了吧。。。郁悶了好多天,,,
華為
7月4號(hào) 華為優(yōu)招
一面:
上來是做自我介紹,之后開始問項(xiàng)目,講項(xiàng)目中的認(rèn)為的難點(diǎn),印象深刻的地方。
即時(shí)通訊IM,BLE藍(lán)牙連接
針對(duì)簡(jiǎn)歷繼續(xù)問
android消息機(jī)制 view分發(fā)機(jī)制 android性能優(yōu)化 binder機(jī)制 設(shè)計(jì)模式(包含設(shè)計(jì)原則)
android相關(guān):
廣播的靜態(tài)注冊(cè)與動(dòng)態(tài)注冊(cè) 廣播的有序與無序 service的如何保持不被殺死 內(nèi)存泄露(handler 等...)
java:
== 與equals區(qū)別 stringBuffer與stringBuilder區(qū)別 hashmap的原理
網(wǎng)絡(luò):
post與get區(qū)別 http與https區(qū)別 網(wǎng)絡(luò)錯(cuò)誤碼
二面
聊人生。。。
拼多多
8月31日 拼多多 一面(30分鐘)
- 做自我介紹
- android布局說下
- android四大組件說下
- activity和activity傳輸數(shù)據(jù)怎么做
- 使用intent傳輸數(shù)據(jù)對(duì)數(shù)據(jù)有什么要求
- service和activity的區(qū)別說下
- ANR了解么?如何解決?
- 給你一個(gè)數(shù)組,里面都是long類型數(shù)據(jù),有重復(fù)數(shù)字有空格,要求去重,空間復(fù)雜度O(1)。說下思路
- 跨進(jìn)程通訊你說說看有哪些
- binder機(jī)制說說你知道的
- 常用的排序算法說下
- 自定義View實(shí)現(xiàn),應(yīng)該注意什么
- View的生命周期—如果activity被重建,那么view的生命周期怎樣變化
- activity橫豎屏切換,對(duì)應(yīng)的view的生命周期
- activity橫豎屏切換,activity的生命周期
- activity橫豎屏切換,activity一定會(huì)調(diào)用onDestory方法么?
- 通過在清單文件中進(jìn)行設(shè)置不讓他進(jìn)行橫豎屏切換的話,activity是如何知道進(jìn)行了橫豎屏切換
- 有什么想問我的?
9月4號(hào) 二面
- lambda編程知道么?
- afinal框架?呵呵噠
- volley中對(duì)cookie的處理?呵呵噠
- GC回收算法
- http報(bào)文 cookie
- GC roots有哪些
- GC roots 遍歷遞歸
- 同步,異步函數(shù)函數(shù)修飾符修飾符?future
- 做8月1號(hào)題目:任務(wù)調(diào)度器
面試體驗(yàn):
拼多多一面遠(yuǎn)程電話面試,基本上都是基礎(chǔ)中的基礎(chǔ),沒有什么壓力。所以很簡(jiǎn)單的進(jìn)入了提前批武漢現(xiàn)場(chǎng)技術(shù)終面。技術(shù)終面那天先面試的HR,HR很nice。對(duì)于技術(shù)終面面試官來說,面試體驗(yàn)到巨差:據(jù)說是數(shù)據(jù)挖掘和客戶端的leader,然后我面試客戶端方向,我做自我介紹的時(shí)候說道14年實(shí)習(xí)的項(xiàng)目,然后他問我14年用的框架源碼?14年的框架早就淘汰了好么?我說我可以講下現(xiàn)在我項(xiàng)目中的網(wǎng)絡(luò)庫volley的實(shí)現(xiàn)機(jī)制,然后他沒搭理我,問我volley這個(gè)庫他是如何處理cookie的?我勒個(gè)去,有沒有搞錯(cuò)?volley沒有對(duì)cookie進(jìn)行過處理好吧?源碼都看過做過解析的,然后他不信。。之后拿出我8月一的題目讓我做,任務(wù)調(diào)度的那個(gè)題目,一共是三問,面試官問我有沒有問題,我在他的提醒下改了前兩個(gè)題目,第三個(gè)題目還沒有改就說今天到這結(jié)束了,好吧,那就結(jié)束吧,我也想結(jié)束。。
網(wǎng)易
8月28日
網(wǎng)易一面:40分鐘
自我介紹……
1 項(xiàng)目挨個(gè)問了下(準(zhǔn)備充分,無壓力)
2. volley框架說下
3. 手寫一個(gè)生產(chǎn)者消費(fèi)者
4.手寫fragment生命周期和activity生命周期,并把生命周期一一對(duì)應(yīng)上。
5. 熱修復(fù)說下,幾種方式?各自原理?
6. 插件化了解么?說下,基本原理知道么?
7 混合開發(fā)了解么?
8.A應(yīng)用如何打開B應(yīng)用的界面?
9. 安卓性能優(yōu)化有哪些?
10.recycleView說下
11. activity與fragment交互,如何互傳數(shù)據(jù)
12. binder說下
13 activityManagerService知道么?說下
- android中的廣播說下,粘性廣播知道么
網(wǎng)易二面:基本沒問項(xiàng)目,完全面試官自由發(fā)揮。40分鐘
無自我介紹,直接開懟。
- popupwindow中是否可以再創(chuàng)建popupwindow?為什么?
- dialog中是否可以創(chuàng)建子window?為什么?
- dialog創(chuàng)建為什么傳入activity的context而不是applicationContext ?
- fragement和activity交互方式
- fragment可不可以在構(gòu)造函數(shù)傳遞參數(shù)?使用setArgument的原理?
- 兩個(gè)應(yīng)用程序A和B,A要用B的登錄信息,怎么做?
- contentprovider是如何保證操作數(shù)據(jù)庫原子性?
- 加載進(jìn)來的class類是否可以動(dòng)態(tài)修改?
- 熱修復(fù)原理有哪些?說下
- binder是在jni層怎樣實(shí)現(xiàn)的(一次拷貝)?
- client使用serviceManager可以找到對(duì)應(yīng)的service,那么自己寫的service的話,client是怎樣找到的這個(gè)service?
- 安卓性能優(yōu)化你知道有哪些?
- 一個(gè)后臺(tái)任務(wù)棧,從上到下 A B C三個(gè)activity,內(nèi)存不足回收。那么從后臺(tái)到前臺(tái)打開是哪個(gè)界面?為什么,原理?
- 子線程是否可以更新UI?那為什么安卓要求不能在子線程更新UI?
結(jié)束,幾分鐘以后問hr小姐姐:很遺憾……
面試體驗(yàn):
一面面試官很nice,基本上問的問題也都答上來了。也樂于聽你說的話。二面面試官上來沒讓自我介紹,拿一個(gè)筆開始劃你的簡(jiǎn)歷,但是基本上也沒有問過簡(jiǎn)歷上的項(xiàng)目。問的問題有些很刁鉆也很深入。如果在開發(fā)過程中沒有真的去搞懂一些api的話,會(huì)很吃虧。感覺面試官技術(shù)有深度,對(duì)于一些項(xiàng)目api中的細(xì)節(jié)有比較深的認(rèn)識(shí)。有些自負(fù),問問題都聲音小的很。最后都不讓問問題。很nb的樣子
鏈家
9月16日 鏈家
1面 40分鐘
- 自我介紹
- android進(jìn)程間通訊機(jī)制
- binder詳細(xì)講解
- 性能優(yōu)化—-日常開發(fā)方向
- 啟動(dòng)優(yōu)化—虛擬機(jī)android5.0之前,android5.0之后、
- 另類優(yōu)化:插件化
- 插件化注意要點(diǎn)
- 手寫代碼:View類的遍歷打印子view
- java中同步鎖有幾種
- 單例模式有幾種,寫其中一種
- 對(duì)稱加密和非對(duì)稱加密
- https
- 代碼執(zhí)行過程(編輯-編譯—鏈接—運(yùn)行)
- 從java角度來分析上述過程
- 動(dòng)態(tài)鏈接和靜態(tài)鏈接的區(qū)別
- 物理地址和虛擬地址的區(qū)別
2面 30分鐘
- 現(xiàn)在有一個(gè)不穩(wěn)定的網(wǎng)絡(luò),需要傳輸數(shù)據(jù),如果保證數(shù)據(jù)包的準(zhǔn)確性?
- 先講下TCP是如何做的
- 讓自己去實(shí)現(xiàn)的話,你會(huì)去怎么做?
- 超時(shí)重傳缺點(diǎn)有哪些?(效率低下,重復(fù)收包,去重)
- http的請(qǐng)求報(bào)文結(jié)構(gòu),響應(yīng)報(bào)文結(jié)構(gòu)
- 現(xiàn)在有一個(gè)服務(wù)器已經(jīng)啟動(dòng),然后在客戶端這邊不使用http協(xié)議,僅能使用運(yùn)輸層以及之下的網(wǎng)絡(luò)協(xié)議的情況下,寫代碼模擬一個(gè)類似http協(xié)議連接的過程以確保與服務(wù)器能ping通(核心:http請(qǐng)求頭)
3 面 HR 15分鐘
- 自我介紹
- 了解安裝過鏈家的app么?
- 你看下ios版本的鏈家app,說出你的看法
- 能否來實(shí)習(xí)
- ……
面試體驗(yàn):
鏈家一面是一個(gè)超級(jí)超級(jí)漂亮的美眉有些像賈靜雯。我一開始以為是hr,,,哈哈,后來上來第一個(gè)問題是問我進(jìn)程間通訊機(jī)制,其實(shí)當(dāng)時(shí)我腦子里想的是hr問的一些問題,有點(diǎn)腦子轉(zhuǎn)不過來。二面是一個(gè)不是搞android的面試官,人挺好,問了些網(wǎng)絡(luò)的事情,我的知識(shí)點(diǎn)都知道,但是一直沒怎么能get到他的點(diǎn)子上..三面hr是一個(gè)男的,恩,第一次遇到男HR,聊得還好總體來說,鏈家面試流程和面試官都很nice
百度-測(cè)試開發(fā)
9月19 上午11點(diǎn) 百度測(cè)試開發(fā)一面 1小時(shí)
1. 自我介紹
2. 講一個(gè)你最熟悉的項(xiàng)目。
3. 畫一下你的項(xiàng)目流程圖
4. 代碼實(shí)現(xiàn):給兩個(gè)鏈表,找到兩個(gè)鏈表的最長(zhǎng)公共子串,輸出子串和子串長(zhǎng)度。
5. 針對(duì)你項(xiàng)目中的要素如果你去做測(cè)試的話,你怎么去做
6. 測(cè)試你了解些什么
7. 你在項(xiàng)目中都做了些什么測(cè)試?
8. 如果你去做你項(xiàng)目的測(cè)試,你會(huì)怎樣做
9.你有什么想問的
下午2點(diǎn) 百度測(cè)開 二面 1小時(shí)
1.自我介紹
2. 手撕代碼:給一個(gè)單鏈表,要求隨機(jī)輸出一個(gè)節(jié)點(diǎn)。要求時(shí)間復(fù)雜度和空間復(fù)雜度足夠低。
3. 對(duì)上面更高的要求:只允許遍歷一次。而且要保證各個(gè)節(jié)點(diǎn)被選中的概率相同
4. 講一個(gè)你最熟悉的項(xiàng)目
5. 用你知道的知識(shí)如果做測(cè)試的話,你會(huì)考慮些什么
6. 對(duì)你項(xiàng)目中的幾個(gè)要點(diǎn),如果做自動(dòng)化測(cè)試針對(duì)每個(gè)要點(diǎn)你該如何去做?
7. 如果你的app藍(lán)牙數(shù)據(jù)顯示異常,你會(huì)從什么角度考慮?盡可能全面。
8. 你有什么想問的
下午4點(diǎn) 百度測(cè)開 三面 1小時(shí)
1. 自我介紹
2. 說一下你印象最深的項(xiàng)目
3. 你使用的這種BLE藍(lán)牙有什么好處
4. 一個(gè)3升水的桶,一個(gè)5升的,如何找到4升的水
5.一個(gè)礦泉水瓶,你感覺她有什么用處。
6 .你如何評(píng)價(jià)你本科還有研究生的學(xué)習(xí)生活
7. 你感覺研究生生活的話,你的亮點(diǎn)在哪里
8. 你對(duì)你的自我評(píng)價(jià)說下
9. 現(xiàn)在有幾個(gè)offer,你會(huì)選擇哪一個(gè)?為什么?
10.你有什么想問的。
面試體驗(yàn):
面試官都比較nice,很會(huì)引導(dǎo)人。問題有深度,會(huì)挖掘你的測(cè)試意識(shí)和潛力。就是面試過程有點(diǎn)折騰。。我一面面完了之后從酒店出來坐車回學(xué)校,結(jié)果馬上就要到學(xué)校了,電話通知我馬上回去二面,,無奈。右打的趕過去,結(jié)果規(guī)定的時(shí)間面試我到了,但是面試官房間里面已經(jīng)有了一個(gè)面試是神馬情況?仔細(xì)一聽原來是霸面的,,好吧。。等了20分鐘開始我的二面。二面結(jié)束,面試官說可以走了。我就離開酒店坐上了地鐵,然后地鐵剛開的那一刻收到了二面面試官電話,讓我回去接著三面,,得令,,又到了下一站坐回來進(jìn)行三面。。
美團(tuán)點(diǎn)評(píng)
9月20號(hào) 美團(tuán)點(diǎn)評(píng) 1面 40分鐘
- 自我介紹
- 手寫代碼:View樹遍歷(有viewGroup和view,打印所有的view還有他們對(duì)應(yīng)的層級(jí))
- 在列表里,如何實(shí)現(xiàn)多種不同的布局?有哪些方法
- java語言中的現(xiàn)在的一些新特性你知道有哪些
- java反射和注解你知道么?講下
- EventBus的原理說下
- 現(xiàn)在有一個(gè)書簽,書簽有三種類型,現(xiàn)在你需要提供一個(gè)功能類,針對(duì)于不同的需求進(jìn)行不同的書簽選擇,你會(huì)如何去實(shí)現(xiàn)?
- 網(wǎng)盤中有 10 個(gè)文件,現(xiàn)在用戶可以任意拖動(dòng)這些文件,改變它們的排序,怎么設(shè)計(jì)上傳的接口,使用什么樣的數(shù)據(jù)結(jié)構(gòu)進(jìn)行存儲(chǔ)
- 你在開發(fā)中使用的是哪種結(jié)構(gòu)框架?有幾種結(jié)構(gòu)框架,介紹下
- 平常是如何學(xué)習(xí)的?
- 你有什么想問的么?
2面 40分鐘
- 自我介紹
- 你認(rèn)為什么樣的代碼是最好的?你會(huì)注意些什么?
- 手寫代碼
判斷一個(gè)字符串是否為一個(gè)合格的密碼,一個(gè)合格的密碼需要滿足如下條件:
1. 長(zhǎng)度必須大于 6;
2. 首字母必須為大寫字母
3. 只能包含 'a ~ z' 或 'A ~ Z' 或 '_'或'0~9'
4. 至少有兩種不同類型的字符
- github賬號(hào)有么?
- 使用什么編譯器進(jìn)行開發(fā)?gradle了解么?關(guān)于他的配置文件你簡(jiǎn)單介紹下
- 設(shè)計(jì)模式你在日常開發(fā)過程中用到過什么?有沒有特別印象深刻的設(shè)計(jì)模式
- 手寫代碼:有一個(gè)類似于exel的列命名規(guī)則的字符串,現(xiàn)在給你這樣的一個(gè)字符串,需要你給出這個(gè)串后面的串是什么?
- 你看過哪些源碼?你在里面學(xué)到了什么?
- 當(dāng)時(shí)為什么選擇volley這個(gè)http庫?
- 你在項(xiàng)目中開發(fā)的話,有什么很難解決的bug嗎?你是怎樣解決的
- 平時(shí)你是怎么學(xué)習(xí)的?
- 你有什么想問我的?
3面 40分鐘
- 自我介紹
- 你所在的實(shí)驗(yàn)室叫什么名字?
- 你在實(shí)驗(yàn)室的話,沒有讓你出去實(shí)習(xí),那么平時(shí)你是怎樣學(xué)習(xí)進(jìn)步的
- 你們現(xiàn)在研究生畢業(yè)不考慮到高校任職?現(xiàn)在一流大學(xué)去當(dāng)老師都是什么要求
- 本科和研究生對(duì)比的話,你感覺你的成長(zhǎng)或者感悟在哪里
- 本科同學(xué)的畢業(yè)去向
- 玩游戲么?王者榮耀什么級(jí)別?現(xiàn)在不玩了等級(jí)不下降?
- 現(xiàn)在有幾家offer
- 百度的測(cè)開崗位你有什么看法,你對(duì)這個(gè)崗位滿意么
- concurrent包下的一些類有了解么?
- 畫一下concurrentHashMap的結(jié)構(gòu)和hashMap的結(jié)構(gòu)
- 對(duì)于concurrentHashMap來說的話,同時(shí)兩個(gè)線程的put操作會(huì)有什么影響?
- 對(duì)于concurrentHashMap來說的話,同時(shí)兩個(gè)線程的put和get操作會(huì)有什么影響?
- 你在項(xiàng)目中用過這些類么?為什么知道他們?
- 讀寫鎖你知道么?說下
- 你有什么想問我的
4面 HR 30分鐘
- 自我介紹
- …..
面試體驗(yàn):
問的一些問題還是挺開放的,注重你的思路。一些題目還是有些深度。但是大部分還是可以輕松搞定。本來因?yàn)橐恍┰蛲砣チ嗣嬖?,但是還有面試機(jī)會(huì),謝謝幫助過我的那個(gè)萌妹紙~~
一下午一口氣面到三面,爽快三面經(jīng)理面也是一個(gè)爽快人哈哈,要不是太晚了就直接面試hr了,無奈,只能第二天面試hr了。。最后走的時(shí)候三個(gè)面試官和我說再見,挺溫馨~
騰訊
9月21號(hào) 騰訊一面 30分鐘
- 自我介紹
- 你的工作經(jīng)歷太適合我們這個(gè)崗位,你還是想從事android開發(fā)么?——(應(yīng)屆生無所謂,知識(shí)面要廣,需要多接觸東西,不抗拒新技術(shù),新方向)
- 我們是做前端游戲的,如果你要是還是堅(jiān)持android開發(fā),我可以考慮給你換面試官,問我的看法-(我還是想嘗試下目前這個(gè)崗位,如果感覺我合適的話,我希望接著進(jìn)行面試,如果感覺不可以,那就麻煩給我換崗吧)
- 你做java多長(zhǎng)時(shí)間了,學(xué)習(xí)android開發(fā)多長(zhǎng)時(shí)間了?
- 一個(gè)應(yīng)用程序,你在開發(fā)的過程中會(huì)怎樣去實(shí)現(xiàn)代碼架構(gòu)和項(xiàng)目結(jié)構(gòu)上的安排?
- 你平時(shí)是怎樣學(xué)習(xí)android的?
- 技術(shù)方面看過一些什么書籍呢?
- 你感覺做程序開發(fā),以你的經(jīng)驗(yàn)看來,你認(rèn)為開發(fā)過程中有什么感悟或者認(rèn)知?
- 學(xué)習(xí)過其他語言么?—(沒有,但是我對(duì)我的學(xué)習(xí)能力是有信心的。語言只是一種工具,我不認(rèn)為他是我的一種負(fù)擔(dān))
- 你的代碼編寫風(fēng)格是怎樣的?
- 用過什么設(shè)計(jì)模式?
- 你說的這些設(shè)計(jì)模式中,就單例模式而言,你感覺他為什么會(huì)有這樣的設(shè)計(jì)模式?有什么優(yōu)點(diǎn)和缺點(diǎn)?
- builder設(shè)計(jì)模式你感覺他解決了什么問題?
- 你如何看待你的職業(yè)規(guī)劃
- 你有什么想問我的么?
- 面試官怎樣看待非對(duì)口方向的應(yīng)屆生求職?
- 假如入職之后,公司是否會(huì)給安排業(yè)務(wù)上的老員工進(jìn)行幫扶?
- 面試官對(duì)我的評(píng)價(jià)?
9月23號(hào) 騰訊二面 25分鐘
- 自我介紹
- 做android多長(zhǎng)時(shí)間了?
- 你對(duì)android平時(shí)的學(xué)習(xí)是怎樣進(jìn)行的
- 你項(xiàng)目中的某某點(diǎn)用的是什么技術(shù)
- 你們導(dǎo)師下面有多少學(xué)生?
- 平時(shí)你學(xué)習(xí)的話都看些什么書
- 你入職之后有什么學(xué)習(xí)計(jì)劃?
- 你有什么優(yōu)缺點(diǎn)?
- 你感覺你和其他同學(xué)們比起來你有什么優(yōu)勢(shì)?有什么缺點(diǎn)?
- 你有什么想問的么?
面試體驗(yàn):
好吧,聊天到了二面,確實(shí)是該掛人的時(shí)候了,該說再見了。應(yīng)該是招夠人了,所以走走過場(chǎng)。恩,還不錯(cuò)吧,至少?zèng)]有遇到過其他同學(xué)面試官上來懟人的情況。面試官還是挺好的,面試體驗(yàn)蠻好再見騰訊
百度外賣
百度外賣 9月20號(hào) 一面 40分鐘
- 自我介紹
- 手寫二分查找
- 數(shù)據(jù)庫的事務(wù)屬性
- 數(shù)據(jù)庫的事務(wù)隔離級(jí)別
- 數(shù)據(jù)庫事務(wù)的隔離級(jí)別不同會(huì)導(dǎo)致什么問題
- 現(xiàn)在設(shè)計(jì)一個(gè)搶紅包的功能,如何保證多用戶下的錢數(shù)的準(zhǔn)確發(fā)放(手寫代碼:消費(fèi)者模型)
- 紅包錢數(shù)是從數(shù)據(jù)庫中獲取的,那么有好多紅包,你如何來保證數(shù)據(jù)庫的并發(fā)性能?(我是做android的,你逗我?表示不會(huì))
- 手寫二叉樹深度遍歷算法(深度?我寫了一個(gè)前序)
- 給你一個(gè)函數(shù),這個(gè)函數(shù)是能得出1-5之間的隨機(jī)數(shù)的,概率相同。現(xiàn)在求1-7之間隨機(jī)函數(shù),你如何做
- 有什么想問我的?
9月23號(hào) 二面 30分鐘
- 自我介紹
- activity生命周期(正常和異常情況下)
- 講一下你知道的service
- handler消息機(jī)制
- android數(shù)據(jù)存儲(chǔ)有幾種方式,并分別介紹
- 內(nèi)存泄露如何解決和檢測(cè)
- 數(shù)據(jù)庫鎖知道么?(又想往java后臺(tái)方面搞...)
- 給一個(gè)數(shù)組,求數(shù)組的字串的最大值
9月23號(hào) 三面 40分鐘
- 自我介紹
- android應(yīng)用用著很卡,你分析下原因(啟動(dòng)和運(yùn)行時(shí),分開去說)
- 說下你知道的android性能優(yōu)化方法
- android發(fā)生了ANR,如何避免和預(yù)防
- 內(nèi)存泄露有哪些?問題如何解決的
- 手寫代碼:?jiǎn)捂湵矸D(zhuǎn)
- 手寫代碼:二叉樹層次遍歷
- 手寫代碼:?jiǎn)卫J紻CL
- DCL單例模式中為什么instance要使用volatile
- 你平時(shí)是如何學(xué)習(xí)的,android新技術(shù)你知道些什么
- 你有什么想問的
面試體驗(yàn):
百度外賣在武漢地區(qū)面試,沒有碰到android客戶端的面試官,都是java面試官客串的(至少我三次面都不是做android的,題目都是從電腦題庫中抽出來的,沒有什么深度)。不過面試官都很nice~
滴滴
9月13號(hào) 滴滴一面 1小時(shí)(愉快的氛圍中GG)
- 設(shè)計(jì)模式說幾種
- int和Integer區(qū)別
- int類型范圍推導(dǎo)
- synchronized的原理
- synchronized場(chǎng)景題目(修飾非靜態(tài)方法,修飾靜態(tài)方法,修飾變量)
- static的你對(duì)他知道的所有東西說下(JVM類加載,子類父類調(diào)用順序,靜態(tài)變量,靜態(tài)方法,靜態(tài)內(nèi)部類,靜態(tài)代碼塊和非靜態(tài)代碼塊)
- 為什么非靜態(tài)內(nèi)部類有時(shí)候會(huì)造成內(nèi)存泄露?
- 子類繼承父類,父類中有static類型的方法,子類實(shí)現(xiàn)同樣的方法可不可以(加上static,不加上static)
- 計(jì)算兩個(gè)double數(shù)字的差值,你有什么想法,寫出方法代碼出來。
- SQL語句,,,各種SQL語句。。。恩,好吧,android表示很少用到sql...然后很差,,
- ANR你知道有什么
- 插件化容器化
之后開始聊天,聊人生,,,面試官人挺好,說一開始做后臺(tái),后來做ios,現(xiàn)在接觸android幾個(gè)月。恩,好吧,果然這么多sql語句不是憑空出來的,哈哈....就掛在了sql上,和滴滴說再見…
搜狐
9月8號(hào) 搜狐 40分鐘
- 面試官很Nice,讓我坐下,然后看我簡(jiǎn)歷,期間讓我做自我介紹
- 完了之后問我哪個(gè)項(xiàng)目印象最深
- 我和他說了下自己完全做的項(xiàng)目中的BLE藍(lán)牙連接,說了下過程
- 問我傳統(tǒng)的藍(lán)牙連接和BLE藍(lán)牙連接有什么不一樣的地方,我說了下使用方式上的不同,他說更底層的呢?藍(lán)牙協(xié)議知道么?答:不知道。我和他說了下之前用的傳統(tǒng)的藍(lán)牙,頻率高了耗電特別快。用了BLE的好多了... 我說那就是藍(lán)牙模塊的設(shè)計(jì)問題了,涉及到線路板的c或者c++編程燒板子的過程。他說好吧…
- activity的啟動(dòng)方式的場(chǎng)景問題,很easy
- listView和RecycleView有什么不一樣的?很詳細(xì)的說了下,easy...
- gridView的父類是誰?我答不清楚,我說我感覺應(yīng)該直接父類是view,根父類是Object
- http請(qǐng)求過程說下,我從域名解析說到tcp握手,包括流量控制,擁塞控制 easy..
- https為什么是安全的?easy..對(duì)稱加密和非對(duì)稱加密
- http有幾個(gè)方法?post、get、head、delete...等等 easy
- http的請(qǐng)求報(bào)文段結(jié)構(gòu),每部分做什么用的 easy
- http狀態(tài)碼 301 302 304 303 504 easy
- 發(fā)送一個(gè)20M的圖片,你怎么做? 這個(gè)答得不好…只說了文件轉(zhuǎn)變?yōu)樽止?jié)流用post傳輸..
- 說下post和get區(qū)別 easy
- 處理圖片的方式說下 easy 三級(jí)緩存 ,內(nèi)存LRUCache的實(shí)現(xiàn)原理等等...easy
- 使用線程池加載很多圖片,你會(huì)怎么做,并寫出完整代碼。恩,這個(gè)問題,思路很詳細(xì)的說了下,他認(rèn)可,然后讓我寫代碼實(shí)現(xiàn),哎,最近一直在刷算法,之前看過的asyncTask有些忘記了。只寫到一半,直接和面試官說搞不定了。
- 算法:給你一個(gè)數(shù)組,找到這個(gè)數(shù)組出現(xiàn)次數(shù)最多的那個(gè)值出現(xiàn)的次數(shù)。我問他給不給輔助空間,他說你隨便,完整寫下來就好。好吧,我就用了hashMap完成了。時(shí)間復(fù)雜度O(n),空間復(fù)雜度O(n)。問我能不能改進(jìn),我說如果還讓我用點(diǎn)輔助空間的話,給我一個(gè)256的數(shù)組就好,他讓我說思路?(恩?難道面試官刷題還沒我刷的6?哈哈),說了下,他認(rèn)可。。之后我還等著問還有沒有更優(yōu)化的,結(jié)果他說好就這樣吧,還有沒有問我的?
- 從面試官的角度來說,感覺我技術(shù)方面有什么欠缺? 他說你項(xiàng)目掌握的還不夠深入,原理的東西搞明白(是說藍(lán)牙底層協(xié)議?,,,哎,好吧,認(rèn)了…);然后說了句你面經(jīng)刷的可以…我無言以對(duì)....
最后
給大家分享一份移動(dòng)架構(gòu)大綱,包含了移動(dòng)架構(gòu)師需要掌握的所有的技術(shù)體系,大家可以對(duì)比一下自己不足或者欠缺的地方有方向的去學(xué)習(xí)提升;
需要高清架構(gòu)圖以及圖中視頻資料和文章項(xiàng)目源碼的可以加入我的技術(shù)交流群:825106898私聊群主小姐姐免費(fèi)獲取

