📜  亚马逊面试经历 |设置 330

📅  最后修改于: 2022-05-13 01:58:15.976000             🧑  作者: Mango

亚马逊面试经历 |设置 330

我最近在班加罗尔为 AppStore 团队接受了 Amazon SDE-I 角色的面试。

在线测试(黑客地球):

  1. 给定一个数字 N,如果它是质数,则必须打印“Prime”,如果不是,则必须打印“Not Prime”。
  2. 给定一个字符串S,打印其中的位数和英文字母的数量。
    eg Input =  "a5$&45NdG"
    Output =  3,  4
  3. 给定一个单词列表,按照字典顺序打印它们,给定以下优先级。
    a) 如果两个单词拼写相同,小写字符优先。
    b) 单词中可以有空格。空格比任何字母都具有更高的优先级。
    eg : Input = ["funny" , "fun", "fuNny"]
    Output = ["fun", "funny", “fuNny”]

我无法完全解决第三个问题。得到部分分数。

第1轮 :

  1. 给定一个大数(最多可包含 10^5 位数字),找出可被 8 整除的子字符串的数量。子字符串不能以 0 开头,除非它只是 0。
    例如:输入 = 10888,输出 = 9 {0, 8, 8, 8, 88, 88, 888, 1088, 10888}
    最初,我给出了一个遍历所有子字符串的蛮力 O(n^2) 解决方案,然后提出了 O(n) 解决方案。
  2. 这个问题有点含糊。它最终归结为查找数组中不同元素的数量。
    我使用 HashMap 给出了解决方案,他很满意。

第 2 轮:

  1. 找出岛屿的数量
    我使用 dfs 给出了解决方案,他让我实现它。我编写了解决方案,但没有跟踪访问过的单元格,我的解决方案陷入了无限循环。他指给我看,我更正了。
  2. 重新排列字符中的字符串,使得没有两个相邻的字符相同
    我给了他一个解决方案,我从空字符串开始,在每个步骤中我选择最常见的字符并添加它。我还检查我添加的字符是否与前一个字符相同。他对我的方法很满意,没有让我写代码。他说这个问题是为了测试解决问题的能力。
  3. 二叉树的顶视图
    他问我有没有遇到这个问题,我说没有。我使用 bfs 给出了解决方案,但我使用了不必要的 HashMap。他让我考虑使用更简单的数据结构。我有点挣扎,但最终想出了设置来存储元素。

第三轮(管理):

  1. 说说你自己。
  2. 告诉我一个你和你的经理发生冲突的情况。
    还有更多的行为问题。
  3. 关于亚马逊产品目录的 DBMS 问题。我不知道如何处理这个问题。她问我是否知道任何 DBMS 概念,我说“不”并告诉她我来自非 CS 背景。

总的来说,我对这一轮感觉不太好,我的信心也很低落。幸运的是,我的前两轮很顺利,他们决定再给我一次机会,让我参加另一次编码面试。

第四轮:

  1. http://stackoverflow.com/questions/2473114/how-to-find-sum-of-elements-from-given-index-interval-ij-in-constant-time
    起初,我使用段树 (overkill) 给出了一个解决方案。他让我想一个简单的解决方案。然后我想起了我们保留一个辅助数组来存储累积和的解决方案。然后可以在恒定时间内回答查询。
  2. 最长 K 个唯一字符子串
    我之前已经解决了这个问题,我立即告诉他使用两个指针的解决方案。

第 5 轮(管理):

  1. 说说你自己。
  2. 您遇到的最难的错误是什么。你怎么修好它的。

    还有更多的行为问题。

  3. https://www.careercup.com/question?id=64946
    这是一个面向对象的设计问题。我在参加“Cracking the coding interview”一书中的面试之前练习了这些类型的问题,并且在面试过程中感觉很舒服。

    与第一轮管理相比,这很顺利。

亚马逊的所有练习题!