<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          想要從事算法工程師,要掌握什么?

          共 4766字,需瀏覽 10分鐘

           ·

          2023-06-20 09:49

          鏈接:https://www.zhihu.com/question/312955056/answer/2501177554
          編輯:深度學習與計算機視覺
          聲明:僅做學術分享,侵刪

          作者:芯動的信號

          https://www.zhihu.com/question/312955056/answer/2259045816

          在要從事算法工程師這個崗位之前,我們一定要弄清楚幾個問題,否則就算你從事了算法工作,后面的路可能也不太好走

          一、算法工程師和其他IT從業(yè)人員的區(qū)別我想大概從事IT行業(yè)的開發(fā)人員多少對算法崗位都有所了解,但是其實很多人對這個崗位的認知存在一定的誤區(qū),或者說是被一些書籍所誤導。其實算法工程師在所有IT崗位中,要求是相對較高,市場需求量少,成熟期慢,優(yōu)秀的算法工程師可遇不可求,這是算法工程師的職業(yè)特點。正是這樣的特性導致更多畢業(yè)生不愿意從事算法研究工作,而是轉(zhuǎn)身選擇成熟期短,賺錢快的開發(fā),java,測試,前端,后端等等一些崗位,同時這些崗位應用性非常強,工作中遇到的問題都非常明確,只需要按照一定的方式和方法就可以解決,整體的難度不大。算法工程師在工作內(nèi)容上與其他崗位有較大的區(qū)別,首先算法工程師面對的問題往往都是比較模糊的,無法有確定的客觀指標來描述問題,都是用一些趨勢上的詞匯來描述某個現(xiàn)象或問題,然后用一定的手段來改善或者消除這一現(xiàn)象。當然這些手段和方法也是未知的不確定的,每個算法工程師的習慣不一樣,方法千變?nèi)f化,所以沒有一套既定的方法來參考,無形中給解決這個問題增加了難度。這也是算法工程師所要做的難度比較大的一部分。在面對確定性的方法,可預知的結(jié)果和不確定的方法,不可預知的結(jié)果時,心態(tài),以及思維方式是完全不一樣的,而且很明顯,算法工程師的工作內(nèi)容難度更大。
          二、算法工程師的工作內(nèi)容算法工程師的工作內(nèi)容既零散,又得全面。當拿到一個問題,你首先需要系統(tǒng)的分析這個問題,搞清楚問題的來源,產(chǎn)生這一問題的原因,以及問題背后所涉及到的理論,這些都需要非常清楚。其次,將問題進行分解和歸類,將一個大問題分解為若干個小問題,將這些小問題一一歸類,然后各個擊破。當然解決每一個小問題你都需要設計不同組實驗進行驗證,設計實驗的前提要對問題進行一個全面的認識,同時還需要輸出一些中間實驗數(shù)據(jù),有利于后續(xù)實驗結(jié)果分析,支撐你的結(jié)論。做完實驗以后,針對你們實驗結(jié)果要進行小組討論,這一步非常重要,因為自己設計實驗,然后進行驗證,往往會限制你的思維,看不到實驗以外的東西,這個時候就需要小組討論,你要讓別人看懂你的實驗,解決問題的思路,這樣其他人就會參與到你的實驗分析中,對你的實驗結(jié)果可能會有不同的看法,然后進一步給你一些建議。多次進行這樣的互動,你所設計的算法魯棒性就會更強,更加經(jīng)得起推敲。可見一個成熟算法開發(fā)道路是漫長崎嶇的!
          三、優(yōu)秀算法工程師的必備技能優(yōu)秀的算法工程師一定是需要具備很多能力的,而這些能力無法從書本上學習到,更多的是需要去實踐,只有不斷經(jīng)歷積累,能力才能提高。A:分析問題的能力。算法工程師面對的問題有太多的不確定性,那么我們一定要學會分析問題,靈活運用所積累的知識,從不同角度,不同思考方式去分析問題,當問題分析透徹了,那么接下來要進行哪些實驗就非常清晰。B:數(shù)據(jù)分析能力。對于工程師來說,最終具有說服力的東西一定是數(shù)據(jù),只有確定的客觀數(shù)據(jù)才能說明一切,那么在設計實驗時,一定要輸出一定的中間數(shù)據(jù)結(jié)果,單一最終的結(jié)果往往無法100%支撐你的結(jié)論,那么這個時候就需要結(jié)合你的中間數(shù)據(jù)了。學會利用不同角度的數(shù)據(jù)來進行自我驗證你的算法。C:閱讀文獻的能力。算法是數(shù)學模型和應用場景結(jié)合的產(chǎn)物,算法需要解決的事情太多了,同時也涌現(xiàn)出太多的理論和方法。針對你感興趣的方向,不斷地去跟進目前學術界的發(fā)展,從中吸取一部分靈感,為我所用。同時可以適當?shù)厝同F(xiàn)一些典型的算法,是不是可以有利用其中一部分。D:編程能力。當然算法工程師不太看重編程能力,因為現(xiàn)在編程語言種類太多,只要熟練使用其中一門就足夠了,但是需要快速實現(xiàn)你的想法。
          四、如何成為一名優(yōu)秀的算法工程師想要成為一名優(yōu)秀的算法工程師,除了需要具備上述所表述的能力之外,還需要大量的積累,只有通過不斷積累才能一直成長,學會總結(jié),這些能力很多都是自我總結(jié)得到的,形成一套自己的算法開發(fā)流程。算法工程師一般都有一定的“強迫癥”,在面對現(xiàn)有的算法不斷地反問自己“是不是還會有更好的算法?”思維一定要足夠發(fā)散,不要怕思考偏,就怕你不去想,不敢想!想要成為一名優(yōu)秀的算法工程師,沒有捷徑,也沒有固定的模式去套用,只能是腳踏實地!

          作者: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)足夠找個還不錯的工作了。

          作者:panda愛瞎想
          https://www.zhihu.com/question/312955056/answer/2340533181

          業(yè)務型算法工程師有3個關鍵詞,業(yè)務,算法,工程師,這是三個方向的技能,缺少一環(huán),就會導致發(fā)展的失衡。
          首先,具備業(yè)務思維,能夠與產(chǎn)品進行有效的溝通,聽懂真正的思路(可能有時候產(chǎn)品都無法描述正確他的思路),能夠參與業(yè)務立項的討論,提出自己的見解,這需要自己拋開技術角度,從一個用戶的角度去看待問題,而不是單從技術角度,覺著這個問題太難,無法解決,這個問題太簡單,無法體現(xiàn)自己的厲害之處,解決問題的第一想法就是不做,其次就是簡化做;
          其次,在算法技能上要達標,這個能力分為兩個方面:1)問題抽象能力,能夠刨析問題的本質(zhì),找到解決問題的落腳點;2)技能的廣度與深度,針對落腳點,能夠確定合適的技術路線,能夠針對場景,做算法的適配,而非僅僅是調(diào)用模型與調(diào)參;
          最后就是工程能力,知道了問題所在,知道了如何解決,剩下的就是執(zhí)行,這要求在開發(fā)能力上不能有短板,包括大數(shù)據(jù)處理能力,特征工程,模型流程搭建,線上線下部署,性能優(yōu)化等。
          總結(jié):
          1.能夠知道別人讓你做的是什么,能夠分析值不值得做;
          2.能夠刨析問題本質(zhì),確定解決問題的落腳點;
          3.選型調(diào)研,組內(nèi)如何做,公司如何做,業(yè)界如何做,謀定而后動;
          4.確定實現(xiàn)路線,由淺到深,確定迭代思路,利用現(xiàn)有資源,快速上線拿結(jié)果;
          5.考慮線上線下區(qū)別,設計實驗,設計評價指標,并說服業(yè)務方;
          6.制定時間點,開始執(zhí)行。
          一個20年畢業(yè)的算法小菜鳥,在近2年的算法成長道路上的一些摸索。

          作者:趣趣童
          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ù)擬合的模式對學習機器學習也會有很大幫助。只有懂了基礎的,才能真的熟悉并掌握一些稍微深一點的知識。



          ☆ END ☆

          往期精彩回顧





          瀏覽 29
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  高清无码国产在线观看 | 学生妹一级J人片内射视频 | 免费一级黄色 | 啊91av在线 | 人妻在线大香蕉 |