轉眼到這個二線城市已經一段時間了,看著手機推送的關于北京的某某新聞,忽然感覺到曾今奮斗(打工)的城市已經離我千里之外了,
回想從畢業到現在自己的一些變化,技術上從幾乎啥都不會到現在會寫一點代碼,心態上從非常迷茫焦慮到現在有自己的節奏,頭發從畢業的茂盛濃密到現在的欠茂盛濃密,這些年的經歷,還是需要寫一篇文章來回顧一下的,里面涉及到程式員面試以及職業規劃相關的東西不一定適合每個人,但也想給后輩分享一點經驗,
本文有兩條主線,一條是時間線,一條是我的個人計劃線,

初到北京
大學畢業我就直奔北京,開啟了我的程式員打工生活,
聊聊剛畢業這家公司吧,這個是一家做計算機視覺和AI的創業公司,如果是計算機視覺行業從業者,應該可以猜到這家公司的,主要以人工智能和安防為主,
我當時為什么選擇這家公司呢?一方面是因為給的薪資確實比較高,在那會兒就已經給到了很高的月薪,對于剛畢業的學生來說確實是一筆巨款;另一方面是當時這家公司還是有一些牛人在的,而且也給了一點期權,整體看來還是有發展前途,
在這家公司我做的事情就是做安防系統,也就是中后臺系統,面向B端用戶,在這家公司我還是很快樂的,實習的時候就拿了最佳實習生的獎,年會抽到了當時華為最新款手機(從那以后我再也沒抽中過大獎😅),技術上從最開始的實習水平,到后來也可以獨立做專案,也做過面試官,總體來說,過的還是很順意的,
但是,我發現我做的事情熟練之后,和大部分程式員做的事情一樣,既沒有后端大流量高并發,也沒有比較深入的前端技術探索,而且最重要的是業務并沒有像我預先想的一樣逐漸做大,很多大牛也紛紛離職了,
這是我的第一次危機感,也是我第一次跳槽的原因,
從決定跳槽開始,我就在思考兩個問題,第一個是我要去哪些公司,第二個是我要準備什么內容,
關于第一個問題,因為我經常混跡于互聯網社區和論壇,在知乎、掘金、v2ex等等地方對國內公司的情況也有一些了解,所以我把范圍劃定在第一、二梯隊的大公司Android崗位,
關于第二個問題,我搜索了很多面經和招聘啟事,也找了一些大公司的朋友問,最終把準備范圍劃定在這幾個方面:Java基礎知識、Android基礎知識,常用框架、第三方庫原理,專案經驗,資料結構與演算法,
劃定范圍之后,就開始了我的準備跳槽之路,我的規劃是每天下班之后學習1到2小時,周末學習5個小時以上,作業中也積極的總結業務流程以及專案的亮點,準備面試的程序中非常的辛苦,經常下班后會學到12點以后,并且周末也很少出去玩,程序中還伴隨著焦慮,終于在準備了一段時間后,我開始面試了,這也是我的第一次跳槽,
在剛到北京的這一段時間內,我還定下了自己的個人計劃,從我了解到北京的房價、戶口、學區等等問題之后,我就斷定我以后不會長期在北京發展,因為定居的難度和壓力是很大的,人沒必要把自己弄的那么累,
既然不在北京發展,那去哪里呢?因為我老家是西部的,綜合作業機會、買房難度、離家距離來看,最終選擇了某西部二線城市,于是,我的個人計劃就開始了,計劃的目標是在三年后定居這個二線城市,

