超詳細(xì)|算法崗學(xué)習(xí)路線大總結(jié)
前言
本篇將分析具體的算法崗學(xué)習(xí)路線
筆者非科班出身,基礎(chǔ)還相對薄弱,本文肯定會有諸多錯誤或者疏漏,歡迎指出和補充。
算法崗的面試主要分為四大項,具體順序可能因面試官而異
Coding,給你一道題限時完成 機器學(xué)習(xí) or 深度學(xué)習(xí)基礎(chǔ) 論文 or 項目介紹 其他問題 & 向面試官提問
本文將從以上四點進(jìn)行展開
一、數(shù)據(jù)結(jié)構(gòu) & 算法題
隨著算法崗越來越卷,Coding幾乎成了面試必考的一項,而且在面評中的權(quán)重也越來越高,根據(jù)個人面試經(jīng)驗,如果這一環(huán)節(jié)沒有很順利得完成的話,幾乎必掛,尤其對于非科班轉(zhuǎn)行的同學(xué),需要特別重視。
刷題時間沒有“太早”之說,當(dāng)你定好自己的職業(yè)規(guī)劃之后,就可以開始著手刷題,最好可以寫自己的刷題筆記,別人的筆記永遠(yuǎn)沒有自己的更加印象深刻。
把秋招面試當(dāng)作高考或者考研,大致在1~3個月之前開始刷題沖刺。
刷題
盡量保證自己熟悉掌握的題量在 200 道以上
牛客 劍指offer: 相對 LeetCode 簡單些,早些年面試前刷這個就足夠了,但是現(xiàn)在肯定是不夠
LeetCode: 首先刷 Hot100,而后再分模塊刷,一定要把類似的題目放在一起刷,面試的時候很有可能遇到變種題,此時舉一反三就變得很重要
高頻題目匯總
個人總結(jié)了 200 道左右常見的面試題,具體可以看個人博客
【完整版】個人面試總結(jié) 數(shù)據(jù)結(jié)構(gòu) & 算法題 & 概率題 & 機器學(xué)習(xí) https://blog.csdn.net/weixin_41888257/article/details/107397221
推薦刷題指南
刷題最好有“參考答案”,并需要舉一反三,推薦幾個關(guān)于算法刷題匯總的 Github 熱榜
labuladong: https://github.com/labuladong/fucking-algorithm
小浩算法: https://github.com/geekxh/hello-algorithm
二、機器學(xué)習(xí) & 深度學(xué)習(xí)基礎(chǔ) & 進(jìn)階學(xué)習(xí)路線
推薦一篇極其詳盡的算法崗學(xué)習(xí)路線,重磅 | 完備的 AI 學(xué)習(xí)路線,最詳細(xì)的資源整理!,但是,這篇本質(zhì)上是一個“學(xué)不完”系列,本文將根據(jù)個人理解,去繁就簡,以面試核心考點為重點展開
機器學(xué)習(xí)
學(xué)習(xí)新知識時,總是從已知領(lǐng)域引向未知領(lǐng)域,而老師就很好地充當(dāng)了這一引領(lǐng)的角色,視頻教學(xué)是入門一個新領(lǐng)域最易上手的方式
1. 公開課|吳恩達(dá)《Machine Learning》
這絕對是機器學(xué)習(xí)入門的首選課程,沒有之一!即便你沒有扎實的機器學(xué)習(xí)所需的扎實的概率論、線性代數(shù)等數(shù)學(xué)基礎(chǔ),也能輕松上手這門機器學(xué)習(xí)入門課,并體會到機器學(xué)習(xí)的無窮趣味。
課程主頁:https://www.coursera.org/learn/machine-learning
中文視頻:[網(wǎng)易云課堂] https://study.163.com/course/introduction/1210076550.htm?inLoc=ss_ssjg_tjlb_%E5%90%B4%E6%81%A9%E8%BE%BE
中文筆記及作業(yè)代碼:https://github.com/fengdu78/Coursera-ML-AndrewNg-Notes
2. 公開課|吳恩達(dá) CS229
吳恩達(dá)在斯坦福教授的機器學(xué)習(xí)課程 CS229 與 吳恩達(dá)在 Coursera 上的《Machine Learning》相似,但是有更多的數(shù)學(xué)要求和公式的推導(dǎo),難度稍難一些。該課程對機器學(xué)習(xí)和統(tǒng)計模式識別進(jìn)行了廣泛的介紹。
課程主頁: http://cs229.stanford.edu/
中文視頻: http://open.163.com/special/opencourse/machinelearning.html
中文筆記: https://kivy-cn.github.io/Stanford-CS-229-CN/#/
速查表: 這份資源貢獻(xiàn)者是一名斯坦福的畢業(yè)生 Shervine Amidi。作者整理了一份超級詳細(xì)的關(guān)于 CS229的速查表 https://zhuanlan.zhihu.com/p/56534902
作業(yè)代碼: https://github.com/Sierkinhane/CS229-ML-Implements
3. 公開課|李宏毅機器學(xué)習(xí)
課程主頁: 最新2021年課程 https://speech.ee.ntu.edu.tw/~hylee/ml/2021-spring.html
BiliBili: https://www.bilibili.com/video/BV1JE411g7XF?from=search&seid=4319647467302480504&spm_id_from=333.337.0.0
學(xué)習(xí)筆記: https://github.com/datawhalechina/leeml-notes
教學(xué)視頻作為入門是絕佳的,但是口語化的教學(xué)不利于學(xué)習(xí)過程中對細(xì)節(jié)的考究,因此后面推薦一些書籍。
4. 書籍|《機器學(xué)習(xí)》
周志華的《機器學(xué)習(xí)》被大家親切地稱為“西瓜書”。這本書非常經(jīng)典,講述了機器學(xué)習(xí)核心數(shù)學(xué)理論和算法,適合有作為學(xué)校的教材或者中階讀者自學(xué)使用,入門時學(xué)習(xí)這本書籍難度稍微偏高了一些。
讀書筆記: https://www.cnblogs.com/limitlessun/p/8505647.html#_label0
公式推導(dǎo): https://datawhalechina.github.io/pumpkin-book/#/
課后習(xí)題: https://zhuanlan.zhihu.com/c_1013850291887845376
5. 書籍|《統(tǒng)計學(xué)習(xí)方法》
李航的這本《統(tǒng)計學(xué)習(xí)方法》堪稱經(jīng)典,包含更加完備和專業(yè)的機器學(xué)習(xí)理論知識,作為夯實理論非常不錯,該書已經(jīng)出第二版了。
講課 PPT: https://github.com/fengdu78/lihang-code/tree/master/ppt
讀書筆記: http://www.cnblogs.com/limitlessun/p/8611103.html
https://github.com/SmirkCao/Lihang
參考筆記: https://zhuanlan.zhihu.com/p/36378498
個人部分總結(jié): https://blog.csdn.net/weixin_41888257/article/details/107701677
https://blog.csdn.net/weixin_41888257/article/details/107701929
代碼實現(xiàn): https://github.com/fengdu78/lihang-code/tree/master/code
6. 實戰(zhàn)|Kaggle 比賽
比賽是提升自己機器學(xué)習(xí)實戰(zhàn)能力的最有效的方式,首選 Kaggle 比賽。
Kaggle 主頁: https://www.kaggle.com/
Kaggle 路線: https://github.com/apachecn/kaggle
深度學(xué)習(xí)

