勵志22歲Android小夥高中學歷,現上海拿到25K offer,不迭代升級還等著被取代嗎?
本文你會看到這些,認可就繼續讀正文:
- 職業規劃開始走偏了,請馬上調整過來了
- 程式設計師交很多技術朋友真的很重要
- 外包沒有歸宿感,可替代強
- 網際網路公司對自己技術成長非常有幫助,但工作強度非常高 996常態
- 模擬面試,簡歷最佳化,投簡歷的技巧都很重要
- 愛總結愛輸出的人不會差
- 學習是人生最大的投資
- 技術是一個不斷迭代的過程,所以要保持一個學習的狀態
- 年輕多讀書考好大學,不然年齡大了特別迷茫焦慮
正文開始:
基本情況
本人是15年參加培訓,在當時本地的一所培訓機構培訓二年多的時間,當時才16歲, 高二剛讀完,成績也是那種特別不好的,因為朋友的影響,選擇了輟學,屬於那種半路出家的,在培訓期間,主要以Android為主,加上生活費一共花了差不多7萬左右。在整個年級裡面屬於那種算學的還不錯的(自己認為)。我今年22,從事Android開發,這是我的基本情況。
工作經歷
一共到現在換了四家公司。下面介紹下每家公司的一個情況和總結。
運維開發—8K(2017/3-2017/10)
17年來上海找工作,因為當時沒有工作經驗麼,所以簡歷包裝了一下,找了一份運維的工作,帶了一個四人的小團隊,當時的想法也很簡單,只要能找到工作就行,做運維做了不到一年的時間,也學到很多東西,不管是交流、思考問題、管理,都感覺提高了很多。最終也是因為想到自己的一個職業規劃,還是想從事開發方面的工作。
Android開發—12K(2017/10-2018/5)
2018年入職了一家醫療行業的小公司,做Android開發,比較偏傳統。做了差不多半年左右的時間,因為公司拖欠工資、資金鍊斷裂問題,選擇了離職,但在這半年的時間裡,技術提升了很多,同時也收穫了一些技術上的朋友,從最開始的領導,慢慢到現在變成了朋友,一直到現在都保持技術上的交流,包括工作方面的,我們都屬於特別熱愛的技術的那種,聊技術能聊一晚上,說的可能有點誇張,但在Android這個領域裡面算研究的比較深的了。
Android開發—17K(2018/6-2019/4)
然後接著之後做了一年左右的外包,法本外派到微軟,就類似於人力外包,然後幫微軟的客戶做房地產相關的專案,當時去微軟也是抱著一種學習的心態去的,因為當時對外包這個也不知道是一個什麼樣的情況,沒有體驗過, 做了一段時間明白了網上對外包的一些不好的看法,專案不穩定,代替性強,只要專案已結束,PM覺得你的作用不是很大,隨時都有可能把你裁掉。工作地點不穩定,像我當時做完一個專案,接著又去另外一個客戶現場做,這樣長期下來,跑來跑去,就感覺自己特別的累,但是也有好的地方,上班的時間比較自由,不太被控制,同時專案結束一批換一批,接觸到的人也比較多,這樣也能提高融入團隊的能力、交流能力。在這一年的左右的微軟外包時間裡,也學到了很多元件化相關的技術、另外對Android更深的技術也有了一定的認知與瞭解。也為後面的工作,做了鋪墊。
Android高階開發—23K(2019/4-2020/7)
2019年4月,剛滿了二年工作經驗的我,也收穫了一些offer。最終選擇了一家網際網路公司,旅遊行業,待遇也比較的可觀,雖然沒有大廠的offer,但當時對於我來說已經算比較不錯的了,畢竟技術棧也是我比較感興趣的。這一年的時間裡,基本上每天都是晚上10點左右下班,但在這樣的高強度工作下,感覺自己對NDK的理解、設計能力、與一些中間元件的使用和研究都提升了很多, 也接觸了很多比較新的技術,Kotlin、Jetpack、Flutter、等。但由於當時的疫情,公司受到了很大的影響,正因為這次疫情,技術相關的部門裁了很多人,我也在其中,但賠償還行,3個月,8月份開始找工作,到現在也收穫了一些比較不錯的offer。
關於面試
一個好的面試,往往需要做很多的準備,我6月份離職的這段時間,兩個月裡,基本上都是在家學習,但也會和朋友一起出來吃飯阿啥的。我面試之前會找人來模擬面試,然後根據模擬面試的一個情況,梳理下說話的節奏、專案介紹、技術點的回答的流暢性,然後簡歷修改完之後,最好找一個你認識的技術或者HR,幫你看下,這樣簡歷投遞後反饋率還是比較高的。
還有一點就是每次面試完, 最好把面試中一些回答的不是很好的問題或者是沒回答上的,記下來,然後針對的去學習,下次面試遇到了會提高面試的一個透過率,投遞簡歷的話,如果是沒有工作經驗的,或者沒有一個目標的,可以選擇批次投,我剛出來找工作的時候,就是批次投,自己也沒有一個明確的目標,只要能找到工作就行,如果是有工作經驗了,哪就針對的去投,還有就是投的一些公司,最好做下調查,比如看下融資情況,做什麼業務的等等…, 4個月的時間裡,前面兩個月是在家學習,後二個月是在找工作,前前後後面試了大概15家公司左右。
這裡說下我面試被問到一些面試題吧,這也是我自己的一個總結。
1、Handler 相關知識,面試必問!
- Handler Looper Message 關係是什麼?
- Messagequeue 的資料結構是什麼?為什麼要用這個資料結構?
- 如何在子執行緒中建立 Handler?
- Handler post 方法原理?
- Android訊息機制的原理及原始碼解析
- Android Handler 訊息機制
2、Activity 相關
- 啟動模式以及使用場景?
- onNewIntent()與onConfigurationChanged()
- onSaveInstanceState()與onRestoreInstanceState()
- Activity 到底是如何啟動的
- 啟動模式以及使用場景
- onSaveInstanceState及onRestoreInstanceState使用
- onConfigurationChanged使用以及問題解決
- Activity 啟動流程解析
3、Fragment
- Fragment 生命週期和 Activity 對比
- Fragment 之間如何進行通訊
- Fragment的startActivityForResult
- Fragment重疊問題
- Fragment 初探
- Fragment 重疊, 如何通訊
- Fragment生命週期
4、Service 相關
- 程式保活
- Service的執行執行緒(生命週期方法全部在主執行緒)
- Service啟動方式以及如何停止
- ServiceConnection裡面的回撥方法執行在哪個執行緒?
- startService 和 bingService區別
- 程式保活一般套路
5、Android佈局最佳化
- ViewStub、include、merge
- 什麼情況下使用 ViewStub、include、merge?
- 他們的原理是什麼?
- ViewStub、include、merge概念解析
- Android佈局最佳化之ViewStub、include、merge使用與原始碼分析pi的。
6、BroadcastReceiver 相關
- 註冊方式,優先順序
- 廣播型別,區別
- 廣播的使用場景,原理
- Android廣播動態靜態註冊
- 常見使用以及流程解析
- 廣播原始碼解析
7、AsyncTask相關
- AsyncTask是序列還是並行執行?
- AsyncTask隨著安卓版本的變遷
- AsyncTask完全解析
- 序列還是並行
8、Android 事件分發機制
- onTouch和onTouchEvent區別,呼叫順序
- dispatchTouchEvent,onTouchEvent,onInterceptTouchEvent 方法順序以及使用場景
- 滑動衝突,如何解決
- 事件分發機制
- 事件分發解析
- dispatchTouchEvent,onTouchEvent,onInterceptTouchEvent方法的使用場景解析
9、Android View 繪製流程
- 簡述 View 繪製流程
- onMeasure,onlayout,ondraw方法中需要注意的點
- 如何進行自定義 View
- view 重繪機制
- Android LayoutInflater原理分析
- Android檢視狀態及重繪流程分析
- Android檢視狀態及重繪流程分析
- Android自定義View的實現方法
10、Android 的核心Binder多程式 AIDL
- 常見的 IPC 機制以及使用場景
- 為什麼安卓要用 binder 進行跨程式傳輸
- 多程式帶來的問題
- AIDL 使用淺析
- binder 原理解析
- binder 最底層解析
- 多程式通訊方式以及帶來的問題
- 多程式通訊方式對比
11、Android ANR
- 為什麼會發生 ANR?
- 如何定位 ANR?
- 如何避免 ANR?
- 什麼是 ANR
- 如何避免以及分析方法
- Android 效能最佳化之 ANR 詳解
12、Android 記憶體相關
- 什麼情況下會記憶體洩漏?
- 如何防止記憶體洩漏?
- 記憶體洩漏和溢位的區別
- OOM 概念以及安卓記憶體管理機制
- 記憶體洩漏的可能性
- 防止記憶體洩漏的方法
13、Android 效能最佳化
- 如何進行記憶體cpu耗電的定位以及最佳化
- 效能最佳化經常使用的方法
- 如何避免 UI 卡頓
- 效能最佳化全解析,工具使用
14、OKHTTP和Retrofit
- OKHTTP完整解析
- Retrofit使用流程,機制詳解
- 從 HTTP 到 Retrofit
- Retrofit是如何工作的
15、Android 元件化與外掛化
- 為什麼要用元件化?
- 元件之間如何通訊?
- 元件之間如何跳轉?
- Android徹底元件化方案實踐
- Android徹底元件化-程式碼和資源隔離
- Android徹底元件化—UI跳轉升級改造
- Android徹底元件化—如何使用Arouter
- 外掛化框架歷史
- 深入理解Android外掛化技術
- Android 外掛化和熱修復知識梳理
關於學習
我的學習方法,看相關的影片教程,比如騰訊課堂、極客時間、慕課網這種平臺都是比較不錯的,裡面有些影片是收費的,我覺得學習就是一個投資的過程,自己也花了不少的錢在這上面,然後就是 體系化的去學習和實踐,每學一個技術點,最好記錄到筆記上,或者是 記錄在部落格上,這樣有利於加升印象,特別學的東西多了之後,不透過筆記記錄,很難記住,主要還是找到適合自己的學習方法, 我自己特別適合看影片來吸收。
還有就是看相關的技術部落格、比如部落格園裡面的博主,寫的技術文章給我的影響還是蠻大的,看書也是不錯的,然後就是給每週制定學習計劃,這個計劃時間,也不要控制的太死了,最好中間空一些時間出來,因為可能中間會插入一些其他的事情來,這樣就會影響到後續的一個計劃。
我覺得學習這個話題,對於程式設計師來說是很重要的,其他的領域也很重要, 因為技術是一個不斷迭代的過程,所以要保持一個學習的狀態,以後對自己的一個職業發展是非常順暢的,如果自己不迭代升級,長期這樣的話,可能會被一些年輕努力的程式設計師取代,薪資也會跟著年齡下滑,所以趁著年輕而沒有什麼壓力的情況下,把自己的技術功底學好,多投入一些錢花到學習上來,到一定時候,這些努力都會得到相對應的報酬。
如果是年輕的時候不努力,年齡大了而且有家庭了,這個時候可能會感覺自己很迷茫,不知道以後的路怎麼去選擇,因為我身邊有這樣的技術朋友,能感覺的到那種迷茫,一般到了一定年齡很難剋制自己去學習了,因為來自家庭上、工作上的壓力會讓你分散這些精力和注意力,所以不要等到年齡大了再來學,那個時候已經晚了。
個人感悟
說下我的一個經歷與狀況吧,因為我本身沒上過大學,也不知道大學的生活是一個什麼樣的狀況,培訓出來後是一個專科的學歷,19年考了一個專升本,所以有那麼一點點羨慕那些上過大學的同學吧,因為工作的原因,也認識了一些同事,他們的學歷背景都比較的好,而且學習能力、與人相處都不錯,以前我自己覺得學歷沒什麼用,只是一塊敲門磚,但現在看上去,有那麼一點天真,特別是找工作的時候,找相當大一點公司,可能就會因為學歷連面試機會都有沒有,所以 學歷還是很重要的,像我目前的一個打算是2021年準備考一個碩士來彌補下學歷,隨便開闊下視野。
以前欠下的東西,只要選擇繼續走這一條路,遲早要還回來的,不然後面的路很難走,特別是到一定年齡和年薪的時候,再往上晉升領導或者是技術總監,這個時候學歷可能會受到一定影響。趁著還是學生的時候,多讀點書,考一個好一點的大學,儘量不要選擇我這種半路出家的,不然後面的路會走的很累。
Android技能提升
程式設計師如何走上快速提升技術走上財富自由之路?
下面我提供一下我多年工作以來收集整理的學習路線,給大家做個參考:
學習一線大廠的各項技術:
大廠是我們的技術先驅,不僅僅是各種技術,還有很多令你大開眼界的使用方法,學習這些有利於自己競爭力的提高,深入理解後也可以提升你的學習效率。
現在競爭這麼激烈,只有透過不斷學習,提高自己,才能保持競爭力。
1.2020大廠面試高頻知識點
- 圖片
- 網路和安全機制
- 資料庫
- 外掛化、模組化、元件化、熱修復、增量更新、Gradle
- 架構設計和設計模式
- 效能最佳化
- Android Framework
- Android優秀三方庫原始碼
2.Jetpack架構元件從入門到精通
- Android Jetpack - Navigation
- Android Jetpack - Data Binding
- Android Jetpack - ViewModel & LiveData
- Android Jetpack - Room
- Android Jetpack - Paging
- Android Jetpack - WorkManger
- Android Jetpack架構元件之Lifecycle
- Android Jetpack Compose 最全上手指南
3.Framework精編核心解析
主要內容包含:
- 深入解析Binder
- 深入解析Handler
- Dalvik VM 程式系統
- 深入解析 WMS
- PackagerManagerService
4.Kotlin強化實戰(附Demo)
- 第一章 Kotlin入門教程
- 第二章 Kotlin 實戰避坑指南
- 第三章 專案實戰《Kotlin Jetpack 實戰》
- 從一個膜拜大神的 Demo 開始
- Kotlin 寫 Gradle 指令碼是一種什麼體驗?
- Kotlin 程式設計的三重境界
- Kotlin 高階函式
- Kotlin 泛型
- Kotlin 擴充套件
- Kotlin 委託
- 協程“不為人知”的除錯技巧
- 圖解協程:suspend
5.Android設計思想解讀開源框架
- 熱修復
- 外掛化
- 元件化框架設計
- 圖片載入框架
- 網路請求框架
- RXJava 響應式程式設計框架設計
- IOC 架構設計
- Android架構元件Jetpack
6.NDK模組開發
- NDK 模組開發
- JNI 模組
- Native 開發工具
- Linux 程式設計
- 底層圖片處理
- 音影片開發
- 機器學習
定期面試:
光學習了大廠的技術還不夠,如何瞭解當下Android市場需要哪些技術呢?
定期的面試足以讓你瞭解當下市場需要哪些技術,也更加容易確定自身的短板在哪,同時,也可以督促自己學習提升(小夥子,你瞭解的技術有點落伍了呀…)
萬一拿到了高薪Offer,豈不是更賺?
多看大佬的學習筆記,學習大佬的設計思想:
只要是程式設計師,不管是Java還是Android,如果不去閱讀原始碼,只看API文件,那就只是停留於皮毛,這對我們知識體系的建立和完備以及實戰技術的提升都是不利的。
真正最能鍛鍊能力的便是直接去閱讀原始碼,不僅限於閱讀各大系統原始碼,還包括各種優秀的開源庫。
以上這些內容均免費分享給大家,需要完整版的朋友, 。或者點選 【 】 檢視獲取方式。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69983917/viewspace-2780437/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- #剛拿到阿里offer小夥的Java開發要求自述,你覺得你能去阿里嗎阿里Java
- 騰訊35歲架構師提前退休,比別人早2年確定職業目標有多重要?還不學起來等著被裁嗎?架構
- 大專學歷,快 30 歲,裁員 2 個月,拿到 25k+ 的 Offer,優秀!!.md
- 勵志小故事YPU
- 還在等著吃Android Oreo?Android P已經來了!!!Android
- 30歲還能學Linux運維不?Linux運維
- 【等保小知識】企業可以定級嗎?可以自己確定等保等級嗎?
- 圖靈獎得主 Bengio:深度學習不會被取代圖靈深度學習
- 現在學習Android開發還有前景嗎Android
- ChatGPT:不斷升級就安全了嗎?ChatGPT
- 高中畢業學IT好嗎
- 小齊讀者拿到快手、百度、網易等 offer 的獨門祕籍!
- 【等保小知識】等保3.0就是等保三級嗎?
- 22歲大學生獲谷歌天價offer,擊敗6000人年薪百萬谷歌
- 現在學習Android開發還有錢途嗎?Android
- 學歷不夠不參加長沙Java培訓,自學java現實嗎?Java
- 三句話讀懂上海升級要點|秒懂上海升級
- 【等保小知識】等保一級需要測評嗎?
- 資料科學家會被機器學習工程師取代嗎? - KDnuggets資料科學機器學習工程師
- 關於:Express會被Koa2取代嗎?Express
- Android:你還在等那個,手把手帶你重構的人出現嗎?Android
- 【等保小知識】等級保護工作是指等保測評嗎?意思一樣嗎?
- 三個月自學拿到 python 開發 offer!Python
- 2020本科校招-從小白到拿到30k offer的學習經歷
- 到了22歲還能矯正牙齒麼?戳此文就知22歲矯正牙齒需要多久
- 日百萬流量網站勵志一生被K網站
- 萌妹子的面試經歷,美團四面三小時,成功拿到 Java 崗 offer面試Java
- 80後小夥身殘志堅托起小程式創業夢,月收百萬!創業
- [elixir! #0079] erlang 版本升級 22 -> 24
- 十個勵志小故事教你做人的道理
- 教育部:學Python從高中生抓起!我會被00後碾壓嗎?Python
- 40歲還可以轉行做Linux運維嗎?學習難度大嗎?Linux運維
- 勵志生活美文
- 拿到小米 Offer,卻迷茫了。。
- 消失的金山遊俠,被取代的多玩盒子,玩家卡關時還會想起它們嗎?
- win11現在建議升級嗎 windows11升級方法介紹Windows
- 拿到BAT等大廠offer以後,我發現了關於秋招的一些真相BAT
- 我還小,才20歲,等到我25歲一定…