📜  软件工程师Jivox面试经验|在 – Campus SJCE, Mysuru。

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

第一轮:这是在 Hackerrank(图像监制)中进行的在线测试,包括 18 个 MCQ 和 4 个编码问题(120 分钟)。大多数 MCQ 都是基于输出的,中等难度,主要是 OOPS、DBMS

编码问题(简单):

  1. 为了形成从给定字符串的最后两个字符的新字符串。
  2. 删除给定字符串中的重复项。
  3. 这有一个很长的问题陈述,但该方法只是在给定元素的累积总和中找到最小值。
  4. 这是一个 DP 问题,用于查找给定字符串的回文子串的数量。

我能够在 20 分钟内完成所有 4 道编码问题,因为一切都很简单,并且花了将近一个小时提交测试。

结果: 10人入围。

第二轮: Hackerrank的代码对轮,面试官看起来很年轻,开始问你知道哪些数据结构? ,然后他在链表上问了一些简单的问题。一种是遍历链表,在链表中查找中间元素(慢-快指针技术)。然后他给出了一个编码问题:给定一个字符串向量,找到所有字符串第一次出现的另一个字符串是它的变位词。这是一个使用地图和集合的简单问题。然后他给出了一个情况,让我为此设计一个有效的数据结构(Trie),然后他让我写一些问题的查询(一个是使用 order by 和 limit 一个是使用聚合和 group by 函数)。然后他让我解释虚函数、继承、函数重载、封装(总是用现实生活中的例子解释这些概念)。然后他向我提出了另一个编码问题,即使用 DP(修改“编辑距离问题”),我告诉他他对 DP 方法感到满意。然后他问了我任何问题,我问了几个。 (75 – 80 分钟)

结果:4人入围。

第三轮(Codepair Round):他从背包(DP)的一个编码问题修改开始,他又问了一个与前缀和相关的编码问题。我能够为这两个问题编写有效的代码。他又问了一个编码问题,发现第 N 个斐波那契数要求我用所有 diff 方法(递归、迭代、DP)编写代码,然后他让我考虑您不允许使用系统堆栈,您将如何通过创建您的系统来解决问题?自己的堆栈,我有点挣扎,但不知何故我写了创建堆栈数据结构。然后他问了我诸如优先级反转之类的复杂操作系统问题,甚至让我解决了一个进程调度问题。然后他问了我任何问题,我问了几个(80-90 分钟)。

第四轮(Codepair Round):他问了我的介绍,然后他给了一个编码问题考虑你在将每个元素插入到流后有一个运行的数字流你需要找到第一个非重复元素,首先我告诉了brute强制方法,然后我使用队列和映射进行优化,他对这种方法感到满意,但他仍然告诉我使用双向链表进行优化,这使我无法处理每一种情况,但仍然出现分段错误,然后他帮助我进行调试,最后它适用于一些测试用例,他告诉我方法很好,需要更多的调试。然后他问了我任何问题,我问了几个(60 分钟)。

第五轮(Codepair Round):这是公司的VP,他问你之前几轮表现如何?还有关于我的家乡,我预计至少在这一轮中会有 HR 问题,但出乎意料的是,他让我使用面向对象的编程为 IRCTC(铁路)设计一个接口,我惊呆了,我问了他很多关于需求和开始设计的问题每次上课,当我想出一些他不满意的东西并告诉我修改时,我已经很累了,但是,我还是尝试了很多使用所有 oops 概念的方法,但他仍然不满意,然后我真的放弃并停止了以为他激励了我,但我仍然无法完全解决这个问题,然后他问我您是否了解互斥锁编程(我以前从未听说过),但我仍然说是的:)。他提供了一个支持锁定和解锁功能的 Mutex 类,他告诉我他将有 N 个线程尝试打印“Hello”,然后在打印 hello 后他们将打印“World”我应该以这样的方式同步应该打印 N 个“Hello”,然后打印 N 个“World” 我尝试为每个线程保留一个互斥体向量,但他告诉我要优化,然后我尝试了一些其他方法,然后我开始在两者之间进行编码,他告诉我这会奏效,我停下来 🙂 并解释了我的方法,然后是问答部分(80 – 90 分钟)。