兩次跳槽,定居某二線城市
第一次跳槽面試的結果很出乎意料,因為不知道自己的水平究竟怎么樣,所以這次跳槽我把能投的公司幾乎都投了一遍,沒想到大部分面試都很順利,并沒有事先想的那么難,拿了大概六七個offer吧,這樣的結果對于當時只有一年半經驗的我來說,是一個非常大的驚喜,事后我還寫了一篇面經貼,也認識了很多朋友,
最終在所有offer中我選擇了某跳舞廠,因為在我看來這是一家發展迅速并且具有旺盛生命力的公司,這也是當時的我結合自己情況做出的最優解,在跳舞廠作業的經歷是充實和開心的,這里的作業體驗和第一家小公司是完全不同的,
首先,身邊的同事平均水平都比較高,在這里我也感受到了團隊合作的快感,有什么問題大家可以一起討論技術方案和解決辦法,互相review代碼的程序中也能進步不少; 然后,業務種類比較多,有中后臺的、混合開發的、偏C端的等等,只要個人積極主動,都可以獲得不錯的成長,并且在做業務的程序中,看著身邊一些高職級的同事和領導,我對于技術和業務的也有了一些新的看法,
當然了每家公司都是有缺點的,比如加班比較多、干的活太碎太重復性等等問題,相信大部分程式員都會遇到類似的問題,
在這段時光里,我的個人計劃也有了進展,比如解決二線城市落戶買房問題等等,
時間總是過得很快,在某二線城市的一切事宜都準備好了,而且差不多也到計劃收尾的時間點了,終于,我“逃離”了北京,再次跳槽來到了二線城市定居,

個人感想
畢業去大公司還是小公司
我記得我畢業那會兒,有種說法是去大公司都是螺絲釘,去小公司可以得到更多鍛煉,但是后來我發現這種說法是有問題的,因為人都是有一個成長的程序的,剛畢業除非是超強的大佬,否則不管是在大公司還是小公司,做的事情都是螺絲釘類的,如果一個公司敢把很重要的事情交給應屆生來做,那說明它的人才管理是有問題的,
站在上帝視角來看,剛畢業就加入一家高速發展中的公司并且拿到期權是最好的,比如在14年的時候就加入位元組跳動這樣的公司,但是這樣的機會很少很少,能有這樣眼光的人也不會糾結,
所以對于畢業生來說,能去大公司盡量去大公司,首先大公司的培養體系更加完善,包括技術和職場方面的都會有課程和分享;其次是大公司的同事平均水平更高一些,也能對自己帶來正向的影響,提高職場上限;最后是我在跳槽和招人的時候發現的,簡歷上有大公司經歷的人會在找作業的時候相對更加順利一些,不管怎么說這也算是一個小小的光環,
早做職業規劃
凡事預則立不預則廢,職業發展是需要提前思考規劃的,不然很容易會陷入一年到頭了然后問自己“我今年又干了些啥?”的挫敗感中,
如何做規劃?首先需要了解自己,自己的性格,自己的長處,自己的家庭等等問題,都需要考慮到,
如果家庭無法支持在一線城市買房,是不是可以考慮下哪個二線城市比較適合自己,并且早做打算,多觀察一下二線城市的作業機會;
如果想在職業發展上有所突破,可以劃定一條路線,常見的比較好的兩條路線就是在大公司升職級和去發展中的公司拿期權,選擇第一條路就需要多去主動承擔一些事情并且拿好結果做好匯報,選擇第二條路就需要多關注B輪或者C輪的創業公司;
如果個人性格上并不是很喜歡寫代碼相關的作業,可以考慮是否早做打算轉行去做自己更擅長的事情;
總之,一切都需要早做職業規劃,

