德国New Yorker data engineer面试经验
今天面了一个New Yorker的data engineer,之前面的都是干聊,第一次面到有技术相关的问题,感觉总算收集到了点有用的经验,把职位描述放在文末吧。
面试官是一个data scientist,今天是一个小时的电话技术面,如果进入下一轮会让做一个为期一星期的项目,之后再是 vor Ort。他们team一共20人,有data scientist和data engineer,主要任务分为四个方向,都挺有趣的:
1. order optimization:分析不同产品,大小,颜色准备多少库存才能更优
2. distribution:每个分店怎么分配库存
3. markon pricing:如何定价
4. image:分析照片,分析现状流行趋势
介绍完他们的team和工作之后就问了些基本问题:
1. 首先他看我背景更偏data scientist一些,就问我确定知道自己在找什么职位,为什么要做data engineer
2. 你的职业规划是什么,你对这个职位的期望,ideal role
3. 然后他就让我讲一下我毕设具体做了什么
笼统的问题没问很多,可能因为人家搞技术的,之后就开始问技术问题了
1. 现在有堆数据,不知道有多少,让你尽量高效地随机sample其中的10%出来,如何做?
2. 有一个小file100MB,和一个大file10GB,内存2G,如何高效的join两个file
小的file用hash表
3. 上一题的扩展:如果有两个比内存大的file,如何高效的join
先排序再join
都是些很基础的算法思路,这类题目都可以往上想想
4. 之后就问了些python相关的概念
(1) list和tuple的区别是什么呀?
(2) generator是什么呀?
(3) pickling unpickling是什么呀?
5. 用没用过container呀?
6. 数据库:inner join left join union的区别
7. 大数据技术,讲讲 HDFS 是啥吧
8. 数据库的 denormalization 优缺点
(我发现意思我懂但是一到这种term就不知道在问什么了哎,学习还是得用英语,记term)
差不多就这么多,总结就是下次面试之前把python,数据库,简历上写的技术的相关面试题都刷刷,算法的思路也培养一下,如果有后续再更,估计是凉了。