想要從事算法工程師,要掌握什么?
鏈接:https://www.zhihu.com/question/312955056/answer/2501177554 編輯:深度學習與計算機視覺 聲明:僅做學術分享,侵刪
作者:芯動的信號
https://www.zhihu.com/question/312955056/answer/2259045816
在要從事算法工程師這個崗位之前,我們一定要弄清楚幾個問題,否則就算你從事了算法工作,后面的路可能也不太好走
作者:TechTorch
https://www.zhihu.com/question/312955056/answer/2315721527
上周六我和幾位在大廠工作的算法工程師吃了個飯,而且他們也都面試過很多人。正好聊到了從他們的角度了解一名算法工程師都需要具備什么能力。
前排回答其實已經(jīng)非常的齊全了,我這里就不說具體的技術方面的建議了。我這里主要說一些非技術所需要的,但是很多沒從事這個行業(yè)的人卻沒有意識到的點。
需要了解工業(yè)界到底要什么
我們在聊天時,他們談論的最多的就是現(xiàn)在的學生離工業(yè)界實在是太遠了,根本不知道工業(yè)界到底需要什么。大多數(shù)人都是看到薪資高就一窩蜂的去學,總想著畢業(yè)之后我月薪能有多少多少。
但是實際上很多人去練習算法,但是卻沒有想過什么是工程化能力。
比如你的語言表達組織能力。比如給你一個project,有一個小組能讓你討論發(fā)言,然后讓你真正去解決這個問題,然后你debug問題。
這個聽起來好像是不難對吧,但是實際上要想完成這個還真就需要工程化能力。
現(xiàn)在有很多人的簡歷都是很多項目長的一樣,就假設可能有個什么大牛在智庫上說做了這幾個項目做完之后就能找工作。就比如Rose一個車道線檢測項目,或者是一個什么車輛的識別和分割問題。那像這種人面試官會認為你做的這個根本就不重要。因為這種人根本不知道他用的是什么,基礎根本不行。
那我們現(xiàn)在再來看看大多數(shù)人呢?大多數(shù)人都是想著給我一個project然后我去run,完事了就ok了,至于中間出的問題你最好愛找誰上找誰,反正別找我。
那現(xiàn)在問題來了,企業(yè)招你進來是想讓你來debug問題,而不是請你來制造問題。
Debug問題其實最需要的是對基礎的掌握,并不是說按照某個project去執(zhí)行就完事了。因為你不啃基礎你很難在日常工作里找到問題,就更不要說debug問題了。
所以建議好好啃基礎,鍛煉自己工程化能力和debug能力最為重要。
踏實
對的沒錯,就是踏實。這句話很雞湯,但大多數(shù)人還真就做不到。
現(xiàn)在很多畢業(yè)生可能因為學歷或者基礎不夠牢等因素而 去刻意美化自己的簡歷。實際上這個在算法工程師這個職業(yè)還真沒必要,很多的東西真的就是一問就知道你行不行。很多人簡歷上寫的東西你去問他他都講不出來。虛頭八腦的肯定誰都不會喜歡。相反,如果在面試的一個小時里面能夠?qū)崒嵲谠诘谋憩F(xiàn)出來他是怎么認認真真的做這件事情的,那這站在企業(yè)角度就是非常不錯了。
但凡企業(yè)想培養(yǎng)人才或者招正經(jīng)做事情的人,那他一定不會刻意的刁難一個畢業(yè)生的,往深了問也只是想知道你的基礎怎么樣。
所以一旦你踏實下來了,你真的很容易就脫穎而出,因為這年頭踏實的人實在是少的離譜。
總的來說這就是我們聊天這么久達成的共識,基本上只要捏能做到這兩點,學歷差點或者之前項目差點都沒事。因為掌握這兩點所展現(xiàn)出來的潛力就已經(jīng)足夠找個還不錯的工作了。
https://www.zhihu.com/question/312955056/answer/2340533181
業(yè)務型算法工程師有3個關鍵詞,業(yè)務,算法,工程師,這是三個方向的技能,缺少一環(huán),就會導致發(fā)展的失衡。
作者:趣趣童
https://www.zhihu.com/question/312955056/answer/1572220206
在不同的公司里面算法工程師的要求還真就是不一樣,就拿開發(fā)語言來說有的需要Java,有的需要C或C++,如果是用爬蟲來說的話更多的企業(yè)現(xiàn)在都喜歡Python。
這就需要一定要有目的性的去做這件事兒,題主究竟想去一個什么樣的公司,這個崗位的描述究竟是什么樣的。有了目標才好辦事兒。當然了前提就是你的基礎一定要打好,每天一定要多刷題保持好一個狀態(tài)。
如果你有心儀的公司那就最好不過了,直接看一下他們招聘算法工程師的崗位描述是什么樣,然后去牛客網(wǎng)的牛客題霸上面找到對應的崗位練習題,里面的面試題都是這個公司的面試真題,相對于其他的網(wǎng)站來說還不用花錢,里面還有一個功能就是AI模擬面試功能,在這個功能里面是完全的模擬出互聯(lián)網(wǎng)公司遠程面試的一個場景,里面的考官也是人工智能,能夠根據(jù)面試者的現(xiàn)場表現(xiàn)給出一個綜合得分,多多練習,拿offer的概率大幅度提升。
作者:知乎用戶
https://www.zhihu.com/question/312955056/answer/2839018522
個人認為是抽象,邏輯,實現(xiàn),這三個點。
把問題抽象化,之后分析里面的邏輯鏈條。在通過仿真或者實現(xiàn)結(jié)果的反饋,對問題補充了解。
抽象化和邏輯這塊,可以差不多理解成天賦,天賦不夠,做算法很糟心,如果無法把問題理解充分,那么只能是隔靴搔癢。天賦夠的話,會覺得自己才是整個團隊的核心,有種掌控全局的錯覺。
實現(xiàn)部分考驗的是編程能力,當然要求不用像軟件工程師一樣程度,只需要能自己把算法部分實現(xiàn)就行,Matlab一般是算法工程師的標配,python也有很多人用。一方面是對算法的驗證,另一方面是和其他人對接的時候,能降低溝通成本。
知識儲備方面,算法工程師的話,數(shù)學是核心。起碼,高數(shù),線性代數(shù),概率論,數(shù)值分析這些基礎的東西必須掌握,最好不是單純背公式那種,看一些論文的話,最好學下泛函。理解線性代數(shù)的正交性會增強對最小二乘的理解,懂了高斯分布特性就可以從概率的角度去看卡爾曼濾波。知道基礎的系數(shù)擬合的模式對學習機器學習也會有很大幫助。只有懂了基礎的,才能真的熟悉并掌握一些稍微深一點的知識。
往期精彩回顧
適合初學者入門人工智能的路線及資料下載 (圖文+視頻)機器學習入門系列下載 機器學習及深度學習筆記等資料打印 《統(tǒng)計學習方法》的代碼復現(xiàn)專輯
機器學習交流qq群955171419,加入微信群請掃碼
