
都說今年的形勢不好,各種找作業不順利,但我身邊就有一位同學,每次面試都拿到offer,我特意邀請他來給大家分享下經驗,雖然不同人的技術領域未必相同,但很多東西是相通的,希望本文能對大家有所幫助,
下面是正文,
前言
8月份陸陸續續出去面試了一下,看一下自己的價值和當前的行情,總體來說,還是挺滿意的,面試了幾家知名工廠,且都拿到了offer,分別是小米、美團外賣、陌陌、快手,
簡歷怎么寫
一份好的簡歷往往事半功倍,筆者平均一年一跳的作業經歷,看起來是非常糟糕的,那為什么還能有很多的面試邀約呢?Boss直聘上往往有很多RD在要簡歷,他們往往是用人部門的leader,因此,突出的職業技能以及過往一年所做的作業尤為重要,下面是我的技能清單,
熟悉面向物件編程,熟悉Java、kotlin等開發語言,對并發、JVM等有一定的了解
熟悉Android開發,了解Android版本差異
熟悉自定義View、影片等技巧,熟悉訊息、事件分發等機制
熟悉Android性能優化,能夠合理利用工具處理作業中遇到的性能問題
熟悉NDK編程、熟悉JNI
熟悉常用的開源框架并了解其內部實作原理
熟悉Javaassit、ASM、AspectJ等位元組碼修改技術
熟悉Java層Hook,Native層Hook,能夠合理利用并解決實際問題
熟悉gradle,能夠根據需求撰寫出各種gradle插件
對Android插件化、熱修復等有比較深入的研究
熟悉常用設計模式,并能去設計出良好的代碼
對TCP/IP、Http、Https等有一定的了解
了解Android FrameWork及其部分流程與實作原理
對Android逆向有一定的了解,有一定的脫殼能力
有一定的架構能力和極強的解決問題的能力
再加上筆者在過去的一年,一直在做基礎架構相關的作業,因此,簡歷方面會有不錯的吸引力,
面試前的準備
工欲善其事必先利其器,要想拿到滿意的offer,必須有一定的準備,以下列出來的東西是筆者認為應該準備的東西(雖然8月面試只準備了演算法),
簡歷中提到的,一定要有準備,別給自己挖坑
Java準備,Java基礎,有的公司會扣的很細,Java資料結構相關的類、JUC、Java的語言設計、
JVM 推薦看一下深入理解Java虛擬機這本書
網路部分,推薦看一下圖解TCP/IP,圖解HTTP這兩本書,如果覺得不滿足,也可以看一些其他的,如詳解TCP/IP卷
Android Framework,推薦看gityuan的博客,并且自己看一下代碼
第三方開源庫,這個筆者保持這一直讀代碼的習慣,因此不會刻意準備
演算法,推薦看一下劍指offer,leetcode隨便刷一些題即可,不會太難
自己搜集的演算法題
平常搜集的一些有質量的面試經驗
相信每個人都有自己復習的方法,這里就不多說了,
面試程序
好的面試官會去發現候選人的優點,他們會根據你簡歷寫的東西進行提問,因為,把簡歷上寫的搞的明明白白,即可,在面試程序中,不要緊張,要突出自己的特點,有意的向自己擅長的方向引導,態度要好,要自信,如果遇到自己不會的,盡量別說自己不會,稍微思考一下,突出自己解決問題的能力,
接下來就是一些面試題,
面試題
需要下列面試題答案和集錦私信我<面試>即可
小米公司
電面-20分鐘
簡單的溝通自己的作業經歷
聊聊過去一年做的事情
基本上以簡歷上的為主
一面-40分鐘
介紹之前的作業內容
如何統計行程的啟動時間,行程啟動的程序,activity啟動的程序
jvm gc
jvm 堆和堆疊的區別,堆疊上分配
四種參考的區別
性能優化
handler
binder
演算法題,最大回文字串,有getmin功能的堆疊,時間復雜度o1,兩數相加
二面-40分鐘
自我介紹
插件化
binder,經過幾次記憶體拷貝,從哪里到哪里,
okhttp
跨行程eventbus
設計模式6大原則,常用的
activity a到b的生命周期變化,view是什么時候顯示的
事件分發機制
pms activityrecord
看原始碼的動力
jni,jnienv作用,jni執行緒切換
性能優化,fd limit
演算法題,隨機列印k個數
三面-60分鐘左右
說下對Android的了解
事件分發機制 給了個場景 討論了半天
mvp優缺點,mvvm
相冊搜索,設計,討論了半天
介紹了下他們的業務
職業規劃
美團外賣
面試問的很多問題忘記,一面面試官重技術,廣度+深度+基礎都要有,
jvm記憶體磁區,那些是執行緒私有的
類加載機制
做的一些事情
泛型原理
一筆畫演算法
鏈表去重
滑動沖突的一個場景可以了,nestedscrollview
gradle插件相關
打包程序
tcp/ip協議分層
http請求包 回應包
https鏈接程序
做的東西 最有成求感的
asm aspectj等改位元組碼的方式
職業規劃
找什么樣的作業
為什么離職之類的
hybrid
陌陌
陌陌面試題沒記住多少,總體來說和其他并無太大差別,就是考察你做的事情是不是真實做過,價值怎么樣,
資料庫優化
網路優化
多路復用,自己用udp實作quic
反射優化
介紹下自己做的事情,
為什么離職之類的
apm
熱修復,tinker
快手
3面技術+1面hr
一面重java,二面重Android、專案和自身特點,
一面java
ArrayList LinkedList區別,場景,時間復雜度
寫一個單例,volatile的作用,為什么需要
volatile如何實作,記憶體屏障
如何讓GC不回收
HashMap的資料結構,擾動函式,擴容
并發、鎖、AQS、CAS之類的
執行緒池,執行緒池原理,種類,ForkJoin執行緒池,由于我是最近一段時間內唯一一個提到ForkJoin執行緒池的,所以比較加分,
演算法 - 翻轉鏈表
二面 根據自己的簡歷問
代理、靜態代理、動態代理、CGLIB
asm javaassit
java hook,native hook
網路協議,tcp三次握手,為什么三次,四次揮手,為什么四次,三次行不行
訊息佇列
演算法-按層列印二叉樹
三面
聊業務,聊規劃之類的
總結
總的來說,現在市場情況一般,招人寧缺毋濫,因此,很多公司喜歡技術能匹配到年限的候選人,在我看來,3年P6,5年P7是他們比較中意的,建議跳槽把握好這兩個時間點,
大家可以關注我每天都有優質文章分享
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/69526.html
標籤:其他
上一篇:體驗一下:AndroidX
