背景
名牌高中,最后卻只是專科學歷,無背景,無人脈,在豬廠渾水摸魚了三年,做了三年的Android開發,每月拿著遠遠低于市場均價的工資混吃混喝,今天還被小組長當眾批評了,
回憶了一下這三年996的,又看著銀行卡上每月7.5K的進賬,我覺得這工資不要也罷!干脆離職吧!
但是我沒想到,這個新作業一找就是一年!

意氣用事?
因為離職的事情,我和女朋友分手了,當初我把自己離職的事情告訴女朋友的時候,她罵了我,說自己是眼瞎才會看上我這樣眼高手低的人,心比天高,命比紙薄,
我們相處了三年,沒想到她居然是這樣看我的,這個女朋友不要也罷,于是我們就這樣分手了,
在這里我要宣告一下,我這樣做并不是出于一時的沖動,都是有我自己的理由的,
老實說,我一直都不甘心在豬廠拿著這樣的工資,雖然公司命令禁止打探同事的薪資,我也一直遵守規定,但是別人要說,我還要刻意堵著耳朵嗎?也是從別人口中我才知道,原來我一個在公司任勞任怨干了三年的老員工,薪資居然還沒有一個新來的小本科實習生高(呵呵,指不定人家背后怎么嘲笑我呢)!
不可否認,學歷的確很重要,但是我認為技術能力和實際作業中的表現才是公司最該考慮的問題,
我真的不知道是不是自己的選擇錯了,感覺大廠的學歷歧視還挺重的,不明白自己當初為什么那么堅持大廠了,也不知道為什么堅持要來豬廠,

