📜  SDE-III(2022)的沃尔玛面试经验

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

SDE-III(2022)的沃尔玛面试经验

我通过 LinkedIn 和 Naukari.com 申请。不知道我的简历是从哪里拿到的,但我接到了 HR 的电话。

Round 1 (DS Algorithm: 1 our):(1个编码问题,编码问题增强, Java讨论)

  1. 实现2个方法:boolean addString(字符串), List searchString(字符串)
    • addString:将该字符串添加到 db
    • 搜索字符串将返回以该字符串开头的字符串列表
      eg: add : XX, XXY, XXX, YYX  and on search(X) --> [XX,XXY,XXX] 

预期时间复杂度:搜索 -> O(1), 添加 -> O(m) : m 为添加字符串的长度

解决方案:我使用 map add(xx) 实现:x -> [xx], xx -> [xx] || add(xxy) : x->[xx,xxy], xx-> [xx,xxy], xxy->[xxy] 等。

2. 作为一项改进,我被要求使添加和搜索不区分大小写。然后他要求进行上述方法的应用程序级设计(只是要求方法)。 –> 我认为他期待单例设计模式,但我使用全局Java变量进行了解释。 (他对此没意见)

3. 有一些时间,所以他询问了一些简单的Java字符串函数。

第 2 轮(LLD:低级设计 45 分钟):

  1. 我被要求为一所大学设计一个宿舍管理系统。它们之间的所有类和链接。我使用地图设计它们。他希望使用继承来使其更通用和可重用。所以我在设计上做了一些改动并添加了这些。我猜他对此很满意。

第 3 轮(DS 算法:1 小时):(2 个编码问题,关于各种 DS 的一般性讨论):

  1. 实现在二维数组中查找岛屿数量:https://www.geeksforgeeks.org/find-number-of-islands/,它是摊销复杂性分析。
  2. 在树中实现打印路径:https://www.geeksforgeeks.org/given-a-binary-tree-print-all-root-to-leaf-paths/ 这是复杂性分析。
  3. 还剩一些时间,所以她开始问这样的问题:
    1. BST 在正常二叉树上的 e 是多少
    2. 你在哪里可以找到现实世界的问题,比如寻找岛屿问题?
    3. 你认为我们在现实世界中在哪里使用 BST。
    4. 什么是自平衡树以及我们为什么需要它们。 AVL 树的工作原理。
    5. 什么是 B-tree,我们在现实世界中的什么地方使用它们。还有一些,直到我们有时间。

第 4 轮(招聘经理:45 分钟):

  • 从我目前正在研究的简要介绍和技术堆栈经验开始。
  • 它不知何故变成了“所以你的意思是 J-unit 覆盖应该比新代码开发更优先?”,
  • “你认为 stash 是如何显示所有代码气味的?”,
  • “当我说设计模式时,你首先想到的是什么?”。

以及更多问题和讨论。这真的很有趣。