第 1 轮(在线编码测试):由 3 个问题组成:
- 第一个问题是关于DP和数学的(难)
- 第二个与字符串和数学有关(中)
- 第三个与数学有关(简单)
我能够完全解决 1 和部分解决 1。
第 2 轮(技术面试第 1 轮):当我参加面试时,他们首先要我解释我的项目。然后,他们讨论了我的项目将如何工作以及与它相关的一些其他查询。他们对我的项目印象深刻。
项目讨论后,他们分享 Google Docs 并要求我分享我的屏幕。
- 第一个问题是对阵阵领袖的细微修改。他们让我在各种测试用例上试运行我的代码,还让我说出它的时间和空间复杂度。
- https://www.geeksforgeeks.org/find-two-missing-numbers-set-2-xor-based-solution/。首先我在 O(n) 空间和 O(n) 时间内解决了这个问题,然后他们要求我优化它并在没有额外空间的情况下解决它。
- 这个问题类似于反向链接列表。
- 在这里他们给了我一个伪代码,让我做它的渐近分析并找出它的时间和空间复杂度。
第三轮(技术面试第二轮):
- 首先,他让我做自我介绍。
- 然后,他告诉我,正如你所知,这是设计回合,所以设计一个像Spotify这样的音乐播放器。
- 首先,我使用表和主键和外键设计了数据库。
- 然后,他让我为它编写代码,并告诉我在编写代码之前告诉我您将使用哪种数据结构以及为什么?
- 然后,他和我讨论了大约 10 到 15 分钟,为什么我使用特定的 DS,为什么不使用其他人,特定数据结构中会出现什么问题,以及某些 DS 在各种操作(例如搜索、添加)的情况下将如何执行, 删除音乐播放器中的歌曲。
- 然后,他让我为这个音乐播放器的播放列表编写代码,并包含所有可能的操作。
- 之后,他给了我一个伪代码,让我做它的渐近分析并找出它的时间复杂度。
我无法正确回答这个问题,然后他给了我一些提示,然后我就可以回答了。我的一些朋友必须进行 3 轮技术轮次,但我只需要进行 2 轮。
第 4 轮(人力资源轮):
- 首先,他问我关于我的家人和家庭成员的情况。
- 然后,他让我做自我介绍。
- 然后,他询问了我的项目以及在这些项目中面临的挑战。
- 然后,他问我为什么我选择了工程学的 CSE 分支,为什么不选择其他分支。
- 然后,他让我告诉他我生活中的任何失败以及我是如何应对的。
- 然后,他问我为什么要加入Hashedln以及我对Hashedln的期望是什么。
提示:他们更关注你解决问题的方法。因此,您必须善于解决问题,并且必须了解您的解决方案,例如您为什么使用任何特定的数据结构以及为什么其他方法不好。
VERDICT-选择