裸辭和我空窗的那一年
離職這件事,我不曾后悔,但是,讓我重來,我不會就那樣輕易的離職,后面一年的空窗期對我的性格的確有很大的影響,也可以說是一種成長吧,
我是突然辭的職,離開公司后我就開始投簡歷,大大小小的面試通知雖然沒有預料中的多,但是也有不少,
裸辭的一年里,我大大小小參加過兩百多場的面試,也算是另外一種意義上的面霸了,這些面試里有不少大廠,像騰訊、支付寶、淘寶、拼多多、OPPO、快手、抖音……幾乎市面上稍有名氣的大廠我都面過,除了豬廠,雖說大丈夫能屈能伸,但是也有句老話叫:好馬不吃回頭草,
也是這一年的面試經歷讓我對自己有了重新的認識,畢竟,再心高氣傲的人,被那些大廠輪著虐了一百多遍也會有所改變,
所幸,最后我被幸運女神眷顧,在朋友的內推下進入了阿里,雖然程序艱辛,但也算是揚眉吐氣了,
臨近春節,我知道不少人都有跳槽離職的想法,也有不少人在為此做準備,但是,在這里,作為一個有過一年空窗期的過來人,我還是有些話想對大家說
裸辭感想
前面我說過,我不后悔離職,因為再待下去的確不是一個好的選擇了,只有離職才是正確的,但是我前面也說過,我不會那么輕易的離開,因為,我還沒有做好面試的準備,沒有能力迎接新作業,
在這里,我建議大家在產生了離職的想法后千萬不要沖動,一定要做好準備,
(一)跳槽頻次不宜過高(對找作業有影響)
和HR打過交道的人都知道,面試的時候大家都會被問到一個問題:跳槽頻率,
一般來說,公司會對跳槽次數有一定的要求,尤其是大廠,這主要是因為頻繁的跳槽必定會導致沉淀偏少,因為到一個新的環境是需要時間沉淀的,
根據以往的經驗來看,5 年內 3 跳就是就比較難接受了,除非你有出眾的一面,或者是你的每一份作業都完成的很不錯,
不然,你越是跳槽,你的簡歷就越廢,簡歷資訊上面增加的公司就不再是代表著你的作業經驗豐富,而是你怯懦逃避,不負責任的黑點,
(二)不要裸辭
我記得我在空窗期也寫過關于自己裸辭的苦惱,這里就簡單的說一下,為什么一再強調“不要裸辭”的問題吧,
第一,要有足夠的心里承受能力,
做好接下來兩到三個月(甚至更久)找不到作業的準備,(我本人前一個月還好,后面就開始焦慮了)
在面試程序中,你會遇到各種各樣奇葩的面試狀況,還要面對來自親朋好友的各種“問候關心”,否定、挫敗、疲累、自我懷疑……這些負面的情緒都是一擁而上,
這時候你要知道不是你不行,只是你不合適而已,每個企業都有自己的風格,而你在前面的作業中已經潛移默化地建立了自己獨特的職場風格,所以要一下子就找到契合的新公司幾乎是不可能的,這跟找物件是一樣的道理,
第二,給自己預備好至少半年的待業資金,
作業會有的,只是可能比較慢,
錢是個很神奇的東西,它不是萬能的,但沒有它卻是會讓人抓狂,(我家里條件一般,當初這點的確對我壓力很大)
裸辭,就代表著在找到下一份作業之前,你是完全沒有收入的,所以這時候就要保證之前待業的這幾個月里,你是沒有金錢這個后顧之憂的,
人的精力是有限的,如果在找作業的同時,你還要為溫飽擔憂,那就真是雪上加霜了,所以各位親,在裸辭之前先看看自己的錢包夠不夠鼓,
第三,利用好這段時間梳理自身,有針對性地充實自身,
筆者建議裸辭之前,大家都先想想自己目前具備的能力有哪些,是不是有底氣出去跟別人競爭,如果你沒來得及思考這個問題之前就已經辭了,那你在之后也一定要去做這個事情,并將這個空檔期利用好,
很多人可能在原單位空有幾年的作業經驗,但實際技能卻沒有多少,出到外面,根本沒辦法跟別人競爭,
找作業,經驗是一回事,技能和專業才是硬道理,就如筆者待業期間就去報了一個培訓班,專門針對自己的技術進行了升級,這是對自己的一種投資,
說到底,裸辭就是一場冒險,有的人是“一直裸辭,一直爽”,但更多的人是“一時裸辭,一直悔”,不是說你裸辭,你有理,很多時候在面試官眼里,裸辭其實是沒有規劃性的一種表現,他甚至會懷疑你的離職原因,衡量你入職后的穩定性,裸辭有風險,遞信需謹慎啊!
第四,認清自己,不要盲目自信
很多時候,大家都會產生一種盲目的自信,尤其是在大廠擰螺絲的人,有時候會覺得大廠也不過如此,自己也算得上是有能力的人了,
這里需要給大家打一個預防針,其實很多時候,你現在擁有的光環都是屬于公司的,屬于平臺的,離開了公司,除去了光環,你可能就是一根雜草,
我也算是吃過教訓的人了,本來以為自己是有本事的人了,但是說到底不過就是一個只會擰螺絲的人,后面還是免不了一頓惡補才勉強站起來,
面試準備資源分享
- 架構師筑基語言基礎
目前Android APP開發主流語言就是Java語言,Java語言最大的特性就是提高了軟體的互動可能性,可以說安卓手機幾乎所有應用程式都是利用Java語言來進行撰寫的,
知識要點:
1、深入理解Java泛型
2、注解深入淺出
3、并發編程
4、資料傳輸與序列化
5、Java虛擬機原理
6、高效IO

- 設計思想解讀開源框架
隨著互聯網企業的不斷發展,產品專案中的模塊越來越多,用戶體驗要求也越來越高,想實作小步快跑、快速迭代的目的越來越難,插件化技術應用而生,如果沒有插件化技術,美團、淘寶這些集成了大量“app”的應用,可能會有幾個g那么大,
所以,當今的Android移動開發,不會熱修復、插件化、組件化,80%以上的面試都過不了,
知識要點:
1、熱修復設計
2、插件化框架設計
3、組件化框架設計
4、圖片加載框架
5、網路訪問框架設計
6、RXJava回應式編程框架設計

