算法類的三大主要方向:CV碴萧、NLP和推薦系統(tǒng),這三個(gè)方向的確是挺熱門的末购,而且大部分公司都有這三個(gè)方面的崗位破喻,如果自己的研究?jī)?nèi)容比較明確,推薦找屬于自己研究方向的崗位盟榴,例如我是做軌跡數(shù)據(jù)的曹质,那么找地圖業(yè)務(wù)或者滴滴這類公司,這樣更加有優(yōu)勢(shì)擎场。如果沒(méi)有比較明確方向的同學(xué)羽德,建議打好算法基礎(chǔ)的理論知識(shí)。
我自己沒(méi)有任何實(shí)習(xí)經(jīng)歷顶籽,直接參與的秋招玩般,但是做過(guò)兩個(gè)項(xiàng)目。不過(guò)還是推薦去暑期實(shí)習(xí)礼饱,因?yàn)閷?shí)習(xí)留用的機(jī)會(huì)比較大坏为,尤其現(xiàn)在仍然是技術(shù)人比較搶手。越早準(zhǔn)備越好镊绪,因?yàn)樗惴ǖ目疾斓膬?nèi)容非常多匀伏!
一、校招流程
1.互聯(lián)網(wǎng)公司校招流程
一般招聘過(guò)程是“網(wǎng)上筆試——專業(yè)面試——hr面試”蝴韭,網(wǎng)上筆試一般就一次够颠,專業(yè)面試有多次,越大的公司專業(yè)面試次數(shù)越多榄鉴,阿里頭條騰訊一般都是3次履磨,hr面試有1輪也有2輪蛉抓。
互聯(lián)網(wǎng)公司網(wǎng)上筆試都是編程題,一般3-5道大題剃诅。專業(yè)面試比較復(fù)雜巷送,時(shí)間也比較久,一般面試時(shí)間會(huì)在1個(gè)小時(shí)左右矛辕,起初會(huì)聊一些項(xiàng)目?jī)?nèi)容笑跛,主要考察算法內(nèi)容的基本功,最后至少有半個(gè)小時(shí)面試官會(huì)出一題編程題聊品,一般就是leetcode上簡(jiǎn)單題和中等題的難度飞蹂,如果編程題沒(méi)寫好,前面面試再好也沒(méi)有用翻屈,所以編程的基本功十分重要陈哑。hr面試就是聊家常,不過(guò)有的公司hr會(huì)繼續(xù)刷人妖胀,所以在hr面試過(guò)程也不要掉以輕心芥颈。
2.金融公司校招流程
一般互聯(lián)網(wǎng)公司校招開始比較早,所以如果在互聯(lián)網(wǎng)校招結(jié)束后赚抡,也可以參加金融公司(銀行爬坑、基金、券商等)的校招涂臣。(這里我只參加過(guò)銀行的校招盾计,基金和券商后來(lái)不想去,就沒(méi)去赁遗,如果有人有這方面的經(jīng)驗(yàn)可以補(bǔ)充一下署辉。)銀行的網(wǎng)上筆試有行測(cè)題,有的銀行也會(huì)加入編程題岩四,有的也會(huì)有算法的選擇題哭尝。銀行筆試過(guò)了,就會(huì)通知面試剖煌,一般面試就一輪材鹦,不會(huì)考編程題,就是出一些題目聊算法內(nèi)容耕姊。結(jié)束后桶唐,有些人會(huì)接到體檢的通知,但是接到體檢通知不代表公司最終會(huì)錄用茉兰,這就是感覺銀行校招最坑的地方尤泽。
有明確目標(biāo)想去金融業(yè),也可以嘗試投幾個(gè)互聯(lián)網(wǎng)公司作為面試鍛煉的機(jī)會(huì)。
二坯约、刷題
紙質(zhì)書推薦《劍指offer》熊咽,里面講解會(huì)比較詳細(xì),有條件可以先看《劍指offer》闹丐,再用各類刷題網(wǎng)站网棍,《劍指offer》上是用c++語(yǔ)言編寫,如果比較擅長(zhǎng)Java或者python妇智,可以自己重新編寫,我把我之前用Java編寫的源碼放在Github上氏身,有需要可以自取巍棱。最好還是自己能夠重新把書上面的題目自己編一次,然后存檔蛋欣,可以在面試前多看看之前編寫的代碼航徙。
刷題網(wǎng)站只推薦leetcode和牛客網(wǎng)陷虎,大部分互聯(lián)網(wǎng)公司的網(wǎng)上筆試都會(huì)選擇使用诺教ぃ客網(wǎng)的平臺(tái),所以這兩個(gè)網(wǎng)站都盡量要熟悉尚猿,leetcode上題目比較多窝稿,內(nèi)容較全。旁涞啵客網(wǎng)上有各大互聯(lián)網(wǎng)公司歷史的筆試題目伴榔。我自己在leetcode上刷題思路是從前往后刷,簡(jiǎn)單題和中等題爭(zhēng)取自己獨(dú)立完成庄萎,困難題如果自己能獨(dú)立完成最好踪少,但是不能獨(dú)立完成也看看講解。題目我都是看10分鐘糠涛,如果沒(méi)有完整的思路援奢,我就直接看答案。有的人覺得刷的越多越好忍捡,如果有時(shí)間當(dāng)然是越多越好集漾,有一次我頭條面試面試官出了leetcode上第900多號(hào)的題目,我是沒(méi)刷到锉罐,當(dāng)時(shí)我怎么改都有一些瑕疵帆竹,我自己解題思路上有問(wèn)題。但是我覺得最重要的是刷一題盡量能夠吸收一題脓规,討論區(qū)也有一些人總結(jié)這類題的規(guī)律栽连,可以多看看。
網(wǎng)上筆試的題目類型,如果看過(guò)琶虢簦客網(wǎng)上各大互聯(lián)網(wǎng)公司的筆試題就會(huì)很清楚绢陌,一般都是應(yīng)用類型的題目,這類題目都比較復(fù)雜熔恢,不過(guò)大多數(shù)應(yīng)用題背后都有一個(gè)核心的解題點(diǎn)脐湾,比如圖論的深度(廣度)搜索等。題目都會(huì)要求運(yùn)算時(shí)間和內(nèi)存叙淌,一般內(nèi)存空間的約束條件都會(huì)滿足秤掌,所以需要在時(shí)間上多下功夫,一般刷題的時(shí)候鹰霍,要非常注意解題的時(shí)間復(fù)雜度闻鉴,時(shí)間越快越好。
一般建議在校招或者暑期實(shí)習(xí)招聘期間每天都要刷幾題茂洒,保持手感和思路上的活躍性孟岛。如果是找暑期實(shí)習(xí),建議放寒假在家就開始慢慢開始刷督勺。如果是為了秋招準(zhǔn)備渠羞,建議5月份左右也可以開始刷題了。
三智哀、專業(yè)面試
專業(yè)面試是最重要的環(huán)節(jié)次询,也是不可控因素最多的環(huán)節(jié)。任憑你多么強(qiáng)盏触,如果面試官不喜歡渗蟹,也無(wú)用,所以除了學(xué)會(huì)賣自己外赞辩,也要密切關(guān)注面試官的舉止雌芽。感覺面試官對(duì)某個(gè)內(nèi)容感興趣,可以多講一些辨嗽。
1.學(xué)會(huì)賣自己
如果自己已經(jīng)掌握了比較豐富的理論知識(shí)世落,就要學(xué)會(huì)賣自己。在與面試官交流的過(guò)程中糟需,除了要展示自己的專業(yè)素養(yǎng)外屉佳,要學(xué)會(huì)往自己擅長(zhǎng)的領(lǐng)域引導(dǎo)。如果自己有項(xiàng)目經(jīng)歷洲押,往自己項(xiàng)目上引導(dǎo)面試官武花,因?yàn)樽约旱捻?xiàng)目自己最熟悉,聊項(xiàng)目的過(guò)程中杈帐,盡量說(shuō)一些細(xì)節(jié)性的內(nèi)容体箕,比如我是做軌跡數(shù)據(jù)的专钉,那么介紹項(xiàng)目的時(shí)候要介紹一下如何解決GPS定位漂移的問(wèn)題。這些細(xì)節(jié)才能反映我們?cè)谶@個(gè)項(xiàng)目中的思考和參與程度累铅。如果沒(méi)有項(xiàng)目跃须,面試官一般會(huì)選擇某些算法來(lái)細(xì)問(wèn),比如LSTM有幾個(gè)門等這類算法細(xì)節(jié)問(wèn)題娃兽。
2.編程
面試官出的編程題一般不太規(guī)范菇民,所以在寫代碼之前一定要問(wèn)清楚題目的一些問(wèn)題,《劍指offer》上有提供一些題目的注意事項(xiàng)投储。比較重要的編程題第练,可以參考leetcode在知乎上的回答。我自己的感覺玛荞,鏈表的內(nèi)容比較喜歡在面試中考察复旬,樹和圖論在面試不喜歡考,但是在筆試中喜歡考冲泥,因?yàn)檫@部分內(nèi)容比較復(fù)雜,編程花費(fèi)時(shí)間較長(zhǎng)壁涎。
3.其他
除了聊項(xiàng)目和編程外凡恍,有的面試官會(huì)根據(jù)他們的業(yè)務(wù)情況想你提問(wèn)一些業(yè)務(wù)上的問(wèn)題,這時(shí)候就是非常展現(xiàn)個(gè)人能力的時(shí)候怔球。盡量把自己的想法說(shuō)出來(lái)就好了嚼酝,說(shuō)的越多越好,這個(gè)過(guò)程不單單是面試官面試的形式了竟坛,可以說(shuō)是業(yè)務(wù)上的探討闽巩,你也可以提出自己的一些問(wèn)題。
因?yàn)槲沂亲鲕壽E數(shù)據(jù)的担汤,面試官曾經(jīng)問(wèn)過(guò)我以下業(yè)務(wù)問(wèn)題:
如果有一幢居民樓的所有居民的軌跡數(shù)據(jù)(軌跡數(shù)據(jù)包含定位的經(jīng)緯度和記錄時(shí)間)涎跨,如何能夠計(jì)算出這幢居民樓的高度。
給一個(gè)人一天的軌跡數(shù)據(jù)崭歧,尋找他的OD對(duì)(行程的起點(diǎn)和終點(diǎn))
給一個(gè)人一天的軌跡數(shù)據(jù)隅很,判斷他乘坐的是哪種交通工具
......(剩下想不起來(lái)了)
四、HR面試
有些人會(huì)認(rèn)為到了hr面試環(huán)節(jié)就穩(wěn)了率碾,其實(shí)并沒(méi)有叔营。我曾經(jīng)被hr面試掛過(guò),后來(lái)找了另一個(gè)hr把我撈了起來(lái)所宰,所以對(duì)于hr面試環(huán)節(jié)也不可以掉以輕心绒尊。
我認(rèn)為hr面試環(huán)節(jié)最主要是考察我們會(huì)不會(huì)長(zhǎng)期留任,如果是其他地方的崗位仔粥,也會(huì)詢問(wèn)我們?nèi)ネ獾厣习嗟囊庠付取?/p>
關(guān)于薪水方面婴谱,據(jù)我了解,騰訊和華為都是有嚴(yán)格按照崗位和畢業(yè)學(xué)校的等級(jí)給出固定薪資水平,所以這方面對(duì)于應(yīng)屆畢業(yè)生出入不大勘究,但是也需要了解自己應(yīng)聘崗位的平均薪水大概在什么區(qū)間范圍內(nèi)矮湘。
總結(jié)
面試過(guò)程盡量展現(xiàn)自己做的事情和能力,把自己的想法說(shuō)出來(lái)就行了口糕。我一般努力將面試當(dāng)作一次交流的機(jī)會(huì)缅阳,也會(huì)向面試官請(qǐng)教各類的問(wèn)題。
現(xiàn)在大多數(shù)互聯(lián)網(wǎng)公司還是比較喜歡深度學(xué)習(xí)的內(nèi)容景描,金融業(yè)喜歡傳統(tǒng)機(jī)器學(xué)習(xí)的內(nèi)容十办,所以在面試之前也可以有針對(duì)性地復(fù)習(xí)相關(guān)的理論知識(shí)。面試之前也可以把leetcode上之前刷的題目重新看看超棺,加深印象向族。
每次面試后都把面試官的問(wèn)題總結(jié)一下,看哪些問(wèn)題自己回答的不好棠绘,那么要學(xué)會(huì)及時(shí)查缺補(bǔ)漏件相。其實(shí)無(wú)論是牛客網(wǎng)還是知乎上都有許多面經(jīng)氧苍,這方面的內(nèi)容可以多看看夜矗,一方面看看面試官問(wèn)的題目,另一方面總結(jié)一下面試者的面試經(jīng)驗(yàn)让虐。
最后希望大家打好編程的基本功和算法的理論知識(shí)紊撕,找工作一切順利!
附錄
常見算法類的面試題
各類樹模型的內(nèi)容赡突,包括bagging对扶、boosting的區(qū)別,RF的步驟惭缰,GDBT浪南、XGBoost、LightGBM這三個(gè)算法的區(qū)別漱受,尤其是XGBoost是目前業(yè)界廣泛使用的傳統(tǒng)機(jī)器學(xué)習(xí)的方法逞泄。
Logistic Regression、SVM損失函數(shù)形式和推導(dǎo)過(guò)程
如何防止過(guò)擬合和欠擬合
CNN中卷積原理拜效,1?1卷積核的作用喷众,各種激活函數(shù)的優(yōu)缺點(diǎn),L1紧憾、L2正則化如何防止過(guò)擬合
LSTM(GRU)有幾個(gè)門到千,每個(gè)門的作用
這里只是總結(jié)我遇到的比較重要的內(nèi)容,不要僅僅只有6題赴穗,但是每題包含的知識(shí)點(diǎn)非常多憔四。除此之外膀息,可以多看看牛客網(wǎng)上和知乎上的面經(jīng)了赵,徘敝В客網(wǎng)上的內(nèi)容比較豐富。
校招信息獲取的渠道
非常推薦攀裂矗客網(wǎng)的討論區(qū)冗酿,不僅有很多公司的內(nèi)推碼,還會(huì)有各種部門直推络断,部門直推一般就不需要網(wǎng)上筆試裁替,直接面試了。
找工作的各種群貌笨。
各大公司招聘官網(wǎng)弱判。