8 月 GS HR 联系了它,并提供了 HackerRank Test 的测试链接。
黑客等级测试:
- 给定一个整数矩阵,任务是找出位置元素的数量。位置元素是在行或列中为最小值或最大值的元素。如果一行或一列中有多个最小或最大元素,则返回 -1。
- 0/1 背包问题。另外一个补充是,您必须说明为最佳解决方案选择了哪些所有项目。 https://www.geeksforgeeks.org/printing-items-01-knapsack/
CoderPad Round: 20天左右后,我接到了coderpad面试的电话。通常在这一轮中会问 2 个问题,但是如果您能够完整地解决一个问题并提供相关的测试用例,那么您就完成了。
问题:给定一个单词字典和一个特定单词,您需要找到字典中最长单词的列表,这些单词是给定单词的字谜。
现场 PI 轮次: 2 周后,我被叫到 GS 办公室班加罗尔进行个人面试轮次。
第一轮:这一轮主要涉及编码问题,然后是我的简要介绍。
- https://www.geeksforgeeks.org/detect-and-remove-loop-in-a-linked-list/
- https://www.geeksforgeeks.org/dijkstras-shortest-path-algorithm-using-priority_queue-stl/
- https://www.geeksforgeeks.org/search-in-row-wise-and-column-wise-sorted-matrix/
- https://www.geeksforgeeks.org/josephus-problem-set-1-a-on-solution/
第 2 轮:这一轮还涉及 2 个编码问题——每个面试官一个。提供了多种货币兑换率,例如美元兑换印度卢比、印度卢比兑换欧元、欧元兑换日元等。我们需要将一种货币兑换成其他货币。通过跟踪每次转换,我们会得到一些错误,因此我们需要最小化错误。我首先给出了 DFS 和 DSU 解决方案,但这个问题被缩小到 BFS。
假设您有 3 GB 的数据和 3 个大小为 1 GB 的笔式驱动器。以这样的方式存储数据,如果其中一个笔式驱动器丢失,我们仍然可以恢复丢失的数据。我试图通过对值进行异或来解决这个问题。
第三轮:与前两轮一样,本轮也有2个面试官。这一轮基本上是想测试一下我的c++技能。
- 析构函数可以是私有的吗?
- C++中的多线程实现
- 工控机实施
- “select * from table order by col1 aesc, col2 desc, col3 aesc”的内部实现
- 一个基本的编码问题 – 记不太清了
- 谜
第 4 轮:这是一种管理轮次,他首先问我的介绍,然后是我职业生涯早期转换的原因。然后他让我在白板上解释我对 C++ 的了解。接下来是对我的项目的深入讨论。他给了我编码难题,其中主要基于数据库访问和我的项目。有人问了 C++ 中映射的内部实现以及为什么我们在 AVL 树上使用红黑树。
第五轮:本轮由工程总监面试,面试官是有经验的人。他让我解释我的项目,我们就它进行了讨论。随后他解释了团队的角色以及我在团队中的角色。这一轮是最短的。
CoderPad 2:经过 2 天的现场轮次后,HR 通知我,周一为我安排了一轮 coder-pad 轮次,这将是最后一轮。
- https://www.geeksforgeeks.org/given-a-string-find-its-first-non-repeating-character/
- https://www.geeksforgeeks.org/trapping-rain-water/
在这些轮次之后,我接到了一个关于我的期望和其他细节的电话,他们需要推进我的候选人资格。