第 1 轮:在线评估由 4 个部分组成,在 AMCAT 平台上进行。
- 代码调试: 7 题 C/C++/ Java (20 分钟)
- 编码: 2 个问题(70 分钟)
- 工作方式评估: (20 分钟)
- 推理能力: 24 题(35 分钟)
在编码部分,问题是,
- 在按行和按列排序的矩阵中搜索。
- 使用随机指针复制链表。
大约 16 名学生通过了 185 名考试。
第二轮(F2F技术面试) :这是在Amazon Chime(一个视频通话平台)上进行的,面试持续了1个小时。
- 首先,面试官要求自我介绍,然后他分享了他的角色和他正在从事的项目。这是一个 2-3 分钟的正式介绍,直接进入编码问题。
- 您的任务是开发一个简单的搜索引擎,该引擎还负责纠正拼写错误并在字典中显示与给定工作匹配的单词。 (还规定用户最多只能犯一个拼写错误)
Input: D = ["abc", "bcd", "ad", "ab"] User: 1. "bbc" Return ["abc"] 2. "bb" Return ["abc", "ab", "ad"]
- 他让我先解释一下这个方法。
- 首先,我分享了一个蛮力方法并给出了时间和空间的复杂性。我被要求优化。
- 我分享了一个小优化的方法。面试官期待最优化的解决方案。
- 最后告诉了trie数据结构的解决方案,然后就被要求编码了。
- 我开始在实时编码环境中编写解决方案,并与面试官持续交谈,讨论各种边缘情况和可能性。他帮了我很多,非常友好。
- 我正在链接一篇 GFG 文章以供参考,但需要修改解决方案:Trie-Insertion-and-search。
- 然后我们对代码进行了试运行,发现了一个错误并修复了它,还讨论了复杂性。
- 这花了这么多时间,面试官对代码很满意,问我有什么问题。
- 我只被问了一个问题,但我的一些朋友总共被问了 2-3 个问题。
第三轮(F2F技术面试):这也是在Amazon Chime(视频通话平台)上进行的,面试持续了1个小时。这一轮以面试官和我的简短介绍开始(大约 15 分钟后,另一位面试官加入了进来)。他直接走向编码问题。
- 小行星碰撞( https://leetcode.com/problems/asteroid-collision/ )
我们得到一个小行星数组,这些整数代表一行中的小行星。
对于每颗小行星,绝对值代表它的大小,符号代表它的方向(正表示右,负表示左)。每颗小行星以相同的速度移动。
找出所有碰撞后小行星的状态。如果两颗小行星相遇,较小的一颗就会爆炸。如果两者大小相同,则两者都会爆炸。两颗同向运动的小行星永远不会相遇。- 开始提出问题以澄清对约束的疑虑。
- 以通常的方式,我首先分享了一种蛮力方法,并给出了时间和空间的复杂性。我被要求优化。
- 我给出了一个最佳堆栈解决方案,并被要求对其进行编码。
- 我错过了后来指出的边缘情况,我更正了代码。
- 试运行代码并讨论了复杂性。
- 排序数组中的单个元素(https://leetcode.com/problems/single-element-in-a-sorted-array/)
给定一个仅由整数组成的排序数组,其中每个元素都恰好出现两次,除了一个元素只出现一次。找到这个只出现一次的元素。- 我分享了蛮力方法并被要求进行优化。
- 我给出了另外两种不是最优化的方法。
- 后来我进行了二进制搜索修改,但无法完成代码并且陷入困惑无法弄清楚出了什么问题。
- 过了一会儿,面试官让我换一个问题。
-
从根到叶路径形成的所有数字的总和
给定一个二叉树,其中每个节点值都是一个数字 (0 – 9)。找出从根到叶路径形成的所有数字的总和。
例如,考虑以下二叉树。6 / \ 3 5 / \ \ 2 5 4 / \ 7 4
- 我分享了一个解决方案,面试官让我解释所问的问题。
- 之前的代码没做完很紧张,误解了问题,给出了方法。
- 后来我问了一些问题来澄清我的疑惑。
There are 4 leaves, hence 4 roots to leaf paths: Path Number 6->3->2 632 6->3->5->7 6357 6->3->5->4 6354 6->5>4 654 Answer = 632 + 6357 + 6354 + 654 = 13997
- 我分享了一种方法并对其进行了编码,其中存在错误。
- 时间到了,面试官让我停下来问我有什么问题。
结果:很遗憾,我没有通过面试。 16 名学生中只有 2 名被选中。
提示:
- 在跳入解决方案之前,请仔细聆听并正确理解问题,并避免对问题进行任何假设。提出疑问并澄清问题的每个细节。
- 在面试过程中保持冷静、积极和专注。 (面试前不要和同龄人说话)
- 清楚你的方法并尝试考虑所有可能的边缘/角落情况。
- 尝试熟悉方法中每个部分的时间和空间复杂性。
- 自信点。如果你被困在某个地方,面试官通常会帮助你找到正确的道路。只是继续大声思考。
- 面试有轻微的运气因素和对白天的依赖。只要有信心,以积极的态度解决所有问题。
- 练习来自 GeeksforGeeks 和 LeetCode 的问题并阅读最近的面试经历。
- 不要因为拒绝而失去动力。尽你最大的努力,每天进步,这样你就不会从准备方面后悔任何事情。
有些采访只是没有一个圆满的结局。