📜  ABB集团软件工程师面试经历

📅  最后修改于: 2021-11-18 01:22:03             🧑  作者: Mango

大家好,我想分享一下我对ABB软件工程师职位的面试经历。我很惊讶,在公司里没有人为这个职位写过一篇经历。这是第三代 IIT 的集中校园驱动器。公司只允许 EE 和 CSE。

第 1 轮:有三个部分。

  • Sec1:能力和推理(20 分钟)。
  • Sec2:编码(1 小时) 允许的语言是Java/Cpp/ Python/C

    编码问题中等难度。

    1. 打印二叉树中任意两个节点之间的路径。
    2. 给出了一个字符串数组。并给出一个字符串。我们已经告诉过多少次,在排序时输入字符串从它的位置移开。

      字符串只与其相邻的字符串进行比较是强制性的。我们必须对字符串进行排序根据前三个字母字符串的总和()如果字符串是“ABCDEF”,那么这个ASCII值是int(A)+ INT(B)+ INT(C,即294)

      例子:

      array= { january, february, march}
      input string = january
      Ascii for januray is = 313
      Ascii for february is = 301
      Ascii for march is = 320

      输出:如果我们对这个数组进行排序,输出将是二月、一月、三月 (301,313,320)。所以我们必须知道一月与其相邻的邻居交换了多少次。

      1

      答案 – 我应用了冒泡排序,简单排序它,比较位置会导致错误答案,假设 10,9,8,7 – 排序 7,8,9,10 后。用错误的方法,答案是 1,但是如果我们看冒泡排序的第一步,它会是 9,8,7,10。在这一步中,计数为 1,在下一步中为 8、7、9、10。所以答案是3。

    3. 所有给定矩形覆盖的单元格总数

  • Sec3:在两个部分之间进行选择。一个部分包含 C#、Cpp、.NET,另一部分是Java (30 分钟)。

我尝试了第一个。 MCQ 问题来自 OOP,基本 C 输出问题。

注意:仅编码回合不会让您到任何地方。与我相比,许多学生尝试了更多的编码,但没有入围,所以我可以说您必须在所有 3 个部分中都表现出色。

从 120-130 名学生中,有 26 名学生入围。

第二轮(30 分钟):面试官问我是否紧张,并试图安慰我说“如果你愿意,你可以关掉相机”。他问我之前的面试如何(来自不同公司的访问校园)。然后他说你要我问你什么。我说的是简历和这份工作需要什么。

  1. 他告诉我我有 5 分钟的时间可以谈论任何事情。我谈到了我所做的项目。
  2. 他感兴趣的一个项目是关于图形动画的。
  3. 所以他问起 Graph,为什么它很重要。遍历 – BFS、DFS 简要介绍。
  4. 然后他询问了 MST。这是什么意思?举一个现实生活中的例子。 (连接当地的电线杆)
  5. 然后他问我关于使用 Arduino 实现的电气项目的基本想法。
  6. 然后他问我下个月要做什么,不管我是否得到了这份工作。我说过 DS 和算法是我的主要关注点。
  7. 他再次跳回DS。他让我打开油漆并画一棵二叉树,并以 DFS 和 BFS 方式显示它的遍历。
  8. 他询问了基本的 OOP。多重继承等
  9. 他还问了我对他们公司感兴趣的领域。
  10. 然后他以问我是否有任何问题要问他来结束采访。我问他关于改进自己的反馈。

注:请仔细听PPT。它将在人力资源回合中为您提供帮助(在某些情况下,技术方面也是如此)。

PS:我很紧张。从我嘴里说出来的话是混杂的。好在面试官很乐于助人,几次都建议喘口气。  

我认为有 15 名学生入围了下一轮。

第 3 轮(30 分钟):他首先询问了之前的采访。他问我是否要他打开他的相机。我说他打开互动会更好,所以他打开了。

  1. 他问我实习的情况。做了什么?为什么我要使用 PGSQL 等特定技术?为什么是 Angular JS?
  2. 然后他问了我在套接字编程方面的项目。什么是客户端-服务器架构?我们为什么需要它?现实生活中的例子?我是如何实现客户端-服务器架构的?多线程是如何使用来提高性能的?
  3. 然后他从 C++ 中询问了有关 OOP 的问题。多级和多级继承。
  4. 他问了一些关于多级继承中编译错误的问题,我立即说“钻石问题”。快速的答复给他留下了深刻的印象。然后他转向算法。他问了一个问题。
  5. 问题 – 计算给定字符串的第一个重复字符。讨论它的时间和空间复杂度。只是表达一个想法就可以了,不需要编码。
  6. 然后他说他已经完成了技术部分。 15分钟就结束了面试。所以他问了一些关于爱好的问题。为什么我喜欢它?时间过去了10分钟。
  7. 然后他问我有没有什么问题要问他。我问他们将如何在他们正在做的任何事情中实施 CS 核心主题,如操作系统、网络等,以及我将对此做出什么贡献。

PS:面试官很坦率。我从来没有觉得自己是在接受采访。我在某处读到采访不是独白,而是对话。

10名学生被选中。

第 4(30 分钟)这一轮完全出人意料。我的大多数受访者都被问到人力资源问题和基本的互动。所以我还准备了 HR 问题——你在 5 年后在哪里看到自己……等等等等。

回合开始,他让我做自我介绍。然后他解雇了DS的问题。我很震惊。但我振作起来并试图回答它。

给出了一个输入字符串。我必须打印字符串 的所有有效字谜。有效词存储在文件中。该文件中的单词数量很大,比如 100 万个。

我说过我们创建给定单词的所有字谜并插入哈希映射并遍历文件。

之后,他说要提高时间复杂度。我说为输入字符串创建一个计数数组,并将其与文件中的单词计数数组进行比较。 (比较将是常数时间 – O(26))。他还是不满意。

可能是我没有按照他想让我思考的方式思考,所以我寻求提示。他说我们现在有很多内存,为什么你不使用它。起初,我想说允许的最大内存是 256MB,时间复杂度会相似,但我想放弃它,告诉他他想听什么。

所以我建议遍历文件最初使计数数组(例如 – ‘abcd’ 将对应于 {1,1,1,1,0…})并将此数组转换为字符串,因此我们将有“1111000…”,然后我们将其插入到 hashmap 中(在 C++ 中,您可以使用 map< 字符串, vector< 字符串>>)。这样我们将能够以 O(1) 或 O(log n)(仅搜索时间)输出所有字谜。他很满意。

假设文件包含 ‘abcd’、’bcad’、’dcab’ 都将被映射到“111100..”。

然后他问了我的优点和缺点(最好给出你遇到的情况来证明你的观点)。

终于,结束了。

PS:如果您对这个问题有更好的解决方案,请随时发布。

注意:表达你的想法,不要只在你的脑海中思考。争取提示。如果你在正确的轨道上,他肯定会给你一个。

第 5 轮(20 分钟 HR):

  1. 他通过让我介绍自己来开始讨论。

  2. 然后他继续他准备的行为问题。

  3. 他给了我一个不同的情况,并问我将如何解决它。

    示例:如果公司中有人没有回复您的电子邮件或消息,您会怎么做。

  4. 你将如何解决团队成员之间的冲突?
  5. 最大的失败,你是怎么处理的?
  6. 作为团队领导,你的经历是什么?
  7. 5年后你在哪里看到自己?

30分钟后,他们宣布了结果。有 4 名学生从我的大学中选出来,另外 3 名来自其他 IIT。

幸运的是,我是其中之一。