第1轮:
这是在 HackerRank 平台上的编码测试。那里问了两个简单的算法问题,需要有关 STL(用于 C++)和数学的基本知识。测试持续时间为 45 分钟。
问题 1:给出一个表示 HTML 标签的字符串。查找对应的 HTML 标签是否相等。为真返回 1,为假返回 0。
示例 – 1
返回 true。 (是的,顺序无关紧要)示例 -2
返回 false。问题 2:给定一个数字 N,找出序列 1、2、3….N 的第 m 个最短排列中的第 k 个字符。
示例:N=3,k=2,m=2。
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
这些将是排列,现在第二排列的第二个字符将是 3。
第二轮:
经过编码测试,22人入围面试。我有两次面试。第一次面试是电话面试,持续了大约 2.5 个小时。
面试 1 中包含的问题:
- 给定一串数字,找出数字的中位数。
- 考虑到它们每天的价格,关于股票销售的几个 DP 问题。
- 给定一个二维字符网格和一个单词列表,找出在网格内可以找到多少个单词。我们可以在所有 8 个方向上搜索。
- 一个关于贪婪方法的问题,面试官试图让我困惑,解决方案必须是动态规划,但事实并非如此。
- 关于构造函数的 Java-OOP 相关问题。
- 关于实现通用数组的问题,还被问到了Java-C++ 编码的基本差异。
面试 2 中包含的问题:
- 找到在 O(1) 空间和 O(n) 时间复杂度中出现超过 n/2 次的多数元素。
- 关于如何将 n 个盒子分成 k 个分区以获得最大利润的 DP 问题。盈利条件,假设分区中盒子的价格总和为25,那么我们可以将其显示为30,因此获得5。同样,如果是24,我们必须将其显示为20,因此我们输了4.
- SQL 查询:在给定的 Salary 表中查找第 5 大的薪水。
- 解释脏读问题以及如何进行调度来克服它。
- 解释悬空指针。
- 在Java如何克服虚函数的缺失。
第 3 轮:
第 3 轮是 HR 轮。问题很简单。它包括——
- 说说你自己。
- 您对 DE Shaw 公司了解多少?
- 您对公司有什么期望?
最后,HR 告诉我,我目前的表现还不错,很有可能我会被选中。
结果 – 选择。