如何看待2021年秋招演算法崗灰飛煙滅?

dicksonjyl560101發表於2020-07-23
作者:XX Zhao
連結:
來源:知乎
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。

我以一個公司的面試官角度來回答一下這個問題吧。

我目前在tmd中一家的業務線上擔任影像演算法工程師,由於團隊成立不久,我平時工作中承接了大量的面試。從6月起,我們就開始了提前批的校招,每週進行一次統一面試。每次業務線筆試大概透過60個簡歷,其中有近40個投向了演算法崗位。我們計算機視覺崗位在上一輪提前批面試中居然收到了28份簡歷,而我們整個校招的hc只有2-3個。目前我們的offer已經發放完畢,實際錄用比大概是1:30,後續校招我們部門的計算機視覺演算法崗位將要停止招聘了,不得不說很多優秀的人因為簡歷投遞晚了失去了機會。

我們面試下來的總體感受是,簡歷非常多,但是我們想要的非常少。我們現在不需要調參俠,我們需要的是有紮實計算機基礎的工程師。由於簡歷過多,我們將一輪面試調整為計算機通用基礎面試。我們希望候選人的計算機基礎紮實,程式語言,作業系統,資料結構,計算機網路這些基礎不能差。但是相比於開發崗位而言,我們的要求其實大大低於開發崗位。在二面的時候,我們更關注於計算機視覺的落地經歷,對於論文其實沒什麼要求。總體看下來,一面的透過率極低,很多人連棧和堆都不知道,這樣的計算機基礎根本過不了一面。在二面的時候,我們關注候選人的專案經歷。很多候選人就讀了兩篇論文,跑了幾個比賽,這些經歷在這麼多簡歷中顯得非常普通,在一眾候選人中也沒什麼亮點。我們需要的人是有一定工程能力,有實際的落地經歷的,但是大多數人不具備基本的工程能力。

那我們需要什麼人呢,我以我們的實習生為例,看看我們希望的候選人是什麼樣子的。

我們在4月中旬招收了一名實習生,他之前在學校主要做目標檢測,我們招收的時候覺得他基礎不錯。從入職到轉正答辯,大概經過了兩個半月。我們看看這兩個半月他做了什麼。剛剛入職,我們商量了一下,確定了要做演算法A。實習生在兩週以內,對比了各種主流方法,確定使用一種簡單的基於深度學習模型,理論上能夠在CPU實時。隨後1個月時間,實習生使用PyTorch復現了論文,並使用兩種方法改進了該模型在實際場景中的缺點。在大概1個半月的時候,實習生認為,演算法效果已經達到預期,我們驗收發現,已經滿足預期要求。在後面一週時間裡面,實習生使用C++在我們的程式碼中加入了該模型的工程實現,但是原始的實現不能滿足實時要求。實習生花了一週時間,加入了多執行緒,速度大大提高,但是隻能達到準實時。後來實習生認為,該演算法的部分模組和resize有相似之處,於是花費幾天閱讀了OpenCV的實現,認為透過定點化和SIMD能夠改善速度。後續實習生又改進方法,提高cache命中率,使得速度能夠在i5上達到50fps。這些工作能在兩個半月實現,大大出乎我們的意料,答辯毫無懸念透過。

我們想要的cv工程師是什麼樣子的,從上面這個例子可以看到一角。訓練模型,部署模型,演算法最佳化,這些都是我們的工作,不給自己設限、追求極致是我們對工程師的要求。我們需要的是解決實際問題的能力,計算機視覺相關的演算法和工程都是我們解決問題需要的技能,只有足夠的基礎才能在遇到問題時候給出足夠好的解決方案。

對於CV崗位,我的態度是勸退。今年我們組的開發崗位hc很多,簡歷非常少,很容易就能拿到崗位。客戶端開發更是難求,現在招聘已經不要求客戶端開發經歷了,只要程式設計基礎紮實就好。對於大多數cv方向的同學,我建議換個方向,比如音影片開發的崗位可以考慮,演算法方向音訊相關演算法也值得考慮。






