量子位|从编程基础到系统设计,这份数据工程师面试宝典全都有


木易 发自 凹非寺
量子位 报道 | 公众号 QbitAI
面试职位之前 , 往往需要进行充分的准备 , 从理论知识到专业技能 。
但是 , 作为数据工程师 , 每个人的侧重方向都不尽相同 。 那么 , 面对浩如烟海的准备材料时 , 数据工程师该如何有效率地准备面试呢?

量子位|从编程基础到系统设计,这份数据工程师面试宝典全都有
本文插图
对此 , 来自coriers , 有着许多顶级科技公司(如Amazon和Capital One)采访经验的Ben R.整理了一份面试练习清单 , 希望能给你们提供帮助 。
编程语言练习
数据工程师是与数据库打交道的职位 , 而SQL作为数据库语言 , 便成为了数据工程师面试过程中绕不开的话题 。
而学习往往循序渐进的 。
首先是熟悉使用SQL去解决各类常见的简单问题:

量子位|从编程基础到系统设计,这份数据工程师面试宝典全都有
本文插图
这些问题囊括了各种类型:汇总、关联、分析等等 , 有些还涉及部分复杂逻辑 。
很简单吗?那就进行如下的进阶练习吧 。 要是稍微吃力的话 , 不妨先看看“SQL-Video”里的相关内容 。

量子位|从编程基础到系统设计,这份数据工程师面试宝典全都有
本文插图
除去SQL外 , 由于数据工程师工作的广泛性 , 数据工程师往往还需要准备其他的几类编程语言 。
比如Python显然是目前数据科学的首选语言 , 虽然关于Python还是R曾有过争论 。
又比如 , 如果进行较多的Hadoop , 则Java则是更为得力的助手 。
而Scala , 也逐渐成为数据科学中第二重要的语言 。
排列优先级大体如下:SQL、Scala、Python和Java 。
算法与数据结构
在完成了编程语言的准备后 , 在编程问题上 , 算法结构与数据语言是极其常见的考察方向 。
在进入相关学习之前 , 且让我们先完成几个小问题:

量子位|从编程基础到系统设计,这份数据工程师面试宝典全都有
本文插图
现在如果你已经完成了这8个问题 , 那就让我们开始回顾并学习“Algorithms And Data Structures Videos”、“Algorithms”、“Big O Notation”和“Some Interview Walk Throughs”里面的内容吧 。
学习之后 , 检验学习成果是必不可少的:

量子位|从编程基础到系统设计,这份数据工程师面试宝典全都有
本文插图
运行编程
此外 , 运行编程是编程问题方面考察的另一种形式 , 但是却是较难准备的 , 主要因为他没有典型的题目 , 更多是来源于考官的“即兴发挥” 。
不过 , 仍然有一些非常适合准备的问题 。

量子位|从编程基础到系统设计,这份数据工程师面试宝典全都有
本文插图
【量子位|从编程基础到系统设计,这份数据工程师面试宝典全都有】
系统设计
系统设计问题并不常见 , 但是也是需要准备一下 , 以防止考官们的“心血来潮” 。

量子位|从编程基础到系统设计,这份数据工程师面试宝典全都有
本文插图
做完这些功课 , 数据工程师的面试学习就大体完成了 。
最后 , 祝大家面试顺利 , offer多多 。