亚马逊面试经历 |第 153 组(用于 SDE1)
最近我面试了 amazon.com 的 SDE1 职位,有 1 年以上的经验。这是kindle团队。
第 1 轮:1 小时 - 在亚马逊办公室进行笔试。
Q1。给定两个表示否的链接列表。编写一个程序,将两个给定的两个链表相加,并返回表示 no 和的新链表。由给定的两个链接列表表示。
Q2。给定一个字符串,编写一个程序从给定的字符串中找出最长的回文数。您可以交换给定字符串的字符。
Q3。总解码消息
第 2 轮:1 小时 - 使用 SDE1
Q1。找到给定字符串集的最长公共前缀。
Q2。检查给定的链接列表是否代表回文。
Q3。给定排序数组,编写程序从给定数组生成平衡二叉搜索树。
第 3 轮:2.5 小时 - 使用 SDE1 + SDE2
Q1。数数给定数组中的反转。
Q2。在一个聚会中,总共有 n 个人在场。每个人都带着一份礼物。每个人都会把他的礼物送给另一个人,这样每个人最后都会得到一份礼物。任何人都可以将他的礼物送给任何人。说5个人(A,B,C,D,E)。
A->D
D->C
C->E
B->A
E->B
编写程序生成随机序列。对于每次运行,代码应该以相同的概率生成不同的序列。有很多关于各种方法的讨论。最后在面试官的帮助下,我用 O(1) 空间编写了 O(n) 时间解。提示:选择排序
第 4 轮:1.5 小时 - 使用 SDE2
Q1。给定一个包含很多单词的文件。给定 K,找出出现 >=K 次的单词。有很多讨论,讨论了很多方法。
Q2。设计支持 insert()、remove()、find-max()、delete-max() 操作的数据结构。所有操作都应在 O(1) 时间内运行。有很多讨论,讨论了很多方法。
Q3。给定两个表示多项式的链表。编写程序以将两个多项式相乘,将结果作为新的链接列表返回。
Q4。编写程序从给定的二叉树中找到最大大小的 BST。所有问题都需要算法和完整的工作代码。讨论了每个问题的空间和时间复杂度。
仍然有招聘经理轮和高级经理轮。完成后我会发布
提示:与面试官讨论各种方法。尝试与面试官持续互动。他们在面试时非常友好。