多關注業務和產品
剛畢業的時候,我醉心于技術,后來才發現業務和產品的重要性,框架也好開源庫也罷,技術對于我們來說,只是做事的工具,一次次的技術升級、新的輪子的出現,都是為了讓我們可以更有質量、更快的做出產品來,如果連做什么產品、為什么做都沒弄清楚,那就很容易淪為工具人,這里參考雷軍在《程式人生》一文中的一段話:
有的人學習編程技術,是把高級程式員做為追求的目標,甚至是終身的奮斗目標,后來參與了真正的商品化軟體開發后,反而困惑了,茫然了,
一個人只要有韌性和靈性,有機會接觸并學習電腦的編程技術,就會成為一個不錯的程式員,剛開始寫程式,這時候學得多的人寫的好,到了后來,大家都上了一個層次,誰寫的好只取決于這個人是否細心、有韌性、有靈性,掌握多一點或少一點,很快就能補上,成為一個高級程式員并不是件困難的事,
當我上學的時候,高級程式員也曾是我的目標,我希望我的技術能得到別人的承認,后來發現無論多么高級的程式員都沒用,關鍵是你是否能夠出想法出產品,你的勞動是否能被社會承認,能為社會創造財富,成為高級程式員絕對不是追求的目標,
把面試當做學習
很多人會因為害怕面試失敗而不敢面試,我覺得沒必要,我們應該把面試當做一次學習,
我一直覺得技術面試不是考試,考前背背題,發給你一張考卷,答完交卷等通知,
首先,技術面試是一個 認識自己 的程序,知道自己和外面世界的差距,
更重要的是,技術面試是一個雙向了解的程序,要讓對方發現你的閃光點,同時也要 試圖去找到對方的閃光點,因為他以后可能就是你的同事或者領導,所以,面試官問你有什么問題的時候,不要說沒有了,要去試圖了解他的作業內容、了解這個團隊的氛圍,
找作業無非就是看三點:和什么人、做什么事、給多少錢,要給這三者在自己的心里劃分一個比例,
備戰金三銀四
最后給大家分享一份 《Android開發2020年度面試真題合集》
該面試寶典不僅收錄了本人親身面試遇到的問題,還收錄了從一些朋友那里收集過來的問題,在以后的作業中本 人也會不斷的更新和充實該面試寶典,當然也希望大家能夠多多奉獻比較優質的面試題,
不僅展示了常見的面試問題以及回答技巧,還詳細講解了每一道題所包含的知識點,讓每個程式員不僅知其然,更知其所以然,
由于篇幅原因,下面以截圖展示部分內容,如有需要以下完整學習筆記PDF,可以點贊+評論支持下打工人老弟,點擊這里免費自取!
正文總共分為6個部分:
- Java 基礎(★★)
- Java 高級(★★)
- Android 基礎(★★★)
- Android 高級(★★★)
- Android 專案(★★★)
- 專案面試常見問題(★★★)
一、Java 基礎(★★)
面向物件思想
多型
例外處理
資料型別
Java 的 IO
集合
Java 多執行緒

Java 高級(★★)
Java 中的反射
Java 中的動態代理
Java 中的設計模式&回識訓制
Java 的類加載器

Android 基礎(★★★)
Android 基本常識
Activity
Service
BroadCastReceiver
ContentProvider&資料庫

Android 中的布局
ListView
JNI & NDK
Android 中的網路訪問
Intent
Fragment

Android 高級(★★★)
Android 性能優化
Android 螢屏適配
AIDL
自定義控制元件
Android 中的事件處理
Android 簽名
Android 中的影片
網路協議
其他

專案面試常見問題(★★★)
- 開發周期
- 專案中遇到的難題
- 專案中最大的識訓
- 專案是如何上線的
- 專案是如何盈利的
- 繪制專案架構圖
- 專案開發流程
- 你在專案中的角色
- 你負責專案中的哪些模塊
- 講講你負責模塊的具體實作
- 專案中都用到了哪些第三發框架
- 有沒有自己寫過框架
- 業余時間你是如何提高自己(學習)的
- 有沒有自己的技術 blog
- 你的職業規劃
- 為什么離職
- 為什么選擇我們公司
- 說說你們專案的亮點和不足
- 你們的專案是如何保持風格一致的
- 專案架構是如何搭建的
- 螢屏適配是如何解決的
- 都看過哪些原始碼
- 專案版本是如何升級的
- 用的什么版本控制工具
- 你能獨立開發嗎
- App 跟服務器是如何互動的
- 需求檔案寫過嗎
- 介面檔案寫過嗎
- 云服務器都用過哪些
- 第三方平臺都用過哪些
簡歷+社招解答+經典HR面試決議
以上是整理總結的Android中高級面試遇到的真題決議,希望對大家有幫助;同時很多人經常也會遇到很多關于簡歷制作,職業困惑、HR經典面試問題回答等有關面試的問題,同樣我也搜集整理了全套簡歷制作、金三銀四社招困惑、HR面試等問題決議,有疑問,可以提供專業的解答,

對于Android開發的朋友來說應該是最全面最完整的面試資料,為了更好地整理每個模塊,我參考了很多網上的優質博文和專案,力求不漏掉每一個知識點,很多朋友靠著這些內容進行復習,拿到了BATJ等大廠的offer,這個資料也已經幫助了很多的安卓開發者,希望也能幫助到你,
由于篇幅原因,如有需要以上完整學習筆記PDF,可以點贊+評論支持下打工人老弟,點擊這里免費自取!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/264272.html
標籤:其他
