实习2个月后获得PPI
亚马逊在去年夏天结束了对SDE角色的实习。与往年不同的是, 这完全是"在家工作", 因此在两个月的实习期结束时进行了访谈, 以更好地判断实习生的候选人资格以进行全职转换。
实习的最后一周进行了两轮面试, 第一轮面试官是SDE, 第二轮面试官是高级经理。这两轮都是通过亚马逊风铃进行的, 并使用了双向编码编辑器。
【Amazon SDE面试经验分享】第1轮:在这一回合中, 面试官侧重于编码技能/问题解决技能。
- 面试从我的简介开始, 然后是面试官, 然后跳到我的简历中, 要求解释我第二年的项目, 但由于我没有做好准备, 所以措手不及。我尽力解释了一切, 但他对解释不满意。
- 接下来, 他问我最大总和然后我给了它一个蛮力的解决方案, 并对其进行了编码, 然后他要求我对其进行优化。我提出了两种方法, 一种是排序的, 另一种是采用3个变量的(最优化的方法)。他问我要用哪种类型, 我告诉合并排序然后他让我在遇到困难的地方写合并排序, 最后只解释了这种方法。后来, 我编写了最优化的方法。
- 我的第一个问题是一个非常典型的问题, 我无法解决。
问题:有两个亚马逊中心, 一个在班加罗尔, 另一个在海得拉巴, 候选人需要参加面试。候选人需要参观其中一个中心, 费用将在亚马逊上支付。每个位置都需要有一半的候选项(N, 候选项数是偶数), 并且与差旅费用相关的成本需要最小化。输出成本。
例如:对于6个候选人, {20, 40}, {10, 60}, {5, 80}, {60, 10} {100, 15}, {150, 20}。这里假设费用是由{Bangalore, Hyderabad}给定的, 因此前3名候选人应去班加罗尔, 其后3名候选人应去海得拉巴, 总费用为70。 - 第二个问题是将BST转换为大和树, 这相当容易, 而且编写时间较少。
- 第三个问题是实现一个音频/歌曲播放器, 其中有n首歌曲, 并且需要以随机顺序播放, 并且在播放完所有未重复的歌曲之前, 不得重复播放已播放的歌曲。这是我第一次遇到这些问题, 对此我几乎没有挣扎。我给出了2-3种具有不同数据结构的方法来实现它。后来, 面试官告诉我在不使用任何额外空间的情况下尝试此操作, 因为我正在通过DS使用O(n)空间, 并且给定的形式是数组/数组列表。然后, 我提出了一种两点方法。一个指针(p1)将指示右侧的歌曲未播放, 而另一个指针(p2)将访问该权利中的歌曲以随机结束范围并播放, 然后将该歌曲与p1的直接右侧歌曲交换, 然后将p1递增1因此将这首歌包含在播放部分中。如果所有歌曲均已播放, 其余两个指针都指向1st元素, 现在可以重复播放这些歌曲。
推荐阅读
- PHP如何使用array_change_key_case()函数(代码示例)
- PHP如何使用gmp_div_r()函数(示例)
- Python如何在Tkinter中创建一个按钮()
- 如何求两个二进制数组中具有相同总和的最长跨度()
- 算法问题(收费和蛋糕问题)
- 如何使用Jupyter Notebook(-终极指南)
- Angular CLI | Angular项目部署详细指南
- PHP imagechar()函数用法详细指南
- 如何从Hello World示例开始Java编程()