亚马逊面试经历 | 218(校内)
大家好,这是我在亚马逊的面试经历。
***第一轮(1:30 小时)-
它由两个部分组成
:- Mcq (20 题)
:- 两个编码问题
1) 给定两个字符串Str1 和 Str2,查找 Str2 的任何字谜是否是字符串Str1 的子串(不区分大小写),否则返回 True,否则返回 False。
测试用例:如果 Str1 = Amazon 和 Str2 = omaz,输出:True
2) 给定 n 个非负整数,表示每个条的宽度为 1 的建筑物,计算下雨后它能够捕获多少水
例如,
给定 [0,1,0,2,1,0,1,3,2,1,2,1],返回 6。
我解决了 19 个 mcq 和两个编码问题。
***第二轮(F2F):(1:30hr)
1) 在 BST 中找到 LCA。
2) 在二叉树中找到 LCA。
3)给定一个二叉树,其中每个节点包含三个指针 left,right,succ,其中 succ 指针指向其任何后继节点,问题是是否有任何 succ 指针指向其前驱节点,然后将该指针设为 NULL。
4)给定一个代表击球手得分的数组,并且我们已经给出了总得分,现在我们必须找出击球手可以通过多少种方式得分。
Ex – arr = {2,3,1} 总运行 = 4
2+1+1 = 4、3+1 = 4、2+2 = 4、1+3 = 4、2+1+1 = 4 等等。
首先我给出了递归解决方案,而不是面试问我dp解决方案,我告诉他DP方法他很满意。
5)在链表中找到Loop并将其删除。
6) 您有 100 首歌曲要以随机播放模式播放,您将如何播放。
面试想要为他想要的最后一个问题的每个问题提供完整的工作代码。
***第三轮(F2F):(1小时)
1)给定一个源字符串和一个目标字符串以及一个由各种单词组成的字典,编写一个程序来找到从源到目的地的最小长度路径。穿越规则:
1.一次只能更改一个字符
2. 任何结果词都必须是字典中的有效词
示例:给定源词 CAT 和目标词 DOG ,有效序列之一是
猫 -> 婴儿床 -> 点 -> 狗
另一个有效的序列可以是
猫 -> 婴儿床 -> COG -> 狗
一个字符可以一次更改,并且每个生成的单词都是字典中的有效单词
我告诉他一种使用图表的方法。
2)什么是散列。
3)什么是模块化散列。
4)如何处理碰撞。
5) 是信号量保证死锁预防。
*** 第四轮 (F2F) : (2 小时)
1) 一种名人问题,你有 n 个人,其中一个是名人
条件是所有非名人都知道名人,名人可以认识很少的其他人,所有非名人可以彼此认识的人很少,所以你必须找到名人。
2)给定一棵二叉树和两个节点,打印二叉树两个节点之间的路径。
3)查找父数组表示的二叉树的高度