2021 程序媛跳槽记:学习计划篇(已收获字节等offer)
今天推薦的這篇文章是一位互聯網程序媛寫的跳槽日記。她本碩畢業于985計算機專業,先后就職于央企和BAT。這一篇就是她跳槽到互聯網的學習筆記,希望能對大家有所幫助,感興趣的讀者也可以關注公眾號,聽聽更多程序媛的故事~
坦白說,我這個人不算聰明,基礎也不咋樣,這次跳槽我一開始是很沒信心的,甚至想把這次嘗試當做試水,如果受打擊太多,就再修煉半年,明年過完年參加金三銀四的跳槽旺季。
好在幸運了拿到了幾個大廠的 offer ,比如美團啊,字節啊,阿里啊等等,所以我覺得像我這樣的菜雞都能做到,那大家也可以。
我把這次跳槽計劃命名為:牛寶寶計劃。
一、戰略方針
有的人適合突擊戰,有的人適合持久戰,我屬于后者。我自認為自己的耐力還可以,所以我一開始就告訴自己:我的基礎薄弱,也沒有大廠經歷,這次跳槽不要急于求成,找到自己的問題抓緊補救。
所以我給自己制定了半年的學習計劃。這個時長肯定跟高考、考研沒法比,不過我覺得在跳槽中也算是不短的時間了,我知道我的同事本來想隨便試試結果就拿到 BAT offer 的,也有準備一個月就跳槽成功的。
但我好在有自知之明,所以不會去盲目比較和要求自己,按照自己的節奏定計劃。
第二點我覺得為什么要拉長戰線,是因為我現在的工作不能保證每天穩定的學習時間,有些時候線上出問題了就得去滅火,隔三差五沒有時間學習也是很正常的。如果這個時候我還要逼自己快速有 offer,可能自己先崩潰了。
二、定目標
我這次的目標是想進互聯網大廠,因為我一直沒有這方面的經歷,所以內心非常渴望。
此處需要注意:
1、不要一開始就直接投大廠,先拿一些小公司練練手。
2、大廠往往意味著有很多部門,各個部門都可能招算法工程師,要先看看這個部門在集團中的地位。
就我個人而言,我給自己的定位是,肯定是進不去大廠的核心部門(比如阿里的淘系,字節的抖音,滴滴的網約車等),所以我要搏一搏的是大廠稍微二類的部門。
3、如果是獵頭聯系你幫忙內推的話,一定要提前了解好要面試部門的技術棧。我面試滴滴那次就老慘了,獵頭給我推了最核心部門,而且技術棧完全不一致,比如基礎的編程語言、我大多項目是線下、而人家有豐富的線上模型。
整場面試下來,傷害性不大,侮辱性極強。真的是感覺在浪費雙方時間,還嚴重打擊了我的戰斗氣勢。
三、學習方向
我本身是算法方向的,所以我在準備面試的時候主要按照三個方面準備:
1、算法知識,包括但不限于機器學習、深度學習、常用框架等
2、LeetCode 刷題
3、項目經歷 + 軟實力
下面逐一詳細介紹。
四、算法知識
1、查招聘信息
招聘的 APP 有不少,我自己使用的有 脈脈、boss 直聘、拉鉤等。
注意此時不是一上來就投簡歷,而是先看看各個公司的 JD,再對比自己的項目經驗里有沒有哪些是能夠挨上邊的(其實這個時候就可以大概知道簡歷該寫哪些東西以及如何完善了)。
比如我隨便在脈脈上搜了一個算法工程師的職位要求:
以上面為例,提到的技術基本都要 match,模型要會,并體現在簡歷中。
工作年限要求這個我倒是覺得不用嚴格遵守,有時候要求 3 年以上,但只有兩年工作經驗,也是可以去試試的,大概率技術棧 match 的話,拿到面試機會問題不大。
2、通過上一步,就能知道現在業界都注重哪些算法模型和框架了,如果你恰好使用過,那真是太開心了,再補充一下理論知識。
復習期間我一共看了三本書:
李航的《統計學習方法》,周志華的西瓜書,Hulu 出版的《百面機器學習》,結合網上的一些資料整理的筆記。
關于每個知識點要會到什么深度呢?舉個例子:比如使用過 Xgboost 框架,那么就要弄懂以下幾個問題:
1)Xgboost 與 GBDT 的區別?
2)Xgboost 與 Lightgbm 的區別?
3)怎么處理缺失值?
4)有哪些缺點
…
(我自己的面試真題之后再單獨寫一篇文章,如果你感興趣的話,請等等我。。。)
其他類似的模型也要多多深入學習。當然了,以我個人經驗來看,是做不到在第一次面試之前就掌握所有問題的,而且每個公司的關注點也不完全一致,還是要在面試過程中積累問題,如果沒答上,面試之后趕緊學會,以備下次提問。
以防小伙伴們太過焦慮,其實面試過程中有問題答不上是很正常的,而且有的面試官就喜歡就一個問題不斷往下深入提問,看你到底懂得有多底層,最后總會有答不上來的時候。
以我個人經驗來看,一場面試中,有一兩個問題沒答上,是不太影響通過面試的,你只要保證大部分內容是你提前準備好的,其他的臨場發揮也不是不行呀。
3、是不是所有 JD 里提到的模型全都要會?
答:大可不必。
你只要學會你工作中用到的相關的模型就行了,面試過程中主動引導面試官的提問方向,基本就不能提問到你完全陌生的領域,當然如果你引導了面試官提問,結果自己沒答上,這種自己給自己挖坑的行為,請在面試結束后扇自己一個大嘴巴。
我個人的情況是,工作項目中使用邏輯回歸和樹模型比較多。所以我的學習路徑就可以歸納為:
線性回歸 --> 邏輯回歸 --> 決策樹 --> 集成模型 --> GBDT --> Xgboost --> Lightgbm --> 深度學習
像一些概率圖模型,馬爾科夫等等就完全沒有問過我(幸好沒問,問了我也不會啊)。
當然了,如果你精力充沛,準備的越充足越好啦,其實我也是看過 KNN 模型, Kmeans 等聚類模型滴。
五、LeetCode 刷題
我上一篇文章分享了我的刷題筆記,如果你沒看過,雙手奉上鏈接哦:
2021 程序媛跳槽記:必刷LeetCode算法題(附解題報告)
重復的內容我就不墨跡啦,這里主要想說一下對我個人比較有用的刷題方法論。
我不知道你們是不是和我一樣,就是剛刷完一道題,第二天再做都不能一遍 AC,鬧心死。
后來我為啥跟自己和解了呢,因為我想到當年考研的時候,我其實英語成績還可以,差不多 80 分左右吧,可我背單詞也不能做到背一遍就記住了呀,哪怕是我擅長的科目我還得千錘百煉呢,更何況是我一看到題目就發怵的 LeetCode。。。
所以我就借鑒了我背單詞的方法:利用艾賓浩斯遺忘曲線,如下圖。
大概意思就是給這個記憶程度進行了數值計算,得出事件發生多久之后你還能記住多少的結論。
我根據自己的學習時間,給上圖進行了微調來制定我的刷題和復習計劃:
每隔 12 小時、24 小時、2 天、4 天、一周、兩周、一個月、兩個月來復習一遍做過的題目。
比如我習慣晚上刷一道新題,假設是 6.1 號,然后我會在第二天 (6.2 號)早上復習一遍,第二天晚上 (6.2 號)再復習一遍,6.3 號、6.5 號、6.8 號、6.15 號、6.30 號、7.30 號左右再復習一遍同一道題來加深印象。
現在 Chrome 不是有標簽分組的功能了嘛,我就按照日期來個大致分組,粗略地知道每周大概刷了什么專題的題目,復習的時候也知道該復習前面哪一周的了。我的 Chrome 長這樣:
每個數字代表日期,比如 3.6 就是 3月6號以及這之后幾天的題目。
再說一說我遇到的坑:
1)每次刷同一道題錯的地方都不一樣
恭喜你,每次都暴露了不同問題,哪里有問題哪里就是解法出現了偏差,可能是算法,可能是對編程語言的性質不夠了解,總之是個好事。
2)心態不穩
每次我都會大喊一聲:為啥還是不對啊啊啊
好在我喊完之后還能繼續做題,如果實在崩潰的時候就歇一歇,沒啥大不了的,面試也不一定考這道題。
但請相信我,堅持到后邊,真的是越刷越快。
六、項目經歷 + 軟實力
項目經歷這個事兒就得因人而異了,畢竟每個人的項目經歷都不一樣。
我就不太會把做得很普通的事情說得高大上,一開始我的親朋好友看了我的簡歷都開始勸我:要不別找算法了,換個方向吧。。。
還沒開始呢就有人勸退我了,打擊程度可想而知。
偏偏我又是個好強的性子,非要親自試一試。
恰好我看到了我們今年校招生的簡歷,他的簡歷就包裝的很好,其實算法都差不多,我就模仿他的簡歷來改(太丟人了,做簡歷的水平竟然不如應屆生,跳槽路上真是隨時都可能自我否定)。
改簡歷真是一個沒有盡頭的事情,千萬不要以為做一遍就萬事大吉了,甚至隨著面試過程,要不斷進行微調,所以一開始的預期就別搞錯。
我個人覺得這方面考察的重點是:
1、對自己做過的事情有清晰的理解和復盤
2、溝通成本低:較短時間內介紹出項目的難點是什么,你自己的價值體現在哪里?
3、還有對未來的思考:如果現在再讓你優化,你能從哪些方面入手?
大多數程序員表達能力都欠佳,比如我,這個就得自己沒事兒多練練,找人幫忙 mock interview 也行,自己沒事兒就自言自語叨咕叨咕也行,盡量抓住重點和面試官的吸引力,如果看出來面試官都開始心不在焉不想聽了,就抓緊調整自己的表述策略吧。
、溝通成本低:較短時間內介紹出項目的難點是什么,你自己的價值體現在哪里?
3、還有對未來的思考:如果現在再讓你優化,你能從哪些方面入手?
大多數程序員表達能力都欠佳,比如我,這個就得自己沒事兒多練練,找人幫忙 mock interview 也行,自己沒事兒就自言自語叨咕叨咕也行,盡量抓住重點和面試官的吸引力,如果看出來面試官都開始心不在焉不想聽了,就抓緊調整自己的表述策略吧。
想分享的太多,持續更新中 。。。
下面是作者的公眾號,歡迎大家的關注!
總結
以上是生活随笔為你收集整理的2021 程序媛跳槽记:学习计划篇(已收获字节等offer)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 8gb加512gb的电脑能玩原神不?
- 下一篇: 开学一月,可以自己玩自己做的游戏了!!!