第 1 轮:能力倾向测试
- 进行了能力倾向测试,包括 20 个 MCQ 和 2 个编码问题。 MCQ 非常简单。 MCQ 基于数据结构/渐近符号/数据结构以及定量和语言能力。
在编码部分,有一个基于字符串和基于蛮力的简单问题。
问题是检查一个给定字符串的子字符串是否是另一个字符串的字谜。Input: zamo amazon Output: Yes
- 第二个问题属于中等级别,其中输入是一个表达式字符串,您必须评估给定的字符串是否有效。如果是,则返回表达式的值,否则返回 -1。
Input : 5+7*2 Output : 19 Input : 5++4 Output : -1
我解决了一个完整和一个部分。
第二轮:技术面试一(约一小时)
- 在 Aptitude 之后,他们选择了 18 名候选人,并宣布面试将在接下来的 15 分钟内开始。
他先自我介绍,然后请我介绍,只是为了营造一个友好的环境。之后,我被问到技术问题。
问题 1:您已获得一个字母数字字符串,从中提取最大数值Input: 100klh564abc365bg Output: 564
答:我给了他ao(n)方法,他给了我几个测试用例并试图证明我的逻辑是错误的,有一个我错了,因为我使用了int数据类型来纠正错误,我告诉他我会使用 long int 代替。然后我问他是否可以使用字符串.h 库?他说是的,然后我给了他 iotn() 方法。然后他让我写代码。
- 问题 2:你得到了一个生成器字符串ab,通过在任意位置插入 ‘ab’ 可以递归地生成任意数量的字符串。您已获得一个输入字符串以检查该给定字符串是否有效。(即由 given with given 字符串生成。)
eg. Input: aabbab Output: valid Input: abbaab output: Invalid
回答:
首先我给了他 o(n^2) 方法,然后他告诉他想要 o(n) 方法。大约 5 分钟后,我给了他 o(n) 方法,涉及两个指针。然后他再次告诉我我将遍历输入两次。如果我想一口气完成怎么办?之后我使用计数变量给了他解决方案。 (这是 PDA 问题,还有一个基于堆栈的解决方案,但我没有给出该解决方案,因为当时该解决方案并未奏效)
然后他问我:“你有什么想问我的吗?”
我问了他关于工作简介、他的项目和他在亚马逊的经历
第三轮:技术面试 2(1 小时)
- 第 1 轮一小时后,他们告诉我我被选中参加第 2 轮。就像第 1 轮一样,他让我自我介绍。然后他开始问技术问题。
- 问题1:从双向循环链表中删除一个节点。
答:这个问题很简单,所以我问了他关于约束的问题,比如有没有节点可以存在的条件和数据约束。在听完约束后,我编写了一个涵盖所有可能性的代码,因此我们手动检查了该代码的几个测试用例。 - 问题2:他发现我有点紧张,问我紧张的原因。我回答说,因为这是我第一次面试,我感到很焦虑。他问我为什么会这样,尽管在亚马逊之前很少有公司访问过校园,猜测我一定至少有过一次面试经历。
答:我跟他说我不符合资格是因为指针低,然后我告诉他为什么我的 CPI 低以及我如何擅长编码。 😛
然后他鼓励我,这对我来说是非常好的和积极的事情(如果你表现出积极的一面,通常面试官会这样做)。然后他问了几个与我的爱好有关的问题,让我的心情变得新鲜。
回到技术问题…… - 问题 3:您已经获得了 n 天的股票价格,并找到了最佳买卖日,即利润最大化。
答:我告诉他我已经在 Morgan Stanley Hackathon 中解决了类似的问题,然后我给了他 o(n2) 方法并告诉他,当我在比赛中实施此方法时,我收到了 TLE(time limit exceeded) 消息,因此我对其进行了修改并找到了在比赛中得到 AC(全部正确)的 ao(nlogn) 解决方案。然后我使用 STL 解释了 o(nlogn) 解决方案。他告诉我不要使用STL并问我是否可以在o(n)中解决这个问题?我回答说我会试试。然后 10 分钟后,使用 dp 方法我成功地解决了这个问题。然后我们检查了一些测试用例。
在这个问题之后,他问我是否有任何问题。参考第一次采访,我们讨论了大约 10 分钟关于亚马逊目前正在进行的项目以及他在亚马逊的经历。
(我认为这个问题很重要,因为这个问题反映了你对选择的信心以及你的兴趣。)
面试后几天,我收到一封邮件,说我被选中参加实习,希望你也能收到类似的邮件。
如何准备实习?
- 数量和语言能力:
- indiabix.com 绰绰有余。
- 您也可以使用 RS Agrawal 书籍。
- 技术能力:
您可以使用的任何 DSA 和 DBMS 书籍。 - 简化的数据结构非常棒,对于 DSA 来说已经足够了
您必须在 quiz.geeksforgeeks.org 上解决 MCQ
编码回合:
- 这与 MCQ 完全不同。您必须编写和调试代码,因此练习对于这一轮非常重要。
- 研究算法和数据结构的实现参考geeksforgeeks,也尝试在practice.geeksforgeeks.org上解决问题
- 对于标准算法,请遵循hackerearth 的codemonk 系列。
- 逻辑开发通常需要更多时间,因此请尝试在 codechef 和hackank 上练习。也尝试参加codechef的直播比赛(每月codechef长挑战)。
技术面试:
- 在技术面试中,您应该了解众所周知的数据结构和算法。从 geeksforgeeks 学习并在 codechef 上实现。如果您已准备好进行编码,那么准备面试就是小菜一碟,您所要做的就是自信。要令人印象深刻地回答编码问题,我建议您通过一次职业杯问题。
- “破解编码面试”是技术面试技巧的最佳书籍。另外,如果你有好学的朋友圈,试着和朋友进行模拟面试。 (老实说,一旦实习程序开始,每个人都会变得认真,所以你可以轻松管理。)
最后,如果时间允许,我还建议在interviewbit.com 上编码。
小贴士(特别是给 SY 阅读本文):
- 尝试将 CPI 保持在 8 以上,否则您将错过一些机会。另一件事 CPI 仅与资格有关,之后 CPI 只是一个数字而已。所以如果你没有不错的 CPI,那么 TY 正在阅读这篇文章,然后系上你的鞋子编码(我的 CPI 仅为 7.8)。
- 尝试在codechef和hackerank上编码并尝试参加现场比赛
.
祝你一切顺利! 🙂
如果您喜欢 GeeksforGeeks 并愿意做出贡献,您也可以写一篇文章并将您的文章邮寄到 review-team@geeksforgeeks.org。在 GeeksforGeeks 主页上查看您的文章并帮助其他 Geeks。
亚马逊的所有练习题!