從編程基礎(chǔ)到系統(tǒng)設(shè)計(jì),這份數(shù)據(jù)工程師面試寶典全都有
面試職位之前,往往需要進(jìn)行充分的準(zhǔn)備,從理論知識到專業(yè)技能。
但是,作為數(shù)據(jù)工程師,每個(gè)人的側(cè)重方向都不盡相同。那么,面對浩如煙海的準(zhǔn)備材料時(shí),數(shù)據(jù)工程師該如何有效率地準(zhǔn)備面試呢?
對此,來自coriers,有著許多頂級科技公司(如Amazon和Capital One)采訪經(jīng)驗(yàn)的Ben R.整理了一份面試練習(xí)清單,希望能給你們提供幫助。
編程語言練習(xí)
數(shù)據(jù)工程師是與數(shù)據(jù)庫打交道的職位,而SQL作為數(shù)據(jù)庫語言,便成為了數(shù)據(jù)工程師面試過程中繞不開的話題。
而學(xué)習(xí)往往循序漸進(jìn)的。
首先是熟悉使用SQL去解決各類常見的簡單問題:
這些問題囊括了各種類型:匯總、關(guān)聯(lián)、分析等等,有些還涉及部分復(fù)雜邏輯。
很簡單嗎?那就進(jìn)行如下的進(jìn)階練習(xí)吧。要是稍微吃力的話,不妨先看看“SQL-Video”里的相關(guān)內(nèi)容。
除去SQL外,由于數(shù)據(jù)工程師工作的廣泛性,數(shù)據(jù)工程師往往還需要準(zhǔn)備其他的幾類編程語言。
比如Python顯然是目前數(shù)據(jù)科學(xué)的首選語言,雖然關(guān)于Python還是R曾有過爭論。
又比如,如果進(jìn)行較多的Hadoop,則Java則是更為得力的助手。
而Scala,也逐漸成為數(shù)據(jù)科學(xué)中第二重要的語言。
排列優(yōu)先級大體如下:SQL、Scala、Python和Java。
算法與數(shù)據(jù)結(jié)構(gòu)
在完成了編程語言的準(zhǔn)備后,在編程問題上,算法結(jié)構(gòu)與數(shù)據(jù)語言是極其常見的考察方向。
在進(jìn)入相關(guān)學(xué)習(xí)之前,且讓我們先完成幾個(gè)小問題:
現(xiàn)在如果你已經(jīng)完成了這8個(gè)問題,那就讓我們開始回顧并學(xué)習(xí)“Algorithms And Data Structures Videos”、“Algorithms”、“Big O Notation”和“Some Interview Walk Throughs”里面的內(nèi)容吧。
學(xué)習(xí)之后,檢驗(yàn)學(xué)習(xí)成果是必不可少的:
運(yùn)行編程
此外,運(yùn)行編程是編程問題方面考察的另一種形式,但是卻是較難準(zhǔn)備的,主要因?yàn)樗麤]有典型的題目,更多是來源于考官的“即興發(fā)揮”。
不過,仍然有一些非常適合準(zhǔn)備的問題。
系統(tǒng)設(shè)計(jì)
系統(tǒng)設(shè)計(jì)問題并不常見,但是也是需要準(zhǔn)備一下,以防止考官們的“心血來潮”。
做完這些功課,數(shù)據(jù)工程師的面試學(xué)習(xí)就大體完成了。
最后,祝大家面試順利,offer多多。