1. 公開課|吳恩達(dá)《Deep Learning》
在吳恩達(dá)開設(shè)了機器學(xué)習(xí)課程之后,發(fā)布的《Deep Learning》課程也備受好評,吳恩達(dá)老師的課程最大的特點就是將知識循序漸進(jìn)的傳授給你,是入門學(xué)習(xí)不可多得良好視頻資料。
整個專題共包括五門課程:01.神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí);02.改善深層神經(jīng)網(wǎng)絡(luò)-超參數(shù)調(diào)試、正則化以及優(yōu)化;03.結(jié)構(gòu)化機器學(xué)習(xí)項目;04.卷積神經(jīng)網(wǎng)絡(luò);05.序列模型。
網(wǎng)易云課堂: https://mooc.study.163.com/university/deeplearning_ai#/c
Coursera: https://www.coursera.org/specializations/deep-learning
課程筆記: https://github.com/fengdu78/deeplearning_ai_books
參考論文: 吳恩達(dá)老師在課程中提到了很多優(yōu)秀論文:https://github.com/fengdu78/deeplearning_ai_books/tree/master/%E5%8F%82%E8%80%83%E8%AE%BA%E6%96%87
課程PPT及課后作業(yè): 吳恩達(dá)深度學(xué)習(xí)課程,包含課程的課件、課后作業(yè)和一些其他資料:https://github.com/stormstone/deeplearning.ai
2. 公開課|CS230 Deep Learning
斯坦福的深度學(xué)習(xí)課程涵蓋了CNNs, RNNs, LSTM, Adam, Dropout, BatchNorm, Xavier/He initialization 等深度學(xué)習(xí)的基本模型,涉及醫(yī)療、自動駕駛、手語識別、音樂生成和自然語言處理等領(lǐng)域。
Datawhale整理了該門課程的詳細(xì)介紹及參考資料: 吳恩達(dá)CS230深度學(xué)習(xí)開課了!視頻配套PPT應(yīng)有盡有
3. 書籍|《深度學(xué)習(xí)》
完成以上學(xué)習(xí)后,想要更加系統(tǒng)的建立深度學(xué)習(xí)的知識體系,閱讀《深度學(xué)習(xí)》準(zhǔn)沒錯。該書從淺入深介紹了基礎(chǔ)數(shù)學(xué)知識、機器學(xué)習(xí)經(jīng)驗以及現(xiàn)階段深度學(xué)習(xí)的理論和發(fā)展,它能幫助人工智能技術(shù)愛好者和從業(yè)人員在三位專家學(xué)者的思維帶領(lǐng)下全方位了解深度學(xué)習(xí)。
書籍介紹:《深度學(xué)習(xí)》通常又被稱為花書,深度學(xué)習(xí)領(lǐng)域最經(jīng)典的暢銷書。由全球知名的三位專家IanGoodfellow、YoshuaBengio和AaronCourville撰寫,是深度學(xué)習(xí)領(lǐng)域奠基性的經(jīng)典教材。該書被大眾尊稱為“AI圣經(jīng)”。
中文版在線閱讀: https://github.com/exacity/deeplearningbook-chinese
4. 工具|TensorFlow 官方文檔
學(xué)深度學(xué)習(xí)一定離不開 TensorFlow,大廠用 tensorflow 的也不少
官方文檔: https://www.tensorflow.org/api_docs/python/tf
中文文檔: https://github.com/jikexueyuanwiki/tensorflow-zh
5. 工具|PyTorch官方文檔
PyTorch是學(xué)深度學(xué)習(xí)的另一個主流框架
官方文檔: https://pytorch.org/docs/stable/index.html
中文文檔(版本0.3): https://github.com/apachecn/pytorch-doc-zh
有了機器學(xué)習(xí) & 深度學(xué)習(xí)基礎(chǔ)之后,就可以閱讀前沿 paper & 深入某一個具體的方向繼續(xù)學(xué)習(xí)了
前沿 paper
1. Arxiv
Arxiv Stats
Arxiv 機器學(xué)習(xí)最新論文檢索主頁地址:
https://arxiv.org/list/stat.ML/recent?ref=bestofml.com
Arxiv Sanity Preserver
Andrej Karpathy 開發(fā)了 Arxiv Sanity Preserver,幫助分類、搜索和過濾特征
主頁地址: http://www.arxiv-sanity.com/?ref=bestofml.com
2. Deep Learning Papers 閱讀路線
如果你是深度學(xué)習(xí)領(lǐng)域的新手,你可能會遇到的第一個問題是“我應(yīng)該從哪篇論文開始閱讀?”下面是一個深入學(xué)習(xí)論文的閱讀路線圖!
GitHub 項目地址: https://github.com/floodsung/Deep-Learning-Papers-Reading-Roadmap
這份深度學(xué)習(xí)論文閱讀路線分為三大塊:
Deep Learning History and Basics Deep Learning Method Applications
3. Deep Learning Object Detection
目標(biāo)檢測(Object Detection)是深度學(xué)習(xí) CV 領(lǐng)域的一個核心研究領(lǐng)域和重要分支。縱觀 2013 年到 2019 年,從最早的 R-CNN、Fast R-CNN 到后來的 YOLO v2、YOLO v3 再到今年的 M2Det,新模型層出不窮,性能也越來越好
本資源對目標(biāo)檢測近幾年的發(fā)展和相關(guān)論文做出一份系統(tǒng)介紹,總結(jié)一份超全的文獻(xiàn) paper 列表。
GitHub 項目地址: https://github.com/hoya012/deep_learning_object_detection
自然語言處理
自然語言處理(NLP,Natural Language Processing)是研究計算機處理人類語言的一門技術(shù),目的是彌補人類交流(自然語言)和計算機理解(機器語言)之間的差距。NLP包含句法語義分析、信息抽取、文本挖掘、機器翻譯、信息檢索、問答系統(tǒng)和對話系統(tǒng)等領(lǐng)域。
課程推薦
CS224n 斯坦福深度自然語言處理課
課程主頁: http://web.stanford.edu/class/cs224n/index.html
中文翻譯課程: https://www.bilibili.com/video/BV1pt411h7aT?from=search&seid=13892874188533859742&spm_id_from=333.337.0.0
課程筆記: http://www.hankcs.com/?s=CS224n%E7%AC%94%E8%AE%B0
計算機視覺
課程推薦
李飛飛:CS231n課程:
課程主頁: http://cs231n.stanford.edu/
網(wǎng)易云課堂: https://study.163.com/course/introduction/1004697005.htm
項目筆記: https://github.com/cs231n/cs231n.github.io
推薦系統(tǒng)
這兩年,CV 都卷的不能再卷了,主要是供需關(guān)系導(dǎo)致,CV崗的需求比推薦崗小的多。也有很多同學(xué)做的是CV,而后面試直接轉(zhuǎn)推薦了,面試官主要 care 的還是你的潛力,而非具體做的方向
1. 推薦課程
推薦系統(tǒng)專項課程《Recommender Systems Specialization》
這個系列由4門子課程和1門畢業(yè)項目課程組成,包括推薦系統(tǒng)導(dǎo)論,最近鄰協(xié)同過濾,推薦系統(tǒng)評價,矩陣分解和高級技術(shù)等。
學(xué)習(xí)地址: https://www.coursera.org/specializations/recommender-systems
2. 書籍
《推薦系統(tǒng)實踐》(項亮 著)

