1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        2021年我的互聯(lián)網(wǎng)秋招算法崗總結(jié)!

        共 4999字,需瀏覽 10分鐘

         ·

        2020-11-21 03:14

        ↑↑↑關(guān)注后"星標"Datawhale
        每日干貨?&?每月組隊學習,不錯過

        ?Datawhale干貨?

        作者:李金澤,清華大學,Datawhale作者

        前言

        一晃接近三個月過去了,秋招也到了尾聲,之前一直忙于寫畢業(yè)論文,現(xiàn)在在這里想總結(jié)一些自己求職互聯(lián)網(wǎng)大廠算法崗的面經(jīng)和心得,希望幫助后來的學弟學妹們收獲自己心儀的offer。

        今年的算法崗求職較往年競爭也更加激烈,可以預見以后進大廠的算法崗會變得越來越難,比如美團北斗去年的準入門檻是一篇CCF A,而今年直接提升到了兩篇CCF A,難度提高了一倍,加之疫情的影響,我認識的很多手握頂會的本科學弟們以及海外的同學們也加入到了找工作的大軍中,因此今年算法崗的競爭堪稱史上巔峰,真的是八仙過海,各顯神通。不過,找工作不僅需要實力,運氣和方法也缺一不可,下面我就談談我自己的心路歷程。

        背景

        本人Top2碩士在讀,非計算機科班,兩篇論文在投,投遞崗位的方向主要為推薦/廣告/機器學習,在整個秋招的過程中,共參加了8場面試,阿里、百度、京東、美團、拼多多、快手、小紅書、平安。

        最后僥幸獲得了7家公司的offer,其中6家ssp,1家sp,薪資待遇40+W-70+W不等。

        可能很多人會覺得我應該有多家大廠的實習,但其實我并沒有,由于父母的工作受到了疫情的影響,導致我今年從疫情開始到7月初一直都在家里幫父母的忙,從而錯過了暑期實習,看到周圍的同學都拿到了大廠實習的offer,當時的我只感覺自己的秋招應該和互聯(lián)網(wǎng)無緣了。

        每個人的秋招只有一次,如果不奮力一搏,又怎會知道最終的結(jié)果。抱著這個念頭,我在7月初就趕緊放下了父母的工作,全身心的備戰(zhàn)秋招。在這里,我就要講一講我的方法了,大部分互聯(lián)網(wǎng)公司算法崗基本是三輪技術(shù)面+一輪HR面,技術(shù)面每輪的面試時間大致是一個小時,主要考察coding能力、基礎(chǔ)知識和項目/競賽。由于時間的不足,在這三個方向上我做了時間的分配,我的復習順序是基礎(chǔ)知識->項目/競賽->coding能力。

        1.基礎(chǔ)知識

        除了極少數(shù)公司會在一上來就要求你做一道編程題以外,大部分互聯(lián)網(wǎng)公司都會在你的自我介紹和論文之后開始進行基礎(chǔ)知識的考察,因此它的重要性不言而喻?;A(chǔ)知識的復習有兩種途徑,一是看書,二是看視頻,這取決于你對哪一種途徑接受知識的速度更快。我選擇的是看書,一是因為視頻不一定講得面面俱到,二是視頻質(zhì)量如果不過關(guān),很有可能某些細節(jié)的講述是錯誤的。以推薦/廣告崗位為例,我主要看如下書籍。

        • 周志華的西瓜書《機器學習
        • 李航老師的《統(tǒng)計機器學習》第二版
        • DL圣經(jīng)《深度學習》,又名花書。
        • 百面機器學習
        • 概率論與數(shù)理統(tǒng)計》、《線性代數(shù)》、《凸優(yōu)化
        • 推薦/廣告:《深度學習推薦系統(tǒng)》、《計算廣告》等

        如果時間有限,可以直接去看第二本藍皮書和第三本花書,這兩本書一定要從頭到尾仔仔細細的過一遍,因為基礎(chǔ)知識的考察無外乎就是機器學習或深度學習里的知識。當這兩本書過完一遍之后,再看西瓜書的效率就會快很多了。

        除此之外,第四本書可以留在你將要面試的那幾天著重去學習,因為你有了前幾本書的知識做鋪墊,第四本書就可以當成八股文去背了。前提是一定要在你理解這些知識之后,因為單純的死記硬背面試官其實很容易就會發(fā)現(xiàn)破綻,畢竟現(xiàn)在每個人都會背。

        對于本科學習過的線代和概率論,建議大家也復習一遍,因為在我的面試過程中就有面試官”殘忍“的提問了,雖然概率不高。對于學有余力的同學,可以去看一些推薦/廣告方向的工業(yè)界人士出版的書籍,這一塊的知識考察往往會穿插在整個面試中,有的面試官會在最后當成開放題進行考察。

        其次,基礎(chǔ)知識的復習也很容易會遺忘,面對這個問題,我一般會將高頻考點的知識寫在ipad中,然后每晚會去復習一遍,這樣一個月下來,基礎(chǔ)知識應該就可以爛熟于心了,這一段的復習就可以告一段落了。

        2.項目/競賽

        項目/競賽一般會在基礎(chǔ)知識之后進行考察,這些一定要提前準備好,寫在簡歷里的項目一定是要自己親自做過的,因為一旦面試官問到了項目中某一個部分的代碼是如何實現(xiàn)而你又回答不上來的話,在他心里對你的印象就會非常減分,并且會懷疑候選人的誠信問題。所以,我的方法是將之前做過的項目重新再做一遍,包括代碼部分。

        這一塊看似會花費大量時間,實則并沒有那么長。具體來說,我會先將做過的項目重新梳理一遍,畫出整個項目的流程圖,然后再逐行復習自己的代碼。等代碼復習完之后,再刪掉重新寫一遍,這一步驟因人而異,取決于你的記憶能力。

        競賽方面,常用的競賽模型如GBDT、XGBoost、LightGBM、FFM、DeepFFM等一定要了解。最后,如果你的論文或項目與面試官所做的方向非常的match,你通過這一面的概率也將會大很多。

        3.coding能力

        代碼能力是計算機專業(yè)學生的基礎(chǔ)能力,求職技術(shù)方向的同學,無論是測試、開發(fā)或算法,互聯(lián)網(wǎng)公司在這一塊的考察都是重中之重。

        一般而言,大廠在每一輪的技術(shù)面中,至少會出一道編程題,多的會直接上三道編程題讓你做(我就遇到了...),難度主要集中在easy和medium,少數(shù)喪心病狂(褒義詞)的面試官會出hard題。而考察范圍已是圈內(nèi)公開的秘密,就在《劍指offer》和Leetcode上,因此刷題成為了大家求職路上必須要邁過的一道坎,這個坎沒有人可以幫到你,只有靠你自己。我在碩士階段也沒有刻意的去刷過題,只有本科時刷過洛谷,下面是我Leetcode賬號上提交次數(shù)的統(tǒng)計:

        我是從8月初開始集中在Leetcode上刷題,一直刷到了10月份,《劍指offer》也是在Leetcode上刷的,平均每個月刷題數(shù)是300??赡芎芏嗳硕加X得300道根本不可能完成,確實,如果你按照Leecode官方的題號順序去刷根本不可能,但如果是按照題目類型(標簽)去刷,每天刷10道,一個月也就完成了300道。

        一開始可能會很慢,但基本上每個類型的題目當你刷夠20道以后,都可以總結(jié)出該類題目的代碼模板,所以前期會慢一點,越往后則會發(fā)現(xiàn)刷題速度越來越快,可以理解為先苦后甜。而對于刷題的方法,可以分為三輪進行:

        a.第一輪:優(yōu)先效率。當一道題花了十五分鐘去思考也沒有思路時,則果斷選擇直接看答案。

        b.第二輪:培養(yǎng)思路。你需要對以前做過的每一道題都要有一個大致的映像,并且知道解題的方法是什么。這一輪其實最難度過,因為人對事物的遺忘是有規(guī)律的,而我們需要想辦法客服這個規(guī)律。在這里推薦一下我的方法。我在刷完每一道題之后,會在ipad上注明題號以及題目名稱,然后將該題的解題思路寫下來,最后還會重寫一遍代碼。這樣,以天和周為單位不斷地復習之前的題目,就可以做到以后遇見它們時可以迅速反映出是用什么方法解決這道題的。

        c.第三輪:完善思路。當我們順利度過了第二輪之后,第三輪則需要學習每道題目的多種解法,比如TopK問題可以用快排變形/堆/二叉查找樹/計數(shù)排序四種方法解決。在我的面試過程中,有些面試官會在你AC一道題后還會要求寫出最優(yōu)解,這往往決定你的面評是否能達到較高級別,也就是能否拿到sp以上級別的offer,并且一道題如果學會了多種解法,也會讓你加深對這道題的理解。因此,我建議大家要學會用多種解法解決一道題,并且要培養(yǎng)出能快速AC的能力。

        PS:在這里,我要推薦一下自己免費加入的Leetcode每日打卡和競賽群,圈內(nèi)俗稱殘酷群。國服前一百位的選手在該群都有好幾十人。規(guī)則很簡單,每日完成題主發(fā)布的Leetcode題號以及每周在美服上打Leetcode周賽,但周賽排名靠后的小伙伴會要求發(fā)紅包,這個機制也是為了督促大家快速成長。所以秋招不是刷題之路的終點,而僅僅只是開始。

        面試投遞

        在完成了基礎(chǔ)知識->項目/競賽->coding能力的復習后,時間節(jié)點也移動到了八月中下旬,這時很多公司的秋招正式批即將開始。由于我錯過了提前批的投遞,而提前批往往都沒有筆試,所以正式批只能先參加筆試再進行面試。經(jīng)過血與淚的磨練后,在這里給大家的建議是,有提前批投提前批,無提前批投特殊計劃,重要的事情說三百遍。

        原因有兩點:

        1. 提前批的競爭壓力小,投的人少,先拿到offer的概率很大;
        2. 正式批的筆試題一般有一定難度,且刷人主要看AC題目的數(shù)量,比較殘酷。而且據(jù)我身邊同學的例子,有很多人筆試完之后公司就杳無音信了,要問就是在篩選,實際上你已經(jīng)妥妥變成了備胎(有戀愛經(jīng)驗的人都懂),然后在公司的池子里歡快的游動。除此之外,若感覺自己還沒有準備好,則可以等待幾天再投遞,但千萬不要錯過提前批的截止時間。

        所以提前批的面試能把握的還是盡量要把握,哪怕你覺得自己只準備了60%,但萬一成功了呢?

        因為面試通過這個事情,實力與運氣都需要, 在你的實力和別人差距不大的情況下,實力不夠,也可以運氣來湊不是嗎。

        部分面經(jīng)

        以下面經(jīng)均為各個公司的正式批,由于時間有點久遠,有些考點已經(jīng)不記得了。

        京東

        一面

        1. 介紹論文、項目,很詳細。包括每一個環(huán)節(jié)是怎么實現(xiàn)的,損失函數(shù)是如何設計的,模型是如何訓練的等等。
        2. 代碼題:Leetcode 713:乘積小于k的子數(shù)組;Leetcode 297:二叉樹的序列化和反序列化。
        3. GBDT、XGBoost、LigthGBM的區(qū)別與聯(lián)系。
        4. 送入LR前,如何處理數(shù)據(jù)(特征工程)。

        二面

        1. 介紹論文、項目,很詳細。
        2. Transformer中的Scaled Dot-Product Attention為什么要縮放(兩點)。
        3. Transformer中的Position Embedding是怎么實現(xiàn)的?為什么?
        4. bagging和boosting與偏差和方差的關(guān)系以及原因。
        5. 如何解決數(shù)據(jù)不平衡的問題。
        6. 假設檢驗的兩類錯誤。
        7. MSE、MAE與貝葉斯估計的區(qū)別。
        8. 為什么快排比堆排快?
        9. 口述算法題:對一個商品的價格、數(shù)量、購買人數(shù)進行分次排序,不改變之前的排序結(jié)果。

        三面

        由于一、二面表現(xiàn)好,三面直接過了。

        美團

        一面

        1. 介紹論文和項目,很詳細。
        2. 代碼題:面試題17.24:最大子矩陣;Leetcode 695:島嶼的最大面積。
        3. 介紹一下DSSM。
        4. 開放題:關(guān)于雙塔模型的應用。

        二面

        1. 介紹論文和項目,以及論文中的涉及到的baseline模型。
        2. 代碼題:面試題01.08:零矩陣,寫出兩種解法。
        3. XGBoost 如果損失函數(shù)沒有二階導,該怎么辦。
        4. 聊天+反問。

        三面

        1. 介紹論文和項目,非常詳細。
        2. 介紹實習,說說實習印象中最深的點。
        3. 開放題:部門中的某個應用場景你會怎么解決。
        4. 職業(yè)規(guī)劃,個人希望做的方向。

        拼多多

        一面

        1. 介紹論文和項目。
        2. AUC是如何實現(xiàn)的,它對均勻正負樣本采樣是否敏感,并用代碼實現(xiàn)。
        3. BERT與ALBERT的區(qū)別。
        4. 介紹一下DKN模型。

        二面

        1. 介紹論文和項目。
        2. 過擬合如何解決+具體方法追問。
        3. 代碼題:Leetcode 42:接雨水。
        4. 知識圖譜表示學習有哪些模型。
        5. 聊天+反問。

        阿里

        一面

        1. 介紹論文和項目。
        2. 代碼題:Leetcode 382:鏈表隨機節(jié)點,并口述蓄水池采樣算法的推導。
        3. 概率題:將一根木棍分成三段,求這三段構(gòu)成三角形的概率。
        4. 開放題:一個超級大文件,每一行有一個 ip 地址,內(nèi)存有限,如何找出其中重復次數(shù)最多的 ip 地址。

        二面

        1. 介紹論文和項目。
        2. 論文后續(xù)可能提升的點以及想法探討。
        3. 說一說Graph Embedding和GNN的區(qū)別。
        4. 代碼題:Leetcode 23:合并K個升序鏈表。
        5. 聊天+反問。

        三面

        1. 介紹論文和項目。
        2. 介紹一下最能體現(xiàn)自己工程能力的項目。
        3. 如何提高推薦線上的性能。
        4. 強化學習在推薦中的應用及探討。

        總結(jié)

        最后,我想談一談自己對于面試的看法。無論是競賽、論文還是大廠實習,這些都是為了方便你拿到面試的資格,哪怕你三者都沒有,但只要公司愿意向你發(fā)起面試,你都應該好好努力。

        而最終是否能順利拿到offer以及offer的等級,主要還是取決于你的面評,一個非常好的面評是幫助你拿下大廠sp以上offer至關(guān)重要的因素,因此切忌面試緊張,如果你緊張,可以心中默念歐米豆腐。

        祝愿大家都能拿到自己心儀的offer!

        原文鏈接:https://zhuanlan.zhihu.com/p/296551038
        “整理不易,三連
        瀏覽 51
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

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

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            波多野结衣伦理 | 国产白嫩护士被弄高潮91 | 日本一二区不卡视频 | 欧美午夜福利视频 | 黄色网址视频播放 | 国产激情婷婷 | 4438成人免费 | 一级特黄6O分钟免费 | 国产电影一曲二曲三曲 | 岳啊灬啊别停灬用力啊剧情介绍 |