TCS 数字面试体验 2019(通过 CodeVita)
你好极客。我在 CodeVita 2019 中只解决了 1 个问题,其中 3 个问题通过了部分测试用例,所以我直接被要求在加尔各答面试。在这里,我将讨论我的面试经历,在此基础上我在“数字”档案中获得了offer。
我的报告时间是早上 8 点,所以我在焦虑中到达了半小时前。我的批次中有近250名候选人,我们的文件首先经过验证,并在研讨厅等待我的名字公布。由于我的朋友前一天面试,所以我知道这需要一些时间,不要惊慌。我在 GeeksforGeeks 中浏览了一些图形算法,突然我的名字在下午 12 点之后被宣布。
第1轮
我带着紧张的笑容走进房间,看到三个面试官,其中两个坐在我对面,第三个坐在我旁边,我和他们打招呼,被告知要让自己舒服。让我们从面试官的介绍开始:
- 坐在我旁边的女士 HR (HR)
- 技术人员坐在 Mac 前,屏幕前有我的 CodeVita 代码 (Coder)
- 第三个是具有深厚技术知识的管理人员(领导)
我会以对话的方式口述我的面试,所以,让我们开始吧:
HR:自我介绍。
我:开始我的正式介绍,她打断了我,让我说一些我简历中没有的东西,所以我向他们介绍了我的家人、我的爱好、我的技术实力等。她在我做介绍的时候经常提问。
HR:5年后你觉得自己在哪里?
我:我自信地告诉了我的答案,其中三个交换了笑声并评论了“大梦想”,但我设法用我的答案说服了他们。
Coder:为什么 6 小时只解决了 1 个问题(让我感到内疚,增加了我的紧张感)
我:解释了其他部分提交的问题所面临的困难和所花费的时间。
Coder:您为什么选择 C++ 作为您的首选编程语言,为什么不选择Java?
我:我解释了我关于语言选择的观点,并一直在为我的Java辩护(他们试图证明Java更好,但我尽力解释为什么 C++ 最适合竞争性编码)
Coder:问了很多关于我的代码的问题,它的时间复杂度,如何降低时间复杂度,还赞赏我的结构化编码风格,包括我遵循的命名约定。
我:我自信地回答了每一个问题,因为我已经正确地完成了我的硬件。
领导:被问及我的项目和学习。
我:我简要解释了迄今为止我完成的所有课程所使用的项目和技术。
导语:暂时成为外行,让二年级学生以最简单的方式了解 HTML 和 CSS 之间的区别。
我:我以我的笔为例解释了不同之处,他们对此印象深刻。
领队:你能告诉我棋盘上有多少个方格吗?
我:我说64(自信)。他再次提出了同样的问题,然后我意识到他在询问所有可能的正方形组合。我打断了他,开始让他们计算,所以他很满意,并告诉我写一个程序来计算可能的正方形的数量。我立即编写了一个他们同意的伪代码,然后告诉我推导出时间复杂度,我也做了同样的事情,之后我被告知要降低程序的时间复杂度,万岁!我也这样做了,并且能够在 O(1) 时间内做到这一点。
领队:在棋盘上(我在纸上做的)挡住一些方格,然后被问到是否可以从一个角走到另一个角。如果是,请编写程序并详细说明。
我:是的,(想了一会儿)我写了代码并解释了它。
Coder:解释为什么 Array 比任何其他树/图数据结构更有用?
我:解释数组相对于其他数据结构的优势,在这个问题中,只有他们向我询问了所有图形数据结构及其应用。
Coder:告诉我有多少种方法可以给 C 程序提供输入?
我:我告诉了不同的方式,然后他询问了有关提供输入的命令行方法的描述,我详细解释了它,提供了命令并解释了所有参数。
领导:你能告诉我为什么道路上的井盖/下水道通常是圆形的吗?
我:解释了不同的方式,但他们不太满意。
Lead:问了我用于竞争性编码的不同平台,还问了我的 HackerEarth Rank。
主持人:这次面试之后你有什么计划,你会报什么新课程?
我:我刚刚告诉了我关于 ML 的愿望清单。
面试持续了半个多小时,最后问我搬家有什么问题,他们还问我有什么问题我说“没有”然后领导(交流后)与他的同事交谈)告诉我在外面等第二轮。我是第一个被告知在我的批次中等待的候选人。
第二轮
等了 2 个小时后,我终于被叫进去了。有三位年轻的面试官,他们都是技术背景。起初我被告知要讲述一些关于我自己的事情,我在上面做了完整的介绍。
T1:被告知要详细解释我的任何一个项目。
我:我详细解释了我的 Android 项目及其功能和使用的包。
T2:什么是多重继承?使用的语言是什么?为什么 C++ 仍然使用相同的方法?
我:我用简单的现实例子解释了上面的内容,然后讲述了 C++ 中的 Virtual 类,它解决了多重继承的问题。
T1:我被告知要为当时给出的 3 种不同场景/问题编写并解释算法,同时将时间复杂度降至最低。 (判断我的即时响应/方法)
我:尽我所能解决了上述问题(有些是用动态方法解决的,有些是用贪婪方法解决的)
T2:编写一个算法来查找给定范围内的素数列表。
我:我刚刚解释了“埃拉托色尼筛”算法,他们已经完成了。
T3:编写一个程序来计算在提供的任何特定时间时钟的分针和时针之间的角度。
我:幸运的是我知道公式并立即编写了具有 O(1) 时间复杂度的程序(他们对此表示赞赏)
T2:告诉我一些关于 ML 及其与 AI 的联系的事情。
我:我尽可能多地解释了他们或多或少感到满意的地方。
T2:什么是神经网络?想法是怎么来的?它在现实生活中的实现是什么?
我:我只知道基础知识和一些例子,但我仍然设法正确地交付它。
T3:问了一些与场景相关的行业道德问题,并被告知要给出提示。
T2:问我参加的社交活动。
我:我告诉他们我所有的活动,特别是解释我的角色。
T1:给我一组数字,并告诉我在给定的解决方案上取一个。
我:我能够通过 Upper_Bound 和 Lower_Bound 的概念来做到这一点(花了一些时间)。
半小时后,他们终于完成了我的采访,然后与我握手并祝我未来的工作好运。
结果:我是大学里唯一一个通过 CodeVita 从 TCS 获得“数字”offer 的人。
建议:
- 永远不要安静,试着说出你的想法。
- 不要夸大你的答案,保持简单和信息丰富。
- 不要犹豫说“不”,永远记住我们是学生而不是专业人士。
- 脸上总是带着一点微笑,一点也不生气。
- 始终表明您已准备好学习新事物,不要害怕新的挑战。