作者:奈米醬
連結:
來源:知乎

著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。








作者:陳歷飛
連結:
來源:知乎
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。

重要的事先強調一遍:請先成為合格的軟體工程師,再成為懂演算法/機器學習的工程師。

就像相親一樣,你不能雖然長得醜,但是想得美。咳,我是說不能基礎條件一塌糊塗,然後抱怨別人不去了解你的內在美。

同理作為演算法崗工程師,無論具體是做推薦系統,做CV/NLP,做人工智慧,大資料——只要你還叫工程師不叫研究員,在職能上你都屬於“後端開發工程師”。作為一名合格的後端開發工程師,你至少要滿足校招的要求不過分吧:

如何看待2021年秋招演算法崗灰飛煙滅? 如何看待2021年秋招演算法崗灰飛煙滅?

懂一門物件導向的語言,瞭解網路原理,資料庫,分散式系統,手撕程式碼能解程式設計題。當這些基本功都合格了,你才有機會讓別人去了解你內在的專案經驗,而演算法相關的專案,只是軟體工程眾多專案經歷的其中之一,和其他後端專案比如資料庫/多執行緒/分散式等專案比沒有高下之分。

作為校招生,公司不指望你已經成為某個領域的專家,更看重你是否有全面紮實的計算機基礎和程式設計能力。彌補短板,打好基礎,祝大家都能拿到滿意的工作。

聯動:

人工智慧相關的崗位薪酬狀況如何? 圖示


常言道,小卷怡情,大卷傷身,強卷灰飛煙滅

明白這個道理,就要學習規避內卷,你非要找頭條快手阿里去成功,何必呢,和精英內卷有啥意思呢。。投百度華為,努力刷題去個他們的邊緣業務線也行呀,那些地方,邊緣業務就是養老崗位,只要你是 985 碩士博士畢業的,簡歷包裝的花裡胡哨就成(可千萬別作假,很多大公司以後是不給二進宮的,一次汙點毀你終生),疫情期間人家也還是招一點人的,你會寫演算法 ppt 都有飯吃,或者去個 boss 直聘,貝殼找房,58 同城啥的,人家一樣要演算法的呀,我就不信內捲到貝殼找房都要你發頂會(過 1-2 年後我可不清楚),而且這些地方基建相對差,萬一他們某個業務做開了,二次開發場景都有很多機會參與,去這種地方,社會痞氣強點,和領導鬧好關係,完全有很多機會向他們展示你的才能呀。

像我們這種估計連貝殼都不如,徹底失敗的公司,沒啥獨立業務的部門,現在對演算法都沒啥要求了,就我們這樣挫的地方,都能手把手教你 es,spark,flink,kafka 等標準生產工具,深度調包深度學習三件套,線上服務 4 件套,部署開發一條龍(湊合能用那種),成為了轉行人士的北極,演算法人士的鶴崗,失敗人士的淺色床單,大齡碼農放鴿子的廣場。只要研究生 985 畢業就行了,本科是大專都不管你,沒到灰飛煙滅的地步,就是你跳槽出路相當堪憂,因為沒啥亮點技術和業務。。。

另外,現階段活命要緊,也別老盯著強勢業務線投簡歷,走業務下沉,去中臺部門也香呀,中國現階段的紅利都消失了,強勢業務部門都是老人把持,老人只會扶持自己嫡系,你去了阿里頭條一樣會失敗,資源都被前浪吃光了,剩下那些老人無事可幹,找一堆能力頂尖的刷題兵,吭哧吭哧地給老人們幹活,我一點都不明白這些人圖啥,要是進 google 享受 wlb,苦哈哈刷題去了也值了,國內成功公司,校招進去那刻就是人生收入的巔峰,每天都在苦哈哈推黃賭毒廣告,對社會科技進步沒任何幫助,公司 996 也沒自己思考的自由,跳槽還要發敬業福,也沒地方敢接盤,為了那點連廁所首付都不夠的錢,活著都有啥意思?這群后浪就不會起來反抗一下?

