我想通过分享我在亚马逊面试过程中的经验,为极客们做出贡献。这是为了海得拉巴的SDE职位。我在三星有将近两年的工作经验。
第一轮:书面 测试是在街头平台上进行的。
(1-Qs) 给出了一个函数printMostFrequentWords,它接受一个字符串数组。它需要打印一个列表,列出数组每行中出现频率最高的所有字母,然后是频率。 字母列表应该是按字母顺序排列的大写字母列表,然后是按字母顺序排列的小写字母列表。
样本测试用例:
输入#00:
当你在单行道上向后骑自行车时,如果车轮从独木舟上掉下来,需要多少个滚珠轴承才能装满
养水牛?
你好,霍华德。
输出#00:
e 6
al 7
a 3
Hlo 2
Qs-2) https://www.geeksforgeeks.org/construct-a-special-tree-from-given-preorder-traversal/ –这个的变体
Qs-3) http://www.careercup.com/question?id=12998667
第三个案例有点棘手。
Qs-4) 将M*N矩阵旋转90度。 本例中没有给出函数。一切都应该由你来承担。
Qs-5) 从链接列表中删除第k个节点。
我用所有测试用例解决了4个问题,而对于另外1个,只有10/15的测试用例通过。
第二轮:电话
Qs-1) 树的螺旋级顺序遍历。 (使用两个堆栈)
Qs-2) 一个人可以跳一两步。无法到达n级楼梯的顶部。 (尝试O(1)空间。)
Qs-3) 查找字符串中最长的子字符串,该字符串正好包含两个唯一字符。 子字符串不应包含两个以上的不同字符。
所以,aaaabbaaa是一个有效的子字符串
此外,ccaca是一个有效的子字符串。
需要为第三个qs编写代码。
预期=O(n)
我回答了所有的3个问题,并有信心接到现场电话,我做到了。
F2F第1轮:
Qs-1) 问题是 垂直打印一棵树 。请注意,并没有要求它在每个垂直层面上获得总和。我们必须在不同的垂直水平上打印节点,从最左边的垂直水平到最右边的垂直水平。
我建议使用向量数组,然后是散列。最后给出了一个基于DLL的解决方案。
代码仅使用DLL编写。
Qs-2) 唯一的方法是询问如何将二叉树保存到文件(而不是BST)中
二叉树没有任何假设。
这一轮对我来说很顺利。
F2F第二轮:
Qs-1) 首先,我被要求设计一个带有O(1)插入和O(1)搜索的数据结构。我告诉过你散列的事。然后他让我从当前插入Ds的数字列表中获取一个随机数。所以我维护了一个数组,存储指向哈希表的指针。(假设没有碰撞,他这样说)。然后他又说O(1)删除。我被困在这个问题上,无法在O(1)中同时进行删除和getRandom。经过一番讨论后,他继续前进。
Qs-2) 他说有一个范围,由一个最小值和一个最大值定义。在给定的数组中,我必须找到范围内的所有元素。我告诉他这只有在O(n)里才可能。我们必须看看每个元素。然后他让我假设数组已排序。然后,我使用二进制搜索来查找ceil of min和floor of max的索引,以查找范围内的元素。
这一轮对我来说还行。第二个问题我用所有的边缘情况编写了正确的代码,但在第一个问题中我有点卡住了。
F2F第三轮:
Qs-1) 在二叉树中,完整路径定义为从根到叶的路径。该路径上所有节点的总和被定义为该路径的总和。给定一个数K,我们必须从树中删除(修剪树)位于和小于K的路径上的节点。
注意:一个节点可以是多个路径的一部分。所以我们只有在所有路径的和小于K的情况下才能删除它。
我能够解决这个问题,并为此编写正确的工作代码。 (提示:考虑一种自下而上的方法。) 注意:树中的值也可以是-ve。
Qs-2) 机器人问题:在m*n网格中,从0,0到m,n的路径数。我只能告诉递归函数。不需要代码。
这一轮对我很有好处。第一个问题有点棘手,但解决它提高了我的信心。
F2F第四轮招聘经理:
Qs-1) 这主要是基于人力资源的一轮。关于我以前的工作,我的倡议,我面临的挑战和许多其他问题的很多问题。
还有一个关于矩阵的简单问题。如果行中有1或列代码,则用1填充行和列。也需要列代码。
基于装运和订单等的问题。例如:在下订单和装运物品的提单中要注意哪些事项。什么因素和事情你都会考虑。 我正在接受运输队的面试。因此,基于它的问题。
总的来说,这一轮进展顺利
那天晚上我回到了班加罗尔。 几天后,我接到人力资源部的电话,说我非常接近,我需要在班加罗尔的办公室再出现一轮。
F2f第5轮:
大约半小时的人力资源讨论。 然后是两个带有代码的技术问题:
Qs-1) 在二叉树中,如果所有叶都在同一级别,则返回true;如果所有叶不在同一级别,则返回false .
Qs-2) 给出了一个先增大后减小的数组。找到枢轴元素。需要处理所有的边缘案件。
这一轮对我来说很顺利。这一轮的主要内容是软技能。我在编写问题代码方面做得很好,并为这两个问题编写了适当的代码。
晚上,我接到人力资源部的电话,说我被选中了。 我要感谢Geeksforgeks团队为我提供的巨大帮助。
|
如果你喜欢Geeksforgek,并想贡献自己的力量,你也可以写一篇文章,然后把你的文章发到contribute@geeksforgeeks.org.请参阅Geeksforgeks主页上的文章和帮助。