DE Shaw 2021 年校园面试体验
DE Shaw 于 2020 年 8 月的最后一周访问了我们的校园(VJTI,孟买),进行了为期两个月的 2021 年软件开发实习。
在线编码回合(95 分钟):每个编码问题单独计时。
- 给定一个由 10 位数字组成的数组,您必须在数组中找到最接近所有其他数字的数字。如果一个数字中对应位置的不同数字少于 k 个,则称该数字接近另一个数字。例如: 1234567890 和 1234567789 在 3 个地方不同。
给定的输入是一个数字数组和 k 的值。数字前面可以有 0。如果 2 个数字与所有其他数字同样接近,则返回两者中的最小值。 [25 分钟] - 给定一个数字序列,返回特定输入数字在序列中的位置。这个序列是这样的,其中没有包含 4 的数字。
Input: 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15N = 15(Find position of the number 15)Output: 13
输入也包含大量数字。 [35 分钟]
- 这是一个基于图表的问题。一只狗必须抓住一只猫。给定输入是时间 t、图中的节点以及两个节点之间的距离。在 t = 1 时,游戏开始,狗迈出了抓猫的第一步。在 t = 2 时,猫采取措施减少被抓住的机会。他们两个交替地采取他们的步骤。问题是确定猫是否会在 t 秒内被抓住。 [35 分钟]。
130多名学生中有10名学生进入了下一轮。
技术面试轮 CodePair(60-75 分钟):面试从面试官问我自己开始。我介绍了自己,然后继续谈论我的项目。我确保我会更多地谈论我知道的东西,以邀请有关相同的后续问题。面试官让我详细谈谈我最近的项目。
这是一个数据库管理项目,因此随之而来的是一些与此相关的问题。
- 你用的是什么数据库?
- 你为什么用它?
- 您会对这个现有项目做出哪些改变?
我详细回答了每个问题。他对答案很满意,我们直接开始编码。
给出的问题是:https://leetcode.com/problems/remove-duplicate-letters/
采访一开始就告诉我,他只是希望我向他解释一种方法,而不是实际编写解决方案。我首先澄清了这个问题,然后给了他一个天真的方法,我用几个测试用例解释了这个方法。一路上他给了我一些提示。不知过了多久,我终于拿出了最优化的方案,给他解释了一遍。我还没有完全考虑到我可能会失败的所有边缘情况。受访者告诉我,我有 4 分钟的时间来编写代码并针对示例输入进行测试。由于缺乏快速编码的时间和压力,我的代码在测试用例中失败了。
然后他继续询问我的偏好语言(C++)并问了我一些与此相关的问题。
- 指针可以有 NULL 值吗?
- 什么是多态性?解释它的类型。
- 什么是虚函数?
- 它们是如何实施的?我应该解释 vptr 和 vtables 的概念。
然后我被问到与数据库管理相关的问题。
- 酸的性质是什么?用一个例子来解释每一个。
在解释房产的每个阶段,我都被要求跟进问题。例如,你能解释一下数据库是如何以及何时被称为不一致的吗?你如何避免它?
我们还讨论了各种范式和依赖关系。 - 我被问到一些与多线程相关的操作系统问题。还询问了内存管理问题。由于我对这些概念不是很确定,所以无法给出满意的答案。
两名学生被选为进一步的轮次,我没有晋级。
尖端:
- 确保您事先对 CS 概念有透彻的了解。我们的面试轮次被提议,这让我们几乎没有时间去刷任何东西。因此,如果一个人提前对核心概念有信心,这将是有帮助的。
- 即使在解释问题的方法时,也要尝试并行考虑如何编写代码。
- 阅读之前的面试经历。它将对人们应该期望的问题类型给出一个公平的想法。
- 对于像 DE Shaw 这样的公司来说,练习中等难度和难度级别的编码问题将是正确的选择。
祝一切顺利!