另外,萬一連失敗公司都進不去的,可以去找一堆沒名氣的小創業公司苟著嘛(注:沒名氣小公司,就是名字聽起來像是啥xx躺平極限科技有限公司,反正聽起來像科技公司,但是不知道是啥來路),小公司不好的地方在於,可能大機率碰到壞人,而且現階段倒閉風險太高,可能半年就要跑路,每天累得生不如死,所以這是下下策。

真的逼得沒辦法,沒出路要去這種小公司,我建議是你多看看企查查,調研一下公司背景,學生其實並沒有社會經驗透過資料判斷這種公司,一個玄學辦法就是上脈脈看看有沒有人讚美和洗地,有的話一定別去,正常的小公司,沒有任何存在感,有人提到的話,極高機率都是噴的,如果被噴也沒人來洗白的公司,應該是正經幹活,只是活的挺苦逼的小公司,如果被噴還有一堆水軍洗地的,千萬別去,保不濟老大是啥價值觀有問題的人,比如有贊那位啥鴨來著?

最後,還是多說幾句雞湯,大家不去,無非是學的太多,沉默成本太高不肯放棄,比如發了兩篇頂會的焦慮能否發 5 篇,發了 5 篇的焦慮要 package 要低了,大家都沒有認識到世界的殘酷,撈一筆的心態很強,沒有學會躺平思考,擔心去了小公司以後去不了好公司,擔心去了好公司邊緣崗位被裁員,又擔心小公司培養路徑亂七八糟,又擔心去大公司邊緣業務線被 pua 啥的,影響成長。反倒像我這種沒任何論文的學渣,心態好,去哪裡都不介意,工資給的別租不起房就成,唯一祈福是別碰到壞人就成。

所以說,年輕人擔心內卷,有時候的癥結在於想的太多,真正面對的失敗還是太少,真的失敗以後,你是不會怕選擇不好的,你只怕連選擇的機會都沒有,所謂灰飛煙滅,只是人比人得死罷了,每個人找自己的私域流量發展自己,躺平思考,何必在同一條賽道比賽撒灰?





作者:邱震宇
連結:https:///question/406974583/answer/1343760618
來源:知乎
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。

說點實在的,就我們這邊NLP的演算法工程師來說,有以下技能需要實實在在得掌握:

1、正規表示式。對,你沒看錯,就是正規表示式。除了簡單的文字匹配場景外,各種文件結構化、資訊抽取的冷啟動,基本都是靠這個。因為在實際業務下,你不可能一上來就能獲取高質量的標註資料,更別說上各種sota模型訓練了,所以你可能要掌握各種正則騷操作,比如XX前面不存在XX字元且後面存在XX字元,或者XX字元出現幾次且後面必須出現XX字元的場景。其實我一直想做一個根據人類語言自動提供正規表示式推薦的模型,調研了一陣子發現難度很大,從另一個角度也說明要寫好正規表示式也非常難的。

2、常用句法分析工具。這個一般主要會在關鍵短語抽取、資訊抽取裡使用。由於缺少標註資料,不能使用sota模型,又因為單獨使用正則畢竟不能cover各種case,因此有時候需要與句法分析工具結合,配合對簡單語法的使用,例如主謂結構,動賓結構,補語結構等等,找出我們所需的資訊單元。不過從頭訓練一個句法工具通常來不及滿足業務方的上線期限,因此通常會使用一些已有工具如哈工大的LTP,雖然有些問題,但是大多數情況下夠用。

