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