📌  相关文章
📜  沃尔玛实验室面试经历(校外,工程师 2 开发)

📅  最后修改于: 2021-11-17 02:53:44             🧑  作者: Mango

第 1 轮(在线轮):第一轮包括 2 个编码问题和 4 个 MCQ 问题。

问题 1 – 给定 3 个数组 A、B、C,您需要找到所有可能的组合,使得 A[i1] + B[i2] = B[i3] + C[i4]。

问题 2 – 给定一个字符串S。您需要在从 S 中删除一些字符或不删除字符后找到字符串S 的最大长度,使其可以采用 T+T 的形式,其中 T 是 S 的子字符串。
例如 S = abcababc,从位置 4、5 删除 a、b 后,字符串S 的最大长度为 6。

MCQ 问题基于操作系统、网络、C 输出、时间复杂度。

第 2 轮(Skype 面试):我被问到如何在 Online Round 中解决问题,然后是一些 DS 问题

问题 1 – 复制链表,其中每个节点包含两个指针,一个指向链表中的下一个元素,另一个是随机指针,可以指向链表中的任何随机节点。

问题 2 – 当树的两个随机节点交换时检查树是否是 BST 并修复它。

问题 3- 给定数组,其中每个元素代表股票价格,您需要通过选择何时买入和何时卖出股票来最大化利润,并且此操作最多可以进行 1 次。我被要求通过 O(1) 优化空间复杂度,尽管这很容易。

问题 4 – 这是拼图。 https://www.geeksforgeeks.org/puzzle-9-find-the-fastest-3-horses/

之后讨论了 C 中的指针,C 中的多线程,一些关于锁和监视器的问题,C 中 calloc 和 malloc 之间的区别。

第三轮(Face To Face):对当前公司项目的一些一般性介绍和相关问题。

问题 1 – 给你一棵树(不是二叉树),你需要按顺时针方向打印其所有边界,首先是最右边的元素,然后是最底部,然后是最左边。解决方案是BFS。

问题 2 – 用 C 设计一个优先级队列,我用 int 数组设计,然后她要求修改代码,它的元素是成对的,如 (3, 2), (4, 6) 第一优先级将给予第一个元素,并列-breaker 将是第二个元素,我简单地将 int 数组更改为结构数组。

另一个问题是基于 SQL,我被要求编写优化的 SQL 查询,存储过程。

第四轮(Face To Face – Senior Manager 2):一些关于当前公司项目的一般性介绍和问题。

问题 1 – 编写快速排序的代码,有关时间复杂度和优化的问题,我们能否实现小于 O(nlog(n)) 的 Complexity?通过使用 N 个线程?。

问题 2 – 在 C 中实现多态,我使用函数指针编写代码。在此处阅读有关函数指针的更多信息/

问题 3 – 讨论指针,C 中的 void 指针,在 C 中不使用 sizeof运算符实现 size of。here/

问题 4 – 讨论 OS、线程、进程、处理器、多线程、上下文切换、CPU 调度、锁和监视器。这里

第 5 轮(面对面 – 工程总监):一些与当前公司相关的一般问题,与我的一个物联网大学项目相关的问题,这一轮没有问任何技术问题。

第 6 轮(面对面 – HR 轮):这一轮基于 HR 团队采取的行为技能。

我能够清除所有的回合。