3、效能最佳化的意識。這裡並不特指某個效能最佳化的方法,而是在日常寫程式碼的時候,要有這個意識,例如如何最佳化迴圈的效率、能夠並行化操作的地方儘量並行化,模型讀取資料的時候如何最佳化讀取的效率,模型部署上線inference的時候是否滿足業務的效能要求,如果不滿足,能夠找到效能最佳化的位置,例如模型設計的時候是否設計了冗餘的層數、是否使用了過於複雜的模型,部署的時候是否使用一些高效的部署方式(例如tensorflow-serving)、是否可以使用tensorRT最佳化部分op,是否可以針對部署平臺上的硬體環境重新編譯tensorflow等等。這些都需要在實際的工程中自己一個個趟坑趟出來。

4、linux。這個技能也是剛需的,但是並不需要你對linux的操作精通到什麼程度,但至少你得懂常用的操作命令吧,例如監控伺服器的狀態、防火牆策略的配置、docker的簡單操作、常用資料庫的操作(mysql、postgresql等)、壓縮解壓包命令、ftp/sftp命令、chmod命令、vi、cat、ps等等,具體就不詳細說了。

除了上述技能外,我預設大家對NLP領域的技術都是符合條件的,所以就沒額外說明。如果你對基礎的統計機器學習、RNN、transformer、bert等不太瞭解的話,那實在是說不過去了。

上述技能針對的是需要落地需求的演算法工程,但如果你是專門做演算法研究,對落地沒有要求的,那就可以忽略上面的東西,此時你需要的就是拼論文、拼比賽、拼研究組、拼導師、拼學長學姐。。。


最後說一下這個內卷問題,其實我在知乎上說非技術的事情很少,一方面是我在這塊向來思考不多,怕說多了被人噴,另一方面我這個人也比較佛系,不太會去跟別人爭來爭去。這次也只是想陳述一下自己的觀點,如果覺得有道理,可以試用試用,如果覺得沒道理,大可以無視之。

首先,內卷這個問題是客觀存在的。作為一個17年計算機專業但是非科班半路轉行的人,我承認自己佔了一定的早期紅利,如果把我放到現在,估計我也是那批被捲成人乾的人。即使是剛入行的幾個月,我也會經常焦慮,焦慮自己會不會被其他有頂會、有比賽的大佬淘汰掉,看到其他北上廣大廠的大佬的薪資,焦慮自己會被困在南京這個行業環境不太好的地方,甚至還會焦慮自己35歲是不是就下崗了。後來我慢慢跟自己和解了,接受了自己的能力所限,畢竟有人第一的話,總有人是最後一名吧,但是這個最後一名並不代表你是不好的,只是人家比你更好而已。

今年疫情原因加上行業內崗位日趨飽和,好工作確實難找,但這並不是我們的錯,我們也沒辦法改變當前這個狀況,我們能做的是好的崗位該爭取就爭取,但是面試過不了或者連面試機會都拿不到的時候也別過分在意,找工作的時候雖然要注意一些坑,但是最好不要考慮太多因素,遇到合適的就去吧。工作的時候,努力在自己力所能及的範圍內將事情做到極致,該爭取時候的爭取,爭取不到也無需過度在意,玩把遊戲,彈彈琴就過去了。

畢竟生活大於工作。




作者:Justin ho
連結:https:///question/406974583/answer/1343265268
來源:知乎
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。

最近公司來了一位實習生,可能剛出來實習,看見他的大三同學們好多去了大廠,就自己來了一家創業公司,其實換誰都覺得有點不平衡(換做你只是一位大三學生看見同學刷頂會去大廠不羨慕是假的)。再之前帶過的一位研一妹子,經常問我是不是要刷題才能進大廠,我給他們的答案都是一樣的,進大廠會讓你的履歷更光鮮,“可能”讓你跳槽其它大廠會方便一點,但這跟你以後職業生涯能不能賺錢做得開不開心不是掛鉤的,如果你在裡面沒啥實際專案落地也沒啥用,如

所說,大廠的強業務線基本由老人把住,新人只能打打輔助,在我前幾年呆過的2家電商公司來看,AI部門頂峰100多人,到最後裁到剩下十個人維護現有業務線,公司虧錢的時候一定是向虧錢或者利潤不大的部門(說的就是AI部門)開刀,只保留最賺錢的部門,所以演算法崗的存量就這麼多,加上前兩年玩AI概念的公司多少玩沒了的,自媒體還在鼓吹演算法高薪崗位,導致越來越卷,所以我與奈米醬的意見是差不多的。

