亚马逊面试经历 |设置 229(SDE 校内)
第一轮: 20 道 MCQ,2 道编程题。平台——HackerRank。
编码问题:
1. 幻数是可以表示为 5 次方之和的数字。例如 30 = 5^2 + 5^1。给定 n,返回第 n 个幻数。
2. 给定一组单词作为字典,找出是否可以使用字典中单词的任何排列来形成给定的字符串。字典中给出的单词不能更改,更具体地说,给定单词的字谜不能用于形成给定的字符串,
技术面试一:
1. 给定一个按行和按列排序的数组,你将如何找到给定的元素?
2. 给定一棵 n 元树,打印树的螺旋遍历。
3. 给定一个数组和一个数 K,找出所有大小为 K 的连续窗口中最大的一个。例如,对于数组 [2 , 9, 3, 4, 1, 6] 和 K = 3,
输出:9、9、4、6。
4. 给定一个数组,你只能旋转数组任意多次。返回 (i*A[i]) 的总和的最大值。
技术面试2:
1. 使用固定大小的数组实现循环队列。处理所有边界情况。这个问题之后是一些基于它的操作系统问题。
2. 给定一个数组,将其分成两个子集,使得子集之和之间的差异最小化。此外,返回子集。
3. 在线编码轮中对同一个字典问题的讨论。
技术专访3:
1.给定一个线程二叉树,所有线程随机指向任何地方,修复所有线程而不使用任何额外空间。
2.操作系统、DBMS、自动机理论等问题。
技术专访4:
1. 给定一个二进制矩阵(仅由 0 和 1 组成的矩阵),其中 1 代表陆地,0 代表水,求岛屿的数量。
2.给定一个段落和一个句子,找到包含句子中所有单词的段落中最小的子串,如果存在多个子串,则返回该子串出现的最小起始索引相同的最小长度。
在所有访谈之间还提出了基于项目的问题。