Infosys 通过 HackWithInfy 2020 的 PP 角色面试体验
自 2018 年以来,Infosys 每年都会为最后一年的 B.Tech 学生组织一场名为 HackWithInfy 的竞赛(在全国范围内)。本次比赛有 3 轮比赛,如果您通过第二轮比赛,您将获得 Power Programmer Role(Specialist Programmer) 或 System Engineer Specialist Role (SES) 或 System Engineer Role (SE) 的 PPI(Pre-Placement Interview)一个很好的排名。
前两轮是纯编码类型,在 Hackerrank 平台上进行。两轮都包含 3 个编码问题(简单、中等和困难),截止日期为 3 小时。
第 1 轮(在线编码轮):
它托管在 Hackerrank 平台上,由从易到难的 3 个问题组成。通常,这些问题来自数组、字符串、位操作和 DP。我使用过Python并且能够解决 2 个问题。我记得的一些问题类似于:
- 子集和问题的变体。 https://www.geeksforgeeks.org/subset-sum-problem-dp-25/
- 一个字符串操作问题。 https://www.geeksforgeeks.org/rearrange-given-binary-strings-to-maximize-their-bitwise-xor-value/
- 基于数组的问题。 https://www.geeksforgeeks.org/minimum-number-of-operations-toconvert-a-given-sequence-into-a-geometric-progression-set-2/)
提示:用冷静的头脑解决问题。考试期间不要给自己压力。
第2轮(在线编码轮):只有通过第一轮,您才有资格参加下一轮。第二轮也在 HackerRank 平台上进行(2020 年 5 月 31 日),包含三个编码问题,但与第一轮相比难度更大。这一轮也有3小时的时间限制。一般来说,问题来自DP、Graph、Tree和Advanced DS。
3个问题是:
- 给定一个大小为 NA 的数组,函数X(A) 计算数组所有值的 Xor,即。 A[1] ^ A[2] ^ A[3] ^ A[4] ^… A[N] 其中 ^ 是按位异或运算。您从数组 A 形成一个大小为 (N*(N-1))/2 的数组 B。数组 B 包含数组 A 中的所有成对 Xor,即 A[i]^A[j],其中 i
- 给定包含 N 个元素的数组 A,如下所示: [a1,a2,a3,………….,an] 您需要找到数组 A 的任何好的子序列的最大可能 Xor Sum。如果子序列 S 是好的,则,对于存在于 S 中的每个 A(i),A(n-i+1) 也存在于 S 中。
- 给你一张图表。最初,您位于节点 1,并且您想要到达节点 N。该图由 N 个节点和 M 个无向边组成。穿过边缘需要 1 个单位的时间。有 K 个时刻边缘可以消失。到达节点 N 所需的最短时间是多少。如果不可能,则打印 -1。
提示:如果您无法在第一次尝试时解决任何问题,请不要在任何问题上花费太多时间,尤其是基于图形和树的问题。)
笔记 :
- 如果您解决了 2 个问题(共 3 个),那么您可能会获得 SES 角色的面试机会。
- 如果您解决了 2.5 - 3 个问题(满分 3),那么您可能会获得 PP 角色的面试机会
幸运的是,我能够解决所有 3 个问题,并且跻身前 100 名候选人之列(全印度)。
我得到了 PP 角色的就业前面试。
所有前 100 名的候选人都有资格参加总决赛(第三轮)。如果您被选中参加总决赛,那么 Infosys 将为您提供一些福利。他们邀请您参加他们的 Pune Campus(第三轮比赛,费用由他们承担),这是一个 Hackathon Round。这一轮是 24 小时,在此期间您必须开发一个应用程序/网站,这将由他们提供。但由于 COVID-19 大流行,它实际上是在家中组织的。
注意: hackathon 的结果和 PPI 的结果(在 hackathon 之前举行)是不同的,并且不相互依赖。
面试回合:面试于 2020 年 8 月 24 日在 Google Meet 平台进行。我在面试前 2 天收到了邮件。
面试官先让我介绍一下自己。然后他在聊天窗口上发布了一个编码问题,并通过共享屏幕让我在我选择的任何 IDE 中编码、编译和运行。
它基于旅行商问题(TSP)。
给定一组城市(图表),其中一些是旅游特权城市和每对城市之间的交通成本,您必须找到游客必须支付的最低可能成本才能访问每个旅游城市一次并回到他开始的同一个起始城市。
我:因为这是一个 NP-Hard 问题,所以不能用多项式时间复杂度来解决。我向他提供了 2 种方法——朴素方法和近似解决方法。
- 天真的方法:使用时间复杂度为 O(n!) 的回溯。 https://www.geeksforgeeks.org/traveling-salesman-problem-tspimplementation/)
- 近似解法:使用时间复杂度为 O((ElogV). https://www.geeksforgeeks.org/kruskals-minimum-spanning-treealgorithm-greedy-algo-2/ 的 Krushkal 算法
我使用Python解决了这两种方法,然后成功编译并通过了他提供的所有测试用例。然后我向他解释了他看起来很满意的两种方法。它持续了 30 分钟,然后他转移到技术部分。
他从我的项目、实习开始,然后是学术。他对我的实习产生了兴趣并讨论了同样的问题。他提出的一些问题是:
- 关于 Angular 框架。
- Angular8的生命周期。
- 关于Router及其意义。
- 什么是SPA。
然后他就最新技术提出了几个问题,例如:
- 人工智能 (AI)
- 机器学习 (ML)
- 大数据
然后我们就大数据技术进行了长时间的讨论(大约 15-20 分钟),其中他多次交叉提问。
然后他问了一些与 RDBMS 相关的问题,例如:
- 不同类型的连接。
- 三层架构
- 调度和索引
- 酸性质
- 正常化。
- 平面文件系统
- 关于 RMS(恢复管理系统)
与 NoSQL 相关,例如:
- 我们何时更喜欢 NoSQL 以及为什么。
- 结构化和非结构化数据
- 不同类型的 NoSQL。
- 什么是 NoSQL 中的“多语言持久性”。
- NoSQL 数据库是否与 Oracle 数据库交互。
最后,关于 OOP 的一些问题,例如:
- 抽象和封装之间的区别。
- 抽象类和接口的区别
- 多线程的概念。
- 多态性的一些实际应用。
- 异常处理的一些更深层次的概念。
- 收集框架。
采访持续了1小时15分钟。
然后他问我是否有一些我正面回答的问题,并问了 3-4 个问题。 (我在面试前已经准备好了)。
最后,他结束了会议并告诉我结果将在 Hackathon 的最后一天公布。
提示:- 您应该知道简历中的每一个字。对所有项目都进行彻底的了解,并始终尝试使用相关的插图和示例进行解释。
HR 回合: 3-4 天后,我接到了 HR 的突然电话(下午我正在发冷)。这是电话回合。他问了我几个问题,比如我的面试有多好,面试官怎么样,关于工作偏好和搬迁,最后问我有没有问题。它持续了7-10分钟。
2020 年 8 月 31 日,在 Hackathon 期间,他们宣布了结果。当我听到“祝贺 Ashish Raj!您被选为电力程序员(专业工程师)角色”。
非常感谢Geeksforgeeks 为我们提供了一个如此棒的学习和刷技能的平台。GFG从我大学一开始就一直是我学习的重要组成部分。搜索特定主题、算法和代码非常简单,而且在多种语言中也是如此。