再說回我那位實習生,一天下班問我,是不是其它公司演算法崗都要刷頂會才能進,我說不一定,首先搞研究的是玩不過報團的大廠獨角獸,他們的實習門檻就要頂會一作了,其次不做演算法研究也可以啊,很多公司需要懂工程懂落地的人,程式碼寫得好還是很有市場的。

給同學們的建議,去大廠可以,如果他們有新開的業務線你覺得有發展空間的話可以試試。去創業公司或者中小公司也可以,先看看這個部門是不是公司賴以吃飯的部門,是的話就比較穩,公司也會給到資源去發展。

BTW,我那位實習生是個不錯的小夥,學習能力不錯人也勤快,我現在還差一位能全職的CV工程師幫我。





作者:匿名使用者
連結:https:///question/406974583/answer/1340981308
來源:知乎
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。

有些師弟不跟著畢業師兄的東西(已經中頂會,程式碼全套,前人對比實驗全套)做下去。不聽勸,硬要自己折騰 去做自己感興趣的,師兄和他說過他感興趣的方向的sota已經卷得不行了,他還去,然後搞不出來又去打比賽,結果最後搞了快一年啥也沒,現在秋招才來找師兄內推。 真的是無語。 為什麼有些師弟就總覺得自己只要努力就能出論文呢? 就不懂得論文不是靠個人努力就可以的,前人實驗程式碼的積累,實驗資料的積累,各種資料集坑的摸索,能幫忙剩下多少努力的時間。 真的是 不知道怎麼說他好。這種師弟還不是個例。


2020年07月16日更新。  有傳承的實驗室發paper真的難度低了好多,只要運氣不要太差,基本一年內能搞篇頂會沒啥問題( 寫個2, 3篇 總能中的 ),搞完就去實習。

師弟要做的事情清單:

1 將前面好幾代人的程式碼,更新下版本做個相容。

2 看看前面師兄在各個資料集上的badcase的分析。

3 找一下有沒有師兄論文發表後,新開放的資料集,用師兄們積累的程式碼跑一下。 然後再總結下badcase。

4 找一下有沒有最近相關的新模型,找找有沒有程式碼 跑一下,看看他們的 badcase.

5  然後這些做完後,如果沒有想法,拿這些case 去找師兄要個想法。或者自己和別人交流過程也會有些想法,也可以嘗試。

6 寫論文,同時拉個師弟讓他參與熟悉你的論文想法,還有收拾下實驗結果和總結 留給後面的人。


然後很多師弟的情況是,在師兄論文發表完後,給師弟們掛了個3作 4作(師兄掛師弟,是希望師弟能參與下,之後能獨立寫作,可是師弟往往啥也不參與,就摸魚,經常是論文發表後都不知道論文在做啥,之後師兄去實習了)。然後,讓師弟去做上面的 1和3,4 的時候 他們就覺得太難了。論文看不懂,程式碼看不下去。自己感覺做的東西不高大上,都是些枯燥或者重複的工作,然後就自己搞自己的去了。  他們覺得師兄能發頂會 自己也能發, 卻沒看到發表論文的師兄是吃的前面多少位師兄積累的老本。


2020年7月19號補: 過來人提示: 提前批一般是各路神仙打架,普通人可以先找家公司實習,擴充自己的人脈,完善自己的簡歷。等提前批之後 有一定機率會遇到 一些企業發生戰略調整(通常在季度末),新成立一些部門或者擴大部門,這時候如果能透過自己的關係得到訊息的話,去投簡歷成功率會高一點(不會進備胎池,缺人缺得厲害,面完一般就要你趕緊來上班報導幹活了)。






來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29829936/viewspace-2706521/,如需轉載,請註明出處,否則將追究法律責任。

相關文章