亚马逊专访 |设置 50(SDE 校内)
最近,我经历了亚马逊印度的面试经历,想和大家分享一下我的经历。
面试次数: 1 在线考试(将由编译器自己进行全面评估,然后由招聘团队分析将清除截止的人员的代码)+ 3 面对面技术 + 1 电话(再次技术)
在线考试:
20 MCQ:能力倾向题,如果你擅长逻辑推理,那就不用担心(基本排列组合),C 输出题,大部分都很简单。
2 在线编码题: 1. 打印字符串中第一个不重复的字符。
2. 打印二叉树的左视图。
面对面1:
给出了具有垃圾值节点的二叉树的骨架,并给出了一个数组。必须用数组中的值填充二叉树骨架,以便生成的树是 BST。
解决方案:对数组进行排序,按顺序输入值(关于哪种排序算法最好以及为什么的长时间讨论?我们最终讨论了如何优化合并排序,只是“优化”,而不是像减少顺序时间或空间复杂度)。然后告诉我为讨论的合并排序解决方案编写合并排序函数,比如说我是一名开发人员,我无法在机器上进行测试,而这个类将被一百万个用户使用。
2面对面:
被问到 4 个问题:打印所有字符串排列(字符串可能有重复字符)。
非常大的二叉树中两个值之间的最小距离(二叉树可能在许多节点中包含相同的值)。
5
1 7
4 3 8 2
1
{最小距离是 1 和 2 之间的 3(不是 5)。 }
垂直打印二叉树中的值。就像前面的例子一样:
4、7
1
5、3、8
7
2
接下来,我被要求为一栋 n 层楼的两部电梯设计一个高效的数据结构。
第三轮面对面:
必须在两种情况下连续几天在一系列股票价格中找到最大利润,一种我可以随意买卖任意次数,第二种我只能买卖一次。
另一个问题是定义一个函数“inorder_it(Node A, Node root)”,它将二叉树中的下一个节点返回到特定节点 A。被要求为它们编写代码。
第四轮:电话:
有点人力资源+技术,问了很多关于我的实习项目和其他学术项目的问题。然后我们讨论了基于特定列对文件的行进行排序的问题。就像在 Excel 文件中一样,您可以根据 roll_no、名字、姓氏、您想要的任何列对文件进行排序。
文件非常大,因此您不能将整个文件存储到内存中。
解决办法:自己解决。
祝大家一切顺利。
是的,我和我大学的其他 5 位同学一起度过了难关。