📜  NCR Corporation 的 SDE 面试经验(校内)

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

NCR Corporation 的 SDE 面试经验(校内)

第 1 轮(在线编码 – 平台:HackerRank):日期:2021 年 10 月 12 日

  • 20 个基于操作系统、DBMS、数据结构和算法的 MCQ
  • 基于数论和字符串的两个编码问题。

编码问题-

  • https://www.geeksforgeeks.org/equilibrium-index-of-an-array/(同一问题的修改版)
  • 不要记住确切的问题,但它是基于数组数据结构的。

分配的总时间为 90 分钟,没有分段时间限制

经过本轮评选,共有28名学生入围。

第二轮(技术面试-平台:HackerRank):时长:1小时+10分钟。

面试官很冷淡,首先他问了一些关于我、浦那和我一天的基本问题,让我很舒服。

  1. 给出一个关于文件处理的标准问题。 (我无法完全解决这个问题,因为在 fy 之后我从未修改文件处理)。但面试官对此还是很满意的。
  2. 问题:最大和连续子数组。链接-https://www.geeksforgeeks.org/largest-sum-contiguous-subarray/。我告诉了蛮力解决方案和优化解决方案(Kadane 的算法)。最后编码优化解决方案。
  3. 问题:找出给定字符串中所有重复的字母。我首先讨论了蛮力解决方案,最后讨论了优化解决方案(使用哈希图)。最后编码优化解决方案。然后他就hashmap在内部是如何工作的,以及hashcode交叉询问了我。我回答了这两个问题。
  4. 下一个问题对我来说是新的/出乎意料的,当他让我测试给定的对象是否是土豆时?所以我必须列出不同的参数来区分土豆。所以,我告诉了它的参数,比如它的颜色、形状、重量、干燥或潮湿、芽的存在,通过切割我们可以从内部检查是否有任何变形等等……..但他期待更多的参数。
  5. 然后他详细告诉我公司是做什么的,他们生产什么样的产品,如果我被选中,我将扮演什么角色。
  6. 然后面试官问我有没有什么问题。

建议:不要失去冷静,即使你的第一个问题没有正确。始终保留好问题清单,以便在最后询问面试官。

1小时后收到下一轮的邮件。

第 3 轮(技术面试 – 平台:Microsoft Team):时长:50 分钟。

面试从对我、项目和技能的基本介绍开始。再次没有关于此的交叉问题。

首先问我关于oops的基本问题

  • 什么是哎呀?关于oops的4个支柱和现实生活中的例子
  • 封装和抽象的区别?用现实生活中的例子
  • 然后他让我编写一个使用封装的示例。
  • 方法重载与方法重载,以及示例(他问了几个交叉问题)
  • 讨论继承中的钻石问题以及如何在Java中解决这个问题。
  • Java和C++的区别
  • 链表 V/S 数组列表。哪个更有效率

然后他搬到了DSA。

  • 要求我通过 2 种方法检查给定字符串是否为回文 -> 首先通过 2 指针方法,然后通过递归。而且我必须在我的笔记本电脑 eclipse ide 上编写这两种方法。
  • 从链表中删除重复元素。首先,我讨论了采用 O(N^2) 时间复杂度的蛮力解决方案,然后我优化了解决 O(N) 时间复杂度问题的解决方案。然后他让我试运行几个测试用例。最后他让我用递归来解决同样的问题,在这里我花了将近 10 分钟才想出一个方法。最后他对我的方法感到满意,并要求我在 Eclipse IDE 上编写相同的代码。

然后他问了我几个关于 DBMS 的问题

  • 关于数据约束
  • 主键和外键的区别
  • MySQL 和 SQL 的区别
  • SQL 和 NoSQL 的区别

我无法在 DBMS 部分回答 1 个问题。然后面试官问我有没有什么问题。第二天我收到了经理回合的链接。

第 4 轮(经理 + 技术轮 - 平台:Microsoft Teams):时长:40 分钟

  • 面试官有2名,一位女士(经理)和一位男士(技术面试官)。
  • 从我的介绍开始,然后我们就我的项目、git、GitHub 和一些关于机器学习的交叉问题进行了 5 到 10 分钟的讨论,关于我在项目中使用的算法。
  • 然后女士让我多谈谈我在简历中提到的成就。看来她对我的成就部分印象深刻。

在此之后,sir 开始询问有关数据结构、os、oops 和Java的问题。有很多快速的问题,下面我会提到其中的一些,因为我无法回忆起所有的问题。

  1. ArrayList 的默认长度是多少? ArrayList 的长度如何在内部增加?
  2. 关于字符串池的问题?
  3. 什么是线程和多线程
  4. 什么是堆栈及其应用
  5. 什么是类内存和堆内存
  6. 关于linux和ubuntu的基本问题
  7. 什么是哈希码?它是如何在内部生成的?我们可以生成自己的哈希码吗?
  8. == 和 .isEquals() 之间的区别?

还有很多。我能够回答所有问题的 80-85%。 Anuj bhaiya 的 DSA 1 课程对回答一些问题很有帮助。

在这个基本的人力资源问题之后 ->

  • 为什么选择 NCR?
  • 为什么要从电气核心转向软件行业?
  • 您对公司的期望是什么?

然后面试官问我有没有什么问题。

  • 我向经理询问了她在 NCR 的经历
  • 我向技术面试官询问了 NCR 目前使用的技术。

第 5 轮(人力资源 – 平台:Microsoft Teams):时长:15 分钟

  • 首先 HR 做了简单的介绍,然后让我做同样的事情。在介绍中,我包括了非技术性的东西。
  • 然后他问我最喜欢的运动,我告诉网球,然后问我最喜欢的球员,我告诉诺瓦克·德约科维奇。
  • 然后我们就他为什么是网球史上最伟大的球员进行了 5 分钟的讨论(请求纳达尔和费德勒的球迷不要被冒犯)。

最终判决-选定。

最终选出了6名学生。

建议:作为非计算机专业的学生,他们不希望您成为 DBMS、OS 和 CN 方面的专家。但是你应该擅长解决问题、DSA 和 OOPS。