阿里菜鳥
一面
自我介紹(處女面,跑上樓時候已經氣喘吁吁,甚至都不知道如何自我介紹,介紹了一分鐘我尬場了)
RxJava、EventBus底層原理(一定程度是自己挖坑用過這些,然後讓我跳的)
如何自我實現一個網路請求框架
用過React Native沒。(自己用過Ionic,但是面試官沒聽過,Ionic在2015年相對較火)
平時如何自我學習,2017 Google I/O大會討論內容有哪些
MVP框架,如何用,怎麼用。怎麼解耦。跟MVC的差別
二面(莫名其妙的交叉面):
直接省略了自我介紹,問專業方向(GIS),問如何處理地理圍欄
如何省電又能實時跟伺服器端互動(我說的是AlarmManager+Service),一直傳輸位置資訊給伺服器。用了什麼協議
由上面的扯到OkHttp底層原理
Http2.0與1.1有啥區別(由這裡開始就炸了,完全沒複習計算機網路,尤其還是偏背誦的知識的) 5. 有哪些二進位制傳輸協議
那時候剛開始找工作,完全不知道複習知識點,好多都是迷迷糊糊知道,說就說不出來了。
拼多多(現場面。筆試4過3 )
一面(面試官都不太瞭解JAVA,我沒看懂拼多多套路):
把筆試的題拿出來,問程式碼思路邏輯,比如為什麼用TreeMap不用HashMap
如何對APP進行記憶體優化
專案的併發度多大,如何處理crash後的資訊回傳
計算機網路相關
二面
聊了下涉及到OpenGL的專案。以及OpenGL3.0與2.0的差別。
手撕程式碼:多叉樹的後續遍歷
其實感覺越是像拼多多這種有點無厘頭的面試,雖然面試過程輕鬆,但是結果往往也都別在意。不是學霸批,HR說現在說最早校招時候出結果,估計就是沒結果.(最近幾天發來訊息說offer通過了,手動捂臉)
網易
剛回家5天,一條簡訊就從西安飛了回來,關鍵單程路費還不能報銷,8.21號面試的,然後後面還有7天假期就癱瘓在了寢室,暑假算毀了還好有個offer安慰下一面(明顯大佬級別):
你搞android應該也很瞭解Java的多執行緒吧,講講通過Handler為什麼能夠更新UI。(一開始我以為是談談Handler的原理,講了一通,面試官對我說你講的我都知道,然後一步步誘導,終於我說到了ThreadLocal,然後他說對。之後就稍微扯了下ThreadLocal)
根據簡歷,問自己要實現一個地圖容器的話怎麼實現。然後一步一步延伸下去聊到了View與SurfaceView
JNI/NDK開發如何使用,如何定義java檔案與cpp檔案中的方法(主要看是不是真的用過吧)
四種啟動模式,用過哪些,出過什麼問題。(包括聊到了onSaveInstanceState跟onRestoreInstanceState的場景與時機,然後在一個點跟面試官看法不同,我說我除錯時候遇到過相關問題,面試官讓我回去再確認下)
如何處理記憶體洩漏。也提到了簡歷中20000*20000大小的圖片如何載入的
socket與Http區別,socket長連線斷開了怎麼辦
在socket傳輸檔案中連結斷開了,怎麼繼續傳輸檔案。引申到了如何斷點續傳
涉及到自己專案中用到的優化方案與策略,尤其針對圖片的
看到用過GreenDao,問有沒有在一個事務中提交兩種不同的操作。(覺得應該是說一個事務中,比如更新一張表中的一個Person記錄,新增一條Dog記錄)
MVP框架,混合開發相關面試官對我的總體評價:用過的開源庫不少,為什麼不自己寫呢(哎,尷尬)。問了能不能實習,然後留了簡歷做了個記錄就下面一輪面試了
二面(是個帥小夥,我當時以為自己一面跟二面順序反了):
自我介紹
Handler機制
如何自己實現執行緒池。執行緒池內的佇列如何管理。執行緒池大小N的話,連續push進來M個的任務(M>>N),如何處理,比如20大小的執行緒池扔進來10000個任務
個人方向偏移動GIS,跟地圖打交道比較多,談到了遙感影像(也就是稍微大點的圖片啦)快取置換、回收策略。面試官讓詳細講了一遍,涉及到 的點是LRU跟Java的幾種引用,一些資料結構。問記憶體快取怎麼做的,K-V對設定,提到了類似Picasso中,需要本地處理旋轉,但是URL一樣的 時候,K值的設定方式
OkHttp底層原理,TCP的三次握手四次揮手全流程(畫了每次握手揮手時候的報文內容與控制位設定)
還看過哪些原始碼(我說看過EventBus,貌似面試官也不想問了,笑眯眯的說你去等HR面吧)
大家可以點選加入群:478052716【JAVA高階程式設計師】裡面有Java高階大牛直播講解知識點 走的就是高階路線 (如果你想跳槽換工作 但是技術又不夠 或者工作上遇到了瓶頸 我這裡有一個JAVA的免費直播課程 講的是高階的知識點基礎不好的勿入喲 只要你有1-5年的開發經驗可以加群找我要課堂連結 注意:是免費的 沒有開發經驗勿入哦)