在线编码回合:
- 这一轮是在 Cocubes 上进行的。有 3 道编码问题,分配的时间为 75 分钟。有各种各样的问题。我的问题是:
- 给定一个字符串,任务是找到字符串中字符的 ASCII 值的平均值。
- 内嵌评估。
- 二叉树的表亲和。
其他问题是:
- 下一个最小的回文。
- 给定一个包含 n 个数字的字符串形式的数字。找到 m 次删除后的最小字符串。
- 以给定大小的组反转链接列表
第二轮:
- 这一轮是笔纸轮。问题包括7个基于C和数据结构的简答题,还有一个编码问题。所有的短问题都是必填的。
- https://www.geeksforgeeks.org/detect-and-remove-loop-in-a-linked-list/
简短的问题很容易,只需仔细阅读问题🙂,因为可能会出现愚蠢的错误。
面试一:
- 在这一轮中,我问的问题是:
- 在一个数组中实现三个堆栈,以便充分利用空间。
- 我得到了一个最小堆,并被要求编写代码以将其转换为最大堆。(我必须编写一个干净的代码并在给定的堆数组表示上干运行它);
- 我得到了一个数字的 2 的互补二进制表示,我不得不将它转换为十进制。
在那之后,关于数据结构的正常问题被问到像构建堆并证明它的摊销时间。
采访二:
这是我最喜欢的一轮,所以我想详细说明一下。在这一轮面试官问我之前面试都问了什么问题,我最喜欢的数据结构,我回答树,然后我为什么喜欢树等。基本问题树木。
起初我从一个蛮力解决方案开始,只是搜索从每个索引位置开始的模式。我被要求为此编写代码。此外,我建议使用 KMP 算法搜索。但是面试官想要的不是已经存在的算法之类的东西,还问我是否可以进一步优化它。一段时间后,我想出了构建后缀树,因此搜索时间只是减少到字符串的长度,但在最坏的情况下空间复杂度很大,每次插入或删除后我都必须再次构建整个树。面试官对此印象深刻,但要求我进一步优化它。后来我想用含有为每个字符的一组的结构来实现它,并存储在该组中的每个字符的occurence的索引和建议运行DFS用于搜索图案(因此,空间复杂度降低到O(N))。面试官对我尝试的方法印象深刻。后来他问我有什么问题要问他。
提示:无论复杂性如何,始终讨论您想到的第一个解决方案,然后继续考虑优化的解决方案。
采访三:
这是最后一轮。我被要求自我介绍。然后我的兴趣是什么,我想在未来看到什么,我的成就等。
问题之一是在排序和旋转的数组中找到一个数字。
后来他问我有什么问题要问他。
6 名学生实习,我就是其中之一。
提示:在整个面试过程中保持诚实。面试官只是想看看你是如何处理一个未知问题的,所以不要认为我的解决方案太复杂了。不管你在想什么,都和面试官讨论。一些学生也被问到谜题(你可以在 geeksforgeeks 谜题部分找到样本)。
谢谢阅读 。
@sid 🙂