前言
這是一篇軟文、但是絕對不是雞湯;為啥不是呢?因為我文筆太差…偶爾矯情發發牢騷(勿噴)
說說程序猿行業
現在社會上給IT行業貼上了幾個標簽:高薪、高危、高大上、禿頂(哈哈)。這些標簽我相比大家都比較清楚,至于為什么是這些標簽呢?而且這些標簽是真實還是假象呢?
面試
一面
面試官:先介紹一下自己吧,做過哪些項目,掌握哪些技能
我內心:(簡歷都有寫的,你自己不會看么?只好照著簡歷里寫的說了一遍)
熟悉Android Framework,組件化開發及MVC/MVP/MVVM程序設計框架;熟悉UI/ NDK開發,掌握TCP/IP,HTTP網絡通信機制,有OkHttp使用包裝經驗,熟悉安卓圖形處理OpenGL ES機制,有Camera視頻開發經驗。熟悉國密加密解密算法,有通過OMA訪問手機SE,利用SIM卡進行加密解密的經驗;有在支持NFC手機上進行讀取NFC標簽及支付的經驗。有前端及后臺服務器的開發經驗,熟悉開發框架React,Vue,Spring Boot及Mysql數據庫。熟練掌握的語言有C++11, Java, Python, Kotlin等,能熟練使用Git,VS Code, Android Studio等工具和開發環境。
面試官:懂的還挺多(這時才低頭看我簡歷)工作經歷也挺多的,那說說做的最滿意的項目是哪個
我內心:(白眼)
描述了我北京一家公司的社交APP,介紹功能,實現,用到的技術,設計思想等等。
面試官:說一下項目中的性能優化怎么做的
我:首先是啟動優化,MultiDex 分包機制,dex分包預加載等等。穩定性–內存優化,流暢–卡頓優化等等,反正我整理的這份一線互聯網大廠高頻面試知識點資料里關于性能優化的全給他講了一遍。(文末會無償分享給大家)
面試官:(有點懵13了,沒想到我能講這么多)內存泄漏,還有哪些檢測工具?LeakCanary 的原理知道吧?
答:利用Application#registerActivityLifecycleCallbacks Activity生命周期回調onActivityDestroyed方法通過調用RefWatcher#wather方法來檢測對象是否回收,通過removeWeaklyReachableReferences—>gcTrigger.runGc—>removeWeaklyReachableReferences—>heapdumpListener.analyze 三步二次檢測來確定內存泄露,最終dump 內存信息來分析到最終顯示分析出的泄露信息。
面試官:有點東西啊,來說一說,在5.0以上和4.0加載dex時的方式有什么區別?
不知道
面試官:說說什么是同步屏障,在Android繪制的過程中,掉幀是如何處理的
Android繪制原理,同步屏障,然后發送VSync脈沖信號
面試官:OOM、ANR 異常怎么處理
EZ,我的博客里都有解析的,大家感興趣可以去我的主頁看一下,就不多說了。
面試官:okHttp的原理了解嗎?如何對它封裝的
答:重試攔截器、橋接攔截器、緩存攔截器、連接攔截器、請求服務攔截器(封裝)。每一個攔截器負責的工作不一樣,就好像工廠流水線,最終經過這五道工序,就完成了最終的產品。
GreenDao的實現原理
忘記了
Retrofifit實現原理
只記得,Retrofifit 是一個RESTful 的HTTP 網絡請求框架的封裝。
整個面試大概是有一個半小時,他就簡單問幾句,中間喝了幾次水,期間沒有人給我遞杯水問到后面我是有點不耐煩了的。
感想
幾天后收到了二面的通知,直接拒絕了。一面給我的感覺非常不好。讓我討厭的面試官有以下幾點
1、打斷別人說話
在回答他提出的問題,我說著說著,他就打斷:這個不是這樣的,應該是這樣的。或者沒等我把這個答案說完,就直接順出了下一個問題。
2、沒禮貌
擺著一副架子,好像是我求著要他給我通過面試一樣,一個半小時的面試,自己都要喝水,我一直在講,也沒有給我遞杯水。面試中途還接了幾次電話,把我晾在那里。
3、質疑別人的職業規劃,對我的職業規劃指手畫腳。覺得自己的才是對的
問我為什么離職,我說出了自己的原因,產品方向和公司發展以及個人的一些進階。然后他竟然懟過來說,一個做技術的在哪里不一樣,這方面的東西不應該是你考慮的,做好自己的工作就行了,呵呵,呵呵呵呵。。。我就笑一笑
后來又面了幾家公司都不是很滿意,最后朋友內推拿了小米數碼科技的offer。
感覺現在好多人都在說什么安卓快涼了,工作越來越難找了。又是說什么程序員中年危機啥的,為啥我這年近30的老農根本沒有這種感覺,反倒覺得那些販賣焦慮的都是瞎j8扯談。當然,職業危機意識確實是要有的,但根本沒到那種草木皆兵的地步好嗎?
Android涼了都是弱者的借口和說辭。雖然 Android 沒有前幾年火熱了,已經過去了會四大組件就能找到高薪職位的時代了。這只能說明 Android 中級以下的崗位飽和了,現在高級工程師還是比較缺少的,很多高級職位給的薪資真的特別高(錢多也不一定能找到合適的),所以努力讓自己成為高級工程師才是最重要的。
最后
跳槽季整理面試題已經成了我多年的習慣!在這里我和身邊一些朋友特意整理了一份快速進階為Android高級工程師的系統且全面的學習資料。涵蓋了Android初級——Android高級架構師進階必備的一些學習技能。
附上:我們之前因為秋招收集的二十套一二線互聯網公司Android面試真題(含BAT、小米、華為、美團、滴滴)和我自己整理Android復習筆記(包含Android基礎知識點、Android擴展知識點、Android源碼解析、設計模式匯總、Gradle知識點、常見算法題匯總。)
本文在開源項目:【GitHub 】中已收錄,里面包含不同方向的自學編程路線、面試題集合/面經、及系列技術文章等,資源持續更新中…
%AF%95%E6%8B%BF%E9%AB%98%E8%96%AA%EF%BC%81.md) 】中已收錄,里面包含不同方向的自學編程路線、面試題集合/面經、及系列技術文章等,資源持續更新中…**