亚马逊面试经历 |设置 160(用于 SDE 2)
亚马逊sde2体验:
电话轮询:
设计一个类似于junglee.com 的网站。假设给你一个爬虫,设计一个分布式系统,你会使用什么 ds,一些基本的 api 等等。
现场:
编码第一轮:
1. zig zag 遍历二叉树 O(n) 算法
2.矩阵题:
给定矩阵,如:
床
bcfe
abdd
……
在给定起始字母的情况下,找到连续字母的最长路径。您可以在所有 8 个方向上移动。例如。 a->b(right)->c(down)->d(diagnal down)... len = 4 , 找到 max 这样的 len
编码第 2 轮:
1.二叉树平衡:O(n)时间算法
2.给定一个遍历(2个数组)的前序和后序,从中创建一个n元树,结构如下:
struct node {
int data;
struct node *child[MAX];
int child_num;
}
使用链表的哈希表并存储父母来做到这一点。可能是一种不确定的方式。
设计轮 + 招聘经理 3:
为亚马逊设计最近浏览的商品,比如 15 个最近浏览的商品,可滚动供数百万产品和用户使用。可扩展和可扩展的模型。给api,分布式系统,缓存,减少延迟:关键
第四轮设计:
1. 为蛇游戏(旧诺基亚手机中的)提供面向对象的设计。只需要类和 obj diag,不需要代码/实现。它应该具有适应不同类型水果的可扩展性(例如,一个给 + 5 len + 10 pts)它应该可以扩展到不同的平台
2. 给出一个多用户所见即所得编辑器的所有实体和关系的架构图。基本上是多个作者的 Web 界面,他们可以编辑和存储他们的文档。多个人应该能够一次保存它。文件的所有权也应该存在。