HackWithInfy 面试经验 - 2019 年 Power Programmer 角色
Infosys 是该国主要的招聘机构之一。两年以来,HackWithInfy 已成为 Infosys 举办的主要编码竞赛之一。所以在这里我将讨论我在 HackwithInfy 2019 的经历。我通过我大学 VIT Vellore 的培训和安置单元申请了 HackWithInfy。
第1轮:
它于 2019 年 7 月 1 日在 HackerRank 编码平台上举行。这只是一个单独的在线编码挑战。它由 3 个编码问题组成,每个学生需要在 3 小时内解决这些问题。会有抄袭检查,最终分数将取决于您的代码成功通过的测试用例的数量。
我只能逐字记住三个问题中的一个,但我会为您介绍其他两个问题的要点
问题编号 1
给定一个包含 n 个元素和一个数 m 的数组,我们需要找到数组中存在的所有不同对,其对和可被给定数 m 整除,然后打印这些对的总数。不同的对意味着 (1, 2) 和 (2, 1) 是相同的。在这里,我能够通过一半的案例,其余案例由于超过给定的时间复杂度限制而没有通过。
问题 2
一个字符串操作问题。我设法在这里通过了 13 个案例中的 2 个。
问题3
这是一个基于数组的问题。我设法通过了 13 个测试用例中的 8 个。
总体而言,如果您的编码技能适中,则可以顺利度过这一轮。两周后,我是来自 VIT Vellore 和钦奈校区的 260 多名学生之一,他们将被选为 HackWithInfy 2019 的第 2 轮。
第 2 轮:
它于 2019 年 7 月 14 日举行。这是一个在线编码回合,由 HackerRank 平台上的 3 个问题组成,管理员可以访问网络摄像头。就像第一轮一样,每个学生都有不同的问题。这些问题具有中等到高难度。我设法完全解决了 2 个问题,并在第三个问题的可用测试用例中通过了 2 个测试用例。这些问题的框架很巧妙,你必须要明白问题的要点。所以我会给你问题的要点。
问题 1
Given an array of n numbers find the largest difference in the
starting and ending indexes of the elements of the all possible
strictly decreasing sub-sequences in the array.
Input: 21, 13, 18, 10, 7, 3, 1
Output : 4
Here for element 1 the decreasing subsequence can be mapped till
18.It is 18, 10, 7, 3, 1.Similarly, for 3 it can be mapped till
18 which is 18, 10, 7, 3. For 7 it can be mapped till
18 which is 18, 10, 7. For 10 it can be mapped till 18
which is 18, 10. For 18 there is no continuous decreasing
subsequence. For 13 it is 21, 13.
The largest difference in indexes is at index 2 and index
6 that is 4.
This question can be done using Two pointer method.
We can keep track of indices of contiguous subsequence just by checking next array element.
store the difference in a variable max and check it after each iteration.
You just have to find the longest increasing contiguous subsequence from
the backside of the array and report the difference in
the index of starting and ending elements.
Complexity of the algorithm will be O(n).
Input: 1, 18, 17, 14, 15, 32, 16
Output: 2
问题 2
党内有 n 人。每个人都穿着T恤衫,T恤衫上写着数字。 T 恤上的数字可以是唯一的或相同的。在三轮中,3 个人一次离开聚会。每次转身后,您都会得到留在队伍中的人。您需要按照他们离开的顺序打印离开派对的人的 T 恤号码。我总共使用了四张地图,一张用于初始数组,另外三张用于每轮数组,其中 T 恤编号作为键,其频率作为值。然后,我将初始地图与第一个转弯地图进行比较,以找到第一个缺失的元素。同样,然后我将第一个转弯地图与第二个转弯地图进行比较,以获得第二个缺失的元素。最后,我比较了第二个和第三个转弯图,得到了第三个缺失的元素。最后,我将所有缺失的元素存储在一个变量中后打印出来。我设法通过了所有给定的测试用例。
Input:- Initial :- 11, 5, 1, 2, 7, 3, 1
After Turn 1 :- 11, 5, 2, 7, 3, 1
After Turn 2:- 5, 2, 7, 3, 1
After turn 3:- 5, 7, 3, 1
Output : 1, 11, 2
We can observe that one of the two 1's is missing
after turn 1, similarly, 11 is missing after turn 2
and finally, 2 is missing after turn 3.
So the output is 1, 11, 2.
Input:- Initial :- 21, 15, 12, 11, 6, 5, 7
After Turn 1 :- 21, 15, 12, 6, 5, 7
After Turn 2:- 15, 12, 6, 5, 7
After turn 3:- 15, 6, 5, 7
Output : 11, 21, 12
问题3
我不完全记得这个问题,但它是基于质数的。我设法通过了给定的总测试用例中的 2 个测试用例。
结果于 2019 年 7 月 31 日公布,我很幸运地获得了 Power Programmer Role 的 Pre-placement 面试。在我的大学里,只有 9 人被要求参加电力程序员面试,而 91 人被要求参加系统工程师职位。
第三轮:
Skype 面试
这是一次 Skype 面试,面试官本人是 Infosys 办公室的一名高级程序员。首先,他让我自我介绍。然后他让我解释基本的 OOPS 概念,我做得很好。然后他在 Skype 聊天框中发布了一个编码问题。
给定一个包含数十亿字符的文件。读取文件,并为文件中的每个 6 个唯一字符块将所有可能的 6 个字母的唯一字符块的字符串映射到唯一值。打印整个输出。
我不知道文件处理,所以我试图用地图解决这个问题。但是,我的代码没有产生正确的输出。
后来他问了我一些关于我所知道的技术和我的项目的问题。
6 人中有 3 人被选为 HR 轮,而我不是其中之一。被选为 HR 轮的所有 3 人都获得了这份工作。
此后,我有机会担任 SES(系统工程师专家)职位。我会在下一篇分享SES面试的经验。
我要感谢 GeeksforGeeks,没有它我根本无法学习编码。