亚马逊面试经历 | 191
第一轮(数据结构和算法)
1)给出n步的梯子。找出到达终点的路数。我可以一次走1步或2步。
2) 找出正在运行的单词流中最大的 k 个数。
无法为第二个问题编写运行程序。
第二轮(问题解决)
1)从根到叶的每条路径都增加一定数量,删除所有不满足此条件的节点。
2)哈希问题。在log(n)时间内实现put(key,value)和get(key)。
假设有键和值对,如
(1001, 233) (2001, 3340) (8776, 9)
您必须使用函数执行 get 和 put 操作
hash(key)
{
return key%1000;
}
和你自己的哈希操作。是否使用带有指向avl树的指针的hashmap。
divided the key with 1000.
suppose 1001%1000 = 1;
put 233 in 1st AVL tree, AVL tree will have structure like
node {
int index;
int value;
}
AVL 将在索引的基础上构建。指数为 1001/1000;
IE。如果我必须放(3004,996)
3004%1000 = 4;
然后使用 hashmap 转到第四个 AVL 树。现在计算 3004/1000=3;
我的节点将具有索引 = 3 和值 = 996。根据索引将此节点插入到第 4 棵 AVL 树中。因此,时间复杂度将为 log(n),其中 n 是 Key%1000 AVL 树中的元素数。
第三轮(招聘经理轮)
1)关于当前公司,详细解释了一切。
2) 然后给你一个大文件,你必须找到所有的 panagrams。告诉他将文件分成块进行并行处理。维护一个大小为 26 的数组,或者代替它,您可以设置 32 位数字的位。设置数字的位,以便您可以轻松地检查 panagram 条件。
第四轮(数据结构和算法)
1)不同城市的二维矩阵服务税以二维矩阵的形式给出。找到从一个城市到另一个城市的最低成本。你只能在右或下两个方向旅行。
2) 找到距离给定节点 n 距离为 r 的所有节点。
3) 求从数字 1 到 n 的所有位的总和。
酒吧提升者
1) 关于工作经历、项目和现在的公司
2) 求和最大的最短子序列。
练习在纸上编写代码并处理极端情况。
你不会希望面试官在你的代码中发现错误。