MakeMyTrip 面试经验(数据工程师)
第 1 轮: MakeMyTrip 首席工程师电话采访:
Q1。 Spark dataframe 和 rdd 之间的区别,哪个更好?
Q2。给定两个关系表,让我为此编写一个 sql 查询和 spark 代码。
Q3。 CAP 定理以及 CAP 定理 Hbase、HDFS 和 Cassandra 的哪一部分遵循?有理解释。
Q4。 scala 中的选项和特征。
Q4。 scala 中的工厂方法。
Q5。 Spark重新分区与合并以及何时使用它们?
Q6。 HDFS 中的检查点。
还有一些关于 spark-sql 的问题。嗯,我回答了超过 80% 的问题,面试结束时面试官很满意。
第 2 轮: MakeMyTrip 古尔冈办公室的 F2F 与数据工程小组:
Q1。您在 hdfs 中有两个文件,一个具有包含两列开始日期和结束日期的日期范围,另一个具有两列包含日期和访问者字段的文件。您必须编写一个火花代码,该代码给出的日期范围具有最大编号。的访问者使用这两个文件。
Q2。 Spark Catalyst 优化器架构。
Q3。为什么我们使用 Options 从 Scala 中删除 null?那有什么好处呢?
Q4。 Scala 是静态类型的或动态类型的。
Q5。 Apache Kafka 架构并编写代码以将其与火花流集成。
Q6。 Spark Streaming 中的 Dstreams 以及您可以在 dstreams 中应用的各种操作。
问题 7。 SQL 查询以明智地查找第 n 个最高薪水的部门。
Q8。证明 CAP 定理。
我已经给出了大部分问题的解决方案,hr让我等待下一轮。
第三轮:这一轮基于数据建模。面试官给了我一个白板标记并在他的手机上打开了 MakeMyTrip 应用程序,然后他要求我为每个页面创建数据模型,从预订页面到酒店列表页面,最后是交易页面。
我为每个页面设计了数据模型,然后他给了我 3 个聚合查询,并希望我进一步优化我的模型,以便这些查询的响应时间最短。
然后他告诉我在我之前创建的数据模型的基础上设计一个数据流。我将 kafka 用作集中式服务,并为每个页面(模型)创建主题并建议他一个解决方案。他对解决方案印象深刻,并告诉我等待 HR。
第 4 轮:这是与技术负责人的一次缩放会议,他问了我几个问题:
Q1。我在以前的公司面临的各种挑战是什么?
Q2。你做过的最好的数据分析。
Q3。 Git 变基与合并。
Q4。为什么我们需要在 hbase 中使用 zookeeper?
Q5。我的技能是什么?
完成那一轮后,我接到了 HR 的电话,说你被选中了。