📜  SDE-1 的 OYO 面试体验(校内)

📅  最后修改于: 2021-11-18 02:06:12             🧑  作者: Mango

OYO 访问了我们的校园以获取 SDE-1 资料。共有328名学生申请。

分级测试包括 20 道 MCQ 问题和 2 道编码问题。在 20 个 MCQ 中,只有 2 个能力问题,其余的来自操作系统、DBMS、DSA 和代码片段输出。编码问题是:

  • 在旧的移动系统中,要键入“a”,我们必须按2一次,要键入“b”,我们必须按2 两次,要键入“o”,我们必须按6 三次。您将获得字符串数字作为输入。您需要打印给定字符串 的所有可能的解码。
    例子:
Input: 222
Output: c,ba,ab,aaa
  • 给你两个字符串。找出第一个字符串包含作为字符串的第二个字符串的排列。
    例子:
Input: helloworld
       owo
Output: YES

解释:owo”是“ woo 的排列组合,出现在“hell owo rld”中。

45 名学生在候选名单上,13 名在等待名单 1,11 名在等待名单 2。共有 69 名候选人参加面试。我在waitlist2中。感谢 OYO 的面试团队,他们面试了所有 69 名候选人。

面试分为2轮。两者都是技术性的。

第一轮:面试官自我介绍,然后让我做自我介绍。然后他让我分享我的屏幕并打开我选择的任何 IDE,我选择了 VSCode。然后他问了我两个问题。

  1. 给定一个字符串。找出最长的回文子串。我以前练习过这些问题,但无法回忆起方法。这是我第一次面试,所以有点紧张。我设法找到最长回文子串的长度,但无法打印实际的字符串。

    重要的是要大声说出来,你打算采取什么方法。不要只是开始编码。在制定方法时说话,当你准备好方法时,然后开始实施它。另外,尽量在屏幕上做你粗略的工作,而不是在你的笔记本上,面试官看不到你的笔记本。

  2. 给定一个 N x N 矩阵。考虑到我们只能向右和向下移动,从左上角的单元格到达右下角的单元格有多少种可能的方法。他首先要求解释这种方法。我说DFS。然后他要求解释 DFS 将如何在矩阵上工作。这一次他没有让我编码,而是问我用于计算最大路径数的DP矩阵的表达式。我之前再次解决了这个问题,但无法给出 DP 表达式,而是给了他一个递归表达式并解释了递归表达式如何在代码中工作。然后他询问了我的方法的时间复杂性。它是指数的,O(2^n)。

之后,他问我有没有什么问题要问他。我问他公司的情况。然后他祝我下一轮好运。我没想到,我以为我搞砸了。

第二轮第二轮进行得很顺利。开始是互相问候。然后我被要求讲述我的项目。然后面试官非常详细地向我解释了这个问题,然后要求找到解决方案的方法。

问题是:

  1. 给定一个单词列表、一个起始词和一个结束词。找出从起始字到达结束字所需的最小有效转换次数。如果新旧单词仅在一个字母表中不同,则转换是有效的。

同样,在构建方法时说话很重要。

我首先选择了一个可以帮助解决问题的数据结构。我提到了 Trie 数据结构,所以他问了我关于 Trie 数据结构的问题,然后解释了为什么它不是正确的选择。经过一番讨论,我使用了 Graph 数据结构。他问我是否对图表感到满意,否则,他会改变问题。我很舒服所以我们继续。关于这个问题,我解释了图的一个节点代表什么,边代表什么,我们将使用什么搜索技术(BFS)以及为什么(它给出了与根(起始节点)的最小距离)。我在样本输入上尝试了该方法的试运行,它给出了正确的输出。

现在他让我实施这个我成功的方法。

接下来,他让我用例子告诉我线程和进程的区别。我给了满意的答复。

结果第二天就出来了。 17名学生被选中,我是其中之一。