第 1 轮(在线测试 1 小时 40 分钟):在 Aspiring Minds AMCAT 平台上进行。有3个部分:
- 口头推理:它有一些问题,例如用正确的单词填空,选择一个更好的选项来替换突出显示的短语和基于段落的问题。我们有 15 分钟的时间来解决 14 个问题。
- 商业分析:这部分有问题,图表、股票、公司的业绩等被给出,我们应该通过分析来回答这些问题。本部分有 14 个问题需要在 25 分钟内解决。
- 编码:有 2 个问题需要在 1 小时内解决。每个人都有不同的问题。
-
给定一个数组和一个 int k,如果 arr[i] 和 k 都是正数或负数,我们必须用该数组的下 k 个元素的总和替换 arr[i] 否则,如果任何人为负数,则替换 arr[i] ] 与一些以前的 |k|元素并打印新数组。
1
我使用了蛮力并且通过了 11/12 TC。后来我意识到它可以在修改后的前缀/后缀和数组的帮助下完成。
-
给定一个未排序的整数数组,找到它的最大子序列的长度,使其先增加然后减少,并且增加和减少部分的元素数量应该相同。
我找出了最长递增子序列 (p) 和最长递减子序列 (q) 的长度并返回 2*min(p,q)-1,我知道这不是 100% 正确的解决方案。 9/19 TC 已通过。
Input: 1 2 3 2 1 4 5 6 7 19 15 12 10 9 Output: 9
-
还有3轮。我想 2 名技术人员和 1 名 HR。我被选中参加面试。
第二轮(技术面试 45 分钟):由于大流行,它在 Zoom 上进行。他让我先自我介绍一下。之后,他分享了一个协作编辑的链接,这基本上是我们之间的共享文档。
- 使用链表实现队列(代码和解释)
- 给定一个无符号整数,返回它的反向二进制字符串(代码和解释,使用按位移位运算运算符回答预期)
- 最长递增子序列及其时间复杂度(代码和解释,我没有给出 DP 解决方案,但它的时间复杂度为 O(n^2))
- 什么是回溯?
- 什么是 OOP,它与所有其他范式有何不同?
- 什么是多态,它的类型(编译时和运行时多态)
- 什么是规范化?我们为什么需要它?所有的正常形式和它们之间的区别是什么?
- 什么是信号量、它们的类型、它们是如何实现的以及为什么实现?
- 进程和线程的区别
- 操作系统死锁的4个条件
我的一位朋友被问到什么是哈密顿循环和路径,并被要求对其进行编码,因为他在简历中写了离散数学。 (所以,确保你在简历中写的东西不会适得其反。)有些人也被问到关于图表的问题。
最后,他问我以后有什么打算,如果我想找工作或继续深造等等。
面试官看起来不是很感兴趣。也许是因为那是一个星期天的下午,他从早上开始就一直在接受采访。他甚至没有微笑,没有给我任何提示,也没有告诉我解决方案是否正确或需要优化,或者最后问我是否有任何问题要问他。
我希望进一步被选中,但我被取消了资格。