亚马逊面试经历 |设置 210(校内)
我在这里分享我在亚马逊校园面试中的经验。亚马逊访问了我们的校园以获取 SDE-1 职位。
第一轮(编码+能力)
有 20 个基于能力和技术问题的 MCQ。问题的质量很好。
两个编码问题如下:
1. 将给定的树转换为求和树(来自 geeksforgeeks)
2.给定一个未排序的正负数数组,创建一个交替的正负数数组,而不分别改变正负数的相对顺序。假设数组是(零被视为正数)
数组:9 4 -2 -1 5 0 -5 -3 2
结果:9 -2 4 -1 5 -5 0 -3 2
约 300 名候选人中,有 24 名候选人入围面试。
第 2 轮 (F2F)
被问到的问题是,告诉我你自己,最具挑战性的项目,在任何项目中最冒险的步骤,任何你为团队做了额外事情的项目,即使它不是必需的。
1. 给定一个带有 next 和 down 指针的多级链表,如下图所示:
在不使用任何额外空间的情况下给出以下输出:1->4->6->7->2->5->8->3
解法:使D的next指针指向A的down指针,接着使next指针1指向B的down指针。同理,直到两头相交。
2. 使用恒定的额外空间连接同一级别的节点(希望我编写模块化、干净和生产级别的代码)
第三轮(F2F)
1. 给定一个字符串和一个模式,用字符串中的单个 X 替换所有连续出现的模式。举个例子会更清楚
字符串:abababcdefababcdab
图案:ab
结果:XcdefXcdX
最初的 3 次出现的 ab 被一个 X 替换,然后出现的两次模式被一个 X 替换,最后一次出现的模式被一个 X 替换
第一次尝试编码错误。面试官又给了我一次机会,代码写得很完美。
2.打印树的左右侧视图在同一函数。 (写了一个没有错误的干净代码)
第四轮(F2F)
询问我的项目,关于我自己等
1. 给定一个带有及时生成的标签的 Twitter 数据流,构建一个数据结构,一次给出前 K 个趋势推文。
我最初建议基于频率的最大堆,但无法在最大堆中找到前 K 个节点。(*麻烦)
后来,我建议维护一个以频率计数为值,以标签为键的哈希表,并实现一个 k 大小的 Min-Heap 来存储前 K 个元素。(她很满意,但对时间复杂度不满意)
2.(*麻烦)由于我声明要在最大堆中查找前 k 个元素,我被要求编写代码以在大小为 N 的最大堆中查找前 K 个元素,其中 (N>K)。这似乎是微不足道的,但事实并非如此。我尽力了,没有放弃,面试官对我的精力和永不放弃的态度很满意:P。
第五轮(F2F)
问我作为一个团队完成的一个项目以及我在其中的角色。我最具挑战性的项目等
1.假设一个化学式是C6H2(Cl3(OH2)3)3
打印:C-6 H-20 O-9 Cl-9(打印化合物中每个元素的原子数)
解决方案:给出一个基于堆栈的方法,我们需要推动左括号和原子,并将堆栈中每个原子的频率乘以右括号后的值,直到我们找到一个左括号。
2. OOPs 概念:抽象类、接口、单例类、单例类的构造函数代码。
提示:始终在纸上练习。永远不要放弃面试。从面试官那里得到提示。精力充沛。来自 geeksforgeeks 的研究🙂