DE Shaw 在 2020 年 8 月的第一周访问了我们的校园 (MNIT Jaipur),进行了为期 2 个月的软件开发实习。
技术测试(90 分钟)|黑客等级:
- 给定一个数字数组,找出三元组的数量,使得 Ai
Aj>Ak 对所有 (i - 有 x 只狮子、y 只老虎、z 只豹子和 w 只黑豹。找出将它们放在一条线上的方法数量,这样没有两个相同的动物彼此相邻。 (0<=x,y,z,w<=51) [DP]
- 字符串的LCS
我能够在 40 分钟内解决三个问题,因此,我在面试中得到了极大的青睐。
在 101 名学生中,有 12 名进入了下一轮的候选名单。
技术面试 |代码对 (HackerRank) | (60 分钟):
有两个面试官,他们都非常有帮助。
- 给定两个大小为 n 和 m+n 的排序数组。与 n 和 m 元素分别合并它们而不使用额外的空间。
- 对该项目的简要讨论。
- 解释虚函数(vptr 和 vtable)。
- 多重继承和钻石问题。
- 页替换算法。
- 虚拟内存的概念。
- 使用信号量的餐饮哲学家问题,使用伪代码的互斥锁。
- 颠簸
- 将 BST 转换为最小堆。
- 谜题:磁铁线性放置,每个磁铁都被视为点物体。每个磁铁都会受到来自其左侧磁铁的力,从而使其向右排斥,反之亦然。所有的力量都是排斥的。力与距离成反比(1/d,d 是距离)。创建一个如下所示的函数,其中 n 为磁铁的数量,以及它们与原点的距离的数组,它可以找到沿直线的所有点,其中合力为零。距离必须以 epsilon 的精度计算。
- 运行整数流的中位数
- 调度(操作系统)
- 还有几个我不记得的关于 OOPS 的问题。
12 名学生中有 3 名被提升到下一个 TI。您的编码回合分数、态度、信心和沟通技巧最重要。您必须至少精通一门语言。在 geeks for geeks 上阅读与您的主要语言相关的所有文章。
技术面试 2(50 分钟):
这一轮也有两个面试官。他们也非常有帮助,并在相关时间提供必要的提示
- 设计数据结构以实现文本编辑器。我被要求编写以下操作(他们经常要求以最易读和最佳的方式编写)
- 任意位置插入
- 从任何位置删除单词
- 撤消
- 重做
- 复制粘贴
(在此期间,他们问了我与我使用的任何 STL 库以及内部工作相关的问题)
- cin 和 cout 如何工作以及关于运算符重载的问题
- 关于 C 中 malloc 和 free 的问题。
- endl 和 \n 之间的区别。
- 强类型语言和弱类型语言、动态语言和静态语言的区别,c++和Python的分类也是基于相同的。
- 如果我这样做会发生什么,不是arr[2]; while(true)arr++ ;
- 关于进程间通信的问题。
- 页替换算法。
- C++ 中的文件处理以及如果我们在具有 4GB RAM 的计算机中打开 10GB 文件会发生什么。
这一轮之后,暑期实习只选了2名学生,我有幸成为了其中的一员。
如果你愿意,那么在每一轮之后,你可以向受访者提出一些问题。
示例 您可以询问他们公司使用的技术、语言或环境。
所有问题都可以在 GeeksForGeeks 上找到,它是我找到的最好的面试准备网站。非常感谢极客团队和贡献者的整个极客。