最近我参加了亚马逊班加罗尔SDE 2职位的面试。所有的f2f和没有电话/书面筛选,因为我之前参加过一次,并清除了这些。共5轮,详情如下。
1) 编码 给定二叉树中的两个节点,找出连接它们的路径长度 (标准)
2) 编码 给定一个连续的字符输入流,找到一种方法来获取O(1)中任何时间最早/最早的非重复字符 (使用双链接列表和数组组合解决)
3) 招聘经理 关于过去项目、挑战的问题(重要!请在谷歌上搜索准备表格并填写,诚实、体贴,你的面试官已经看过数百个电影般的、不稳定的和各种各样的项目描述,不要认为你能愚弄他。)
4) 设计回合 设计一个买家向社交网站发送交易通知的系统。
5) 酒吧老板 过去的项目讨论,设计出租车服务系统,你将如何定义领先于客户的标准,如何处理可扩展性问题。
注: 温习一下编码风格,你可能知道其中的逻辑,但如果代码凌乱、冗长且没有边界检查,不要抱太大希望,练习在纸上编写代码,可以在不做任何修改的情况下运行。 大声想一想,面试官随时准备帮助你,甚至可以深入你的代码并发现错误,这并不会让你看起来很糟糕。 设计时考虑所有可能的角度。如果线路中断,如果有流星击中服务器,20年后有人在使用该设计,那么可能会发生什么。可伸缩性对亚马逊来说很重要。准备好你的项目细节,想想你真正的错误,真正的问题,告诉经理。
如果你喜欢Geeksforgek,并想贡献自己的力量,你也可以写一篇文章,然后把你的文章发到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。