📜  CodeNation 面试经历 | (SDE 校内)

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

CodeNation 面试经历 | (SDE 校内)

第1轮:

第一轮是在 HackerRank 平台上进行的编码轮次。有 3 个问题,我们有 75 分钟的时间来解决所有问题。我记得其中有2个。

一个问题是——给定 2 个字符串str1 和 str2,你必须找到 str1 中包含 str2 的所有字符的最小循环子字符串的长度。例如,给定字符串'hackerrank' 和 'kh',答案应该是 2(而不是 4,因为允许使用循环子字符串)。预期时间复杂度 O(n)。这是这个问题的一个简单变体 – https://www.geeksforgeeks.org/find-the-smallest-window-in-a-string- contains-all-characters-of-another-string/

第二个问题——给定一个未排序的数组,找出乘积等于给定数 k 的无序三元组的数量。预期时间复杂度 O(nlogn)。您可以在这里找到问题 - https://www.geeksforgeeks.org/count-number-of-triplets-with-product-equal-to-given-number-set-2/。

您需要至少解决 2 个问题才能入围。在我校园里的 80 人中,有 6 人入围了进一步的轮次。

第 2 轮:

这是一轮持续约 30 分钟的电话面试。面试官浏览了我的简历,让我描述一下我最具挑战性的工作。他问了很多与我实习有关的问题。这些问题非常深入,并且与我的工作/项目领域相关。

提示 - 对你的简历进行彻底的处理。描述您最有信心的项目/工作经历。请记住,与您的简历相关的问题不仅与实际工作有关,而且还会测试您的领域知识。

第三轮:

这是一轮持续约 1 小时的 Skype 面试。面试测试了我的数据结构和算法基础。他给了我 2 个问题,并让我在 collabedit.com 上编写代码。

第一个问题是用下一个随机指针克隆一个链表——https://www.geeksforgeeks.org/a-linked-list-with-next-and-arbit-pointer/

第二个问题是盒子堆叠问题的变体——https://www.geeksforgeeks.org/box-stacking-problem-dp-22/。他让这个问题变得简单了一些,并让我用信封而不是盒子来工作。所以在我的例子中,只有两个维度(长度和宽度)。

面试官非常友好,并确保在我遇到困难时提供不多但足够的提示。而且,面试官很可能会不完整地描述问题,因此在做出任何假设之前,请先与他/她一起清除所有内容。

提示 – 在找到最佳解决方案之前,与面试官讨论所有解决方案。先讨论你的方法,然后再编码。您应该编写完全没有错误的代码。必要时写评论。

第四轮:

这也是一个持续约一个小时的 Skype 回合。这主要是一场抽象的头脑风暴。首先,他告诉我描述一个我被困在某事上的时间(最终克服了它)。这引发了对我的实习和在那里所做的工作的深入讨论。他没有问任何问题,但让我详细描述了我的工作。由于我的大部分项目都基于机器学习/深度学习,他问我“如果我是一名为 Facebook 工作的数据科学家,可以访问 Facebook 的所有数据,我会怎么做?” (是的,他说的完全一样)。随后进行了大约 40 分钟的讨论,从用户和 Facebook 本身的角度来看,我提出了许多数据有用的想法和可能性。他对任何想法的实际实施不感兴趣,但想看看我是如何思考和改进自己的想法的。

提示——对于像这样的开放式问题,总是陈述你想法背后的假设和推理。在面试官之前找到你想法的优缺点。

第五轮:

这是与 CEO 的人力资源回合,持续了大约 25 分钟。对我来说,这是最有趣的一轮。首先他问了一些普通的问题,比如描述你遇到的困难情况,描述你最有趣的项目等。当他知道我弹吉他时,他问了我一个设计问题——你如何检测歌曲中的拉加,这导致了技术含量较低且更多基于音乐的讨论。最后他问我为什么要加入 CodeNation。这次采访结束时我问了他 2 个关于 CodeNation 的问题。

以下 2 条提示最重要——

  1. 相信你自己。
  2. 保持冷静并得到安置。

得到了offer。 🙂