Eagleview班加罗尔面试体验
流程:筛选 -> 技术轮 1 -> 技术轮 2 -> 人力资源 -> 20 分钟 40 题能力 -> 选择
筛选轮:有近千名学生申请这一轮。这是一个基于计算机的 Algo DS 测试,我们被提供了三个问题,并有 2.30 小时的时间来完成它们。所有问题都很容易到容易中等水平,我能够在 40-45 分钟内完成。我的很多朋友也在同一时间范围内完成了它。
Technical Round 1:本轮有近80-90名学生入围,基本上所有三个问题都解决的人都被选中进入技术轮。
这一轮持续了将近60-70分钟,面试官很nice,也许这就是我记得他名字的原因(如果你想知道的话是Anoop ),面试从一般介绍开始,然后他看了我的简历问我关于我在 DS 和 Algo 以及竞争性编码方面的经验(他问我是因为我在简历中提到过)。在介绍和一些 React 问题之后(他再次问我,因为我在简历中提到过),真正的 DS Algo 面试开始了。
第一个问题:给定一个数组,找到第二个最大元素。
回答:给了他一个O ( N log N)排序方法,他让我优化它,给定一个使用heap的O(n) + O(log N)方法,他再次要求我优化它,最后我给了他是一个使用for 循环的简单O(n)解决方案。我还给了他一个使用堆栈的O(n)解决方案。
第二个问题:打印树的后序遍历。
答:在给他一个给定树的解决方案时,他让我为它编写代码,我给他简单的递归解决方案,他让我给出迭代方法,我使用两个堆栈编写它。
第三题:给定一棵树,将所有相邻的同一层节点连接成一棵二叉树。他向我展示了树的结构,其中包含一个额外的“下一个”指针。
回答:花了一些时间思考,然后给了他一个简单的解决方案,即使用具有级别或高度参数的 DFS 来跟踪级别并根据其级别将其存储在向量的向量中。然后他告诉我删除向量的额外空间。
又花了一些时间,给了他一个使用std::pair
Technical Round 2:近30-40名学生入围本轮(只是我的大概不知道具体数字)
这次面试官很粗鲁,甚至在我坐下之前就开始提问,他从OOPS的问题开始,问我关于数据抽象和封装的问题,我能够回答。然后他给了我一个很长的用例,他说了将近一分钟,一直在这里和那里漫游而不是坐着,我在中间失去了他,但等他说完,然后让他重复一遍或解释我纸,他让我留下它,并问了我一个关于 DS 和 Algo 的问题。
问题:找出是否 n!是否能被 10^k 整除,其中 n 和 k 是变量。 (这一次他很不清楚,但我一次又一次地问他以确保我正确理解了这个问题,他似乎很沮丧,但我还是问了 XD)。
答:我告诉他,基本上,我们需要找到n 中零的个数! ,如果它大于或等于 k ,它将被 10^k 整除,否则不能。另外,我给了他一个蛮力的方法,它需要 O(n) 时间,他让我删除循环。因此,我给了他一个优化的方法来解决它,只需计算n 的尾随零的数量! .
下一个问题是动态编程,他让我给出一种有效的方法来找到两个字符串中公共子字符串的最大长度。但甚至在我给他任何解决方案之前,他就改变了问题并要求我编写插入 AVL 树的代码。在思考了一段时间后,我告诉他我忘记了 AVL 树中涉及的旋转,但如果他能给我一些提示,我可以很容易地为它编写代码(因为它只是使用 BST 插入和一些旋转来保持平衡)。
他让我留下这个问题,并问了我一些我无法正确回答的谜题,然后结束了采访,他让我在外面等着。
状态:第二轮技术被拒绝!
如果您想知道有 8 人被选为 EagleView 的实习机会。