《深度學(xué)習(xí)推薦系統(tǒng)》(王喆 著)

3. 推薦項目
今日頭條推薦系統(tǒng)機制介紹,面向內(nèi)容創(chuàng)作者。分享人:項亮,今日頭條推薦算法架構(gòu)師: https://v.qq.com/x/page/f0800qavik7.html?
3分鐘了解今日頭條推薦系統(tǒng)原理 https://v.qq.com/x/page/g05349lb80j.html?
三、論文 or 項目介紹
關(guān)鍵
面試官希望從面試中了解到的是你的學(xué)習(xí)能力 & 潛力,而不是你做的demo細(xì)節(jié)。當(dāng)然,越是大廠越是如此,騰訊、字節(jié)、阿里皆如此
你做的東西你最清楚,面試莫慌,在面試經(jīng)驗豐富的情況下,你就是你的項目的權(quán)威
每次面試,把項目細(xì)節(jié)都要越扣越深,這樣才能對答如流
把自己的項目不斷重復(fù)介紹,可以錄音,反復(fù)聽。你所說的每句話、每個詞,都可能是面試官挖坑的關(guān)鍵詞!
四、其他問題 & 向面試官提問
其他問題
比如一般面試官都會問,你現(xiàn)在還有哪些offer,你有沒有女朋友等。下面分析面試官的意圖 & 應(yīng)對策略
你還有哪些ofer: 面試官想知道你在市場上的價值是多少,這個時候應(yīng)該實話實說
你有沒有女朋友: 面試官想知道你的穩(wěn)定性如何,如果和你女朋友異地,那你的穩(wěn)定性就會偏低。不是異地很簡單,異地的話可以你可以表明你們之間的關(guān)系穩(wěn)定,后面會在同城發(fā)展之類。如果沒有女朋友的話,那說明你的加班成本低,表面自己并不怕加班即可
轉(zhuǎn)方向有沒有問題: 比如你之前做的是CV,后面需要做推薦,面試官一般會問該問題。表面你愿意學(xué)習(xí)即可
反問面試官
當(dāng)你想從網(wǎng)上檢索一些問題而不得的時候,這就是一個極佳的補充了解的機會,你可以試著提問
您對我后續(xù)學(xué)習(xí)有什么建議: 其實你想打探面試官對你的印象,但是又不能直接問(公司是禁止面試官直接透露面評的),換個問法,效果完全不同,這么問面試官基本都會實話實說
部門的發(fā)展情況: 具體的部門情況是很難從其他渠道獲取的,面試官可以帶你真實了解部門詳情
——The End——