- 360°全方位性能調優
在不同層次的開發工程師手里,因為技術水平的參差不齊,即使很多手機在跑分軟體性能非常高,打開應用依然存在卡頓現象,
另外,隨著產品內容迭代,功能越來越復雜,UI頁面也越來越豐富,也成為流暢運行的一種阻礙,綜上所述,對APP進行性能優化已成為開發者該有的一種綜合素質,也是開發者能夠完成高質量應用程式作品的保證,
知識要點:
1、設計思想與代碼質量優化
2、程式性能優化
啟動速度與執行效率優化
布局檢測與優化
記憶體優化
耗電優化
網路傳輸與資料儲存優化
APK大小優化3、開發效率優化
分布式版本控制系統Git
自動化構建系統Gradle4、專案實戰
啟動速度
流暢度
抖音在APK包大小資源優化的實踐
優酷回應式布局技術全決議
網路優化
手機淘寶雙十一性能優化專案揭秘
高德APP全鏈路原始碼依賴分析
徹底干掉OOM的實戰經驗分享
微信Android終端記憶體優化實踐

- Android框架體系架構
Android框架體系架構(高級UI+FrameWork原始碼) 這塊知識是現今使用者最多的,我們稱之Android2013~2016年的技術,
Android開發者也往往因為網上Copy代碼習慣了而導致對這塊經常“使用”的代碼熟悉而又陌生:熟悉的是幾乎天天在和它們打交道, 天天在復制這些代碼 ;陌生的是雖然天天和這些代碼打交道,但是并沒有深入研究過這些代碼的原理,代碼深處的內涵,
知識要點:
1、高級UI晉升
2、Android內核組件
3、大型專案必備IPC
4、資料持久與序列化
5、Framework內核決議**

- NDK模塊開發(音視頻開發系列)
NDK(Native Development Kit縮寫)一種基于原生程式介面的軟體開發工具包,可以讓您在 Android 應用中利用 C 和 C++ 代碼的工具,通過此工具開發的程式直接在本地運行,而不是虛擬機,
在Android中,NDK是一系列工具的集合,主要用于擴展Android SDK,NDK提供了一系列的工具可以幫助開發者快速的開發C或C++的動態庫,并能自動將so和Java應用一起打包成apk,
知識要點:
1、NDK開發之C/C++入門
2、JNI模塊開發
3、Linux編程
4、底層圖片處理
5、音視頻開發
6、機器學習

- Flutter學習進階
2020 年無疑是 Flutter 技術如火如荼發展的一年,現在這門技術也依然非常有價值,
每一個移動開發者都在為 Flutter 帶來的“快速開發、富有表現力和靈活的 UI、原生性能”的特色和理念而癡狂,從超級 App 到獨立應用,從純 Flutter 到混合堆疊,開發者們在不同的場景下樂此不疲的探索和應用著 Flutter 技術,也在面臨著各種各樣不同的挑戰,
知識要點:
1、Flutter跨平臺開發概述
2、Windows中Flutter開發環境搭建
3、撰寫你的第一個Flutter APP
4、Flutter Dart語言系統入門**
……

- 微信小程式開發
微信小程式作為現在比較火的編程開發應用場景之一,深受市場的青睞,這讓不少開發者眼饞不已,但是對于初學者來說,就完全摸不著頭腦了,不知道微信小程式開發制作需要學習那些知識,有需要的朋友可以參考本篇,
本篇知識要點:
1、小程式概述及入門
2、小程式UI開發
3、API操作
4、購物商場專案實戰

- Android相關原始碼解讀
這里大家可以去看這一篇文章:牛掰!阿里P7大佬爆肝半個月,把安卓原始碼決議編成了508頁的PDF,
完整版資料已經整理成為PDF檔案,感興趣的朋友可以點擊此處,快速獲取!希望能幫助到大家!
阿里巴巴(Android崗)面經分享:技術面共4輪+HR面
阿里巴巴(一面)
- 自我介紹
- 行程如何保活,怎樣做才能讓APP盡量不被殺死等,
- 問了兩個演算法題,一個是跳臺階的問題,另一個是鏈表判斷是否有環,
- 為什么重寫equals方法的時候也需要重寫hashCode方法?
- 問AsyncTask怎么用?
- 事件分發,記憶體優化,性能優化,
- 問rgb_565位圖,一個像素占多少位?
- 問java記憶體GC原理,
- andoird lanucher的架構怎么樣,用到什么模式,
- 做過什么android的應用,
- Android View的重繪機制,事件機制,記憶體機制,
- Handler 機制問題. 行程共享資料.
- 應用共享資料., Layout的使用.
- 異步操作的方式.
阿里巴巴(二面)
- 自我介紹
- 介紹下Android的mvc/mvp/mvvm
- view的事件分發機制
- viewGroup 怎么知道view有沒有消費事件
- 寫一個單例模式(解釋單例模式中的sync,雙鎖,volidate)
- 記憶體泄漏有哪些?怎么排查
- 傳遞資料的方式,主要是自定義的類需要繼承的那個介面.
- JNI執行緒需要對java VM做的操作.
- UI性能優化 ,
- 問冒泡演算法的時間復雜度? java中的泛型?
- 對ios和Android怎么看以及發展前景 ,
- 問你覺得你的優點/缺點是什么?你為什么離開上一家公司?你未來5年內的職業規劃是什么?
- 問熟悉使用那種開發語言?對Android開發有沒有經驗?
- 演算法題目:
有A和B兩個有序陣列(陣列元素不重復),給出sum,請找到A和B中所有相加和為sum的序列對
A:[1,4,5]
B:[3,4,6]
sum=8
output 1,1,2,0 => because A[1]+B[1]=8 /A[2]+B[0]=8
阿里巴巴(三面)
- 自我介紹
- 你遇到最難的問題是什么
- android的handler機制
- android的anr機制
- android冷啟動優化
- android弱網優化
- android 視頻相關有了解么?
- android長圖片加載怎么實作
- gradle用過哪些
- 演算法題目:排序二叉樹轉有序雙鏈表,要求在原來的樹節點基礎上增加,
阿里巴巴(四面)
- 自我介紹
- 專案里面的難點(如何解決,解決方案是什么)
- 一個app發布一個版本后,發現變卡了,你如何復現?如何得知某個地方變卡,如何得知用戶在某行代碼變卡
- android 影片機制有哪些?
- lottie的原理
- 直播中的影片要怎么做?要做成動態的,比如禮物是可以配置的?
- 演算法題:找出陣列中的k數,k數的定義:比位置位于這個數前面的數字都大,且比位置位于這個數后面的數字都小的數字(陣列首尾的數字不用管)(面頭條遇到的)
[4,1,3,2,7,9,8,10,12]
此陣列中的k數為7和10
HR面
- 自我介紹
- 未來的職業規劃
- 說一下自己平時的學習方法
- 你認為這些學習方法里最有效的是哪一種?
- 你覺得你有什么優點和缺點?如何克服這些缺點?
- 評價一下之前的面試官,或者說之前的面試官有沒有給你留下印象最深刻的一點
- 為什么想要來位元組跳動?
- 你平時都用位元組的哪些產品?有什么好的建議嗎?
- 期望薪資
- 人在武漢?對換城市有什么想法
- 你有沒有什么想問的?
總結
很慶幸朋友的推薦,讓我拿到了阿里巴巴的內推名額,自己也努力把握住了機會,而這次面試阿里巴巴,最應該要注意的部分就是演算法,現在大廠是真的很喜歡問演算法題,如果要準備大廠的面試,提前刷一些題是很有必要的,
#最后
由于篇幅問題,還有很多演算法題沒寫上來,所以我把詳細的問題和答案已經全部整理成了一個PDF,需要的的朋友可以 點擊此處【答案】 我免費分享給你, 希望能幫助到大家!
三十年河東,三十年河西,莫欺少年窮!大Android不倒!
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/257144.html
標籤:其他
