我是如何破解 TCS Digital 的
欢呼!我的 TCS Digital 面试结果出来了,我很庆幸成功了。长期以来一直想在人工智能领域工作,我认为没有比 TCS Digital 更好的平台来学习如何在专业领域工作,对于像我们这样的新人来说。
在这个博客中,我将分享我的准备策略,我使用的资源,甚至我的代码库,用于经历所有阶段,并一一破解。
目标听众。这篇文章针对的是攻读工程学的学生,目前正在他们的最后一年(不管他们的流)。但是,如果您处于较早的年份,本文仍然可以帮助您尽早开始,这实际上是一个很大的优势。
关于数字技术
首先,您应该知道这些技术是什么,因为如果您被选中,您将使用它们。了解这些技术将帮助您完成招聘程序的后期阶段。
您应该了解的关键术语(请随时查看其他资源以了解它们):
- 人工智能
- 机器学习
- 深度学习和自然语言处理
- 云计算
- 计算机视觉
- 区块链
- 虚拟现实
不需要完全了解所有这些技术;我当然没有。但是,您应该对所有这些都有一些了解,并且至少有使用其中之一的经验;经验,我的意思是项目。
最后,您可以在自己的网站TCS Interactive中阅读 TCS 对这些技术的评价。
招聘过程的各个阶段
进入 TCS Digital 的方法不止一种;我将提到我在此过程中采取的步骤,并详细介绍每个步骤。
过程中的阶段:
- 代码维他
- 忍者专访
- 数字在线测试
- 数码专访
这些是我遵循的步骤。您可能已经注意到,这些是校外驾车的步骤。如果您恰好是 TCS 进行数字招聘的一所优质大学的学生,只需按照步骤 #3 和 #4 进行操作。
对于其他人,从顶部开始,即第 1 步。
现在,我将一一展开这些阶段。
第一阶段:CodeVita
TCS 每年都会举办自己的编码竞赛,称为 CodeVita。它包括算法编码挑战,就像大多数标准编码竞赛一样。
如果你是最后一年的学生,并设法在本次比赛中获得“好”名次,你将直接获得面试资格,无需参加任何能力倾向测试(这就是我更喜欢这一步的原因)。如果没有,您将不得不参加 NQT,并通过该测试。
所谓“好”排名,我的意思是为了安全起见,排名低于 3000,尽管在某些情况下,如果你低于 4500,你可能仍然有资格。为了安全起见,请确保您设法解决了问题集中的至少 2 个问题。
此外,要彻底使用您选择解决问题的语言;在面试中,您可能会被问到该语言的问题。竞争性编码的首选语言是C++ ,但如果它适合您,您可以选择另一种编程语言。
CodeVita 的资源。
- TCS CodeVita 过去的问题
- 竞争性编程的完整参考
- CodeChef 实践
- 面向程序员的 C++(课程)
- Fork C++(GeeksforGeeks 课程)
- C++ STL 教程(在 GeeksforGeeks 上)
第二阶段:忍者面试
在 CodeVita 中获得良好排名后,您可能会被要求参加面试。尽力完成这次面试,因为它会给你一个“通用编码员”的工作,所以即使你没有得到数字,你仍然有一份工作。
面试中的问题会有所不同,具体取决于您的简历和您在面试室中引导讨论的方式。
简历中的重要部分。
您的 TCS 格式的简历将由很可能控制面试进度的不同部分组成。让我特别介绍其中的一些。
- 进行的培训/项目。毫无疑问,这是你简历中最重要的部分之一。确保您至少有两个技术项目。彻底了解它们,以及你为它们使用的技术。例如,如果你提到了你用 Django 编写的银行系统,你应该知道你的项目是如何工作的,Django 的整体结构、 Python编程、HTML/CSS 和 JavaScript。
- 感兴趣的主题。不用说,精通你提到的所有主题。不要简单地列出你迄今为止所学的所有科目;相反,只提及你最有信心的那些。(给计算机科学专业的学生的提示:不管你提到什么科目,用Java、DBMS 准备 OOP 并练习 SQL 查询。)
- 编程语言。提及 C 和Java,并通过他们两个。如果您对它们更有信心,您还可以提及另一种面向对象的语言来代替Java (如 C++ 或Python)。单击此链接可获取有关这些语言的资源。
- 爱好。不信,这部分很重要。关于爱好的问题经常被问到,所以只提到那些你真正热爱的爱好。
再一次,通过这次面试,你将获得一份“通用编码员”类别的工作,其 CTC 为 3.36 卢比 LPA。要获得数字类别的工作,您需要完成以下两个步骤。如果你没有成功,你仍然会有你的忍者工作。
第 3 阶段:数字在线测试
如果你成功通过上述面试,恭喜!这意味着两件事:
- 你在“通用编码器”类别中找到了一份工作,也就是 TCS Ninja。你在这个阶段和下一个阶段的表现不会影响这个工作机会。
- 您有资格参加 TCS Digital,这就是事情变得艰难的地方。
我不想吓唬你,但我也不会撒谎。这个测试是一个困难的测试。不过,好的一面是经过充分的练习,您绝对可以破解它。
首先,让我提一下这个测试中的部分。它们是英语/语言能力、定量能力、横向思维、敏捷性、编程逻辑和高级编码。
You can get familiar with these sections, and practice them on the official mock link, here.
作为总结,下表显示了这些部分的顺序和时间。
Section Name | English | Quantitative Aptitude | Lateral Thinking | Agility | Programming Logic | Advanced Coding |
---|---|---|---|---|---|---|
Duration (in minutes) | 15 | 30 | 30 | 25 | 20 | 60 |
No. of Questions | 10 | 12 | 7 | 2 | 7 | 1 or 2 |
Order of Appearance | 1st group | 2nd group | 3rd group | 4th group | 5th group | 6th group |
笔记。
- 这张表的来源是我上面分享的官方模拟链接。
- 第六组(Advanced Coding),mock link只有一题,但在实际测试中,我们在同一时间段内给出了两道题。更多关于下面的内容。
现在让我们一一浏览这些部分。
1. 英语
本节将包括十个问题,应在十五分钟内解决。在模拟链接中,问题来自动词、介词、识别句子中的错误、识别句子的正确顺序等主题。它还包含困难词的同义词和反义词问题。
您可以查看 Wordpundit 中可用的资源,以提高您的词汇量。
然而,在实际测试中,所有问题都是段落理解。此外,所有的段落都是关于数字技术的。这就是为什么在本文开头,我提供了其中一些技术的链接。通读所有这些内容,并深入了解它们,这样您就不会在考试期间感到随意。
英语部分的资源。
- 10 大令人兴奋的即将到来的技术 [博客文章阅读即将到来的技术]
- 雅思学术考试准备[本课程的模块 3 涉及阅读和理解]
2. 数量能力
本部分将包含最具挑战性的能力问题:12 个半小时内要解决的问题。这些问题将来自高中数学,需要对概念有扎实的把握和在有限的时间内思考解决方案的能力。所有这些都可以通过实践来培养。
目前,没有专门为此部分设计的官方练习材料。你可以从你得到的任何材料中练习,其中一些我将在下面列出。
定量能力部分的资源
- 快速通道客观算术(书籍)
- 竞争性考试的定量能力(书籍)
- 排列和组合(YouTube 播放列表)
- GeeksforGeeks 练习题
3.横向思维
Monday, six friends went camping. Tuesday, John, Jack, and James cooked some mushrooms. Wednesday came and they ate the mushrooms. Thursday found them all dead. Exactly one friend survived, how come?
Answer: Thursday is the name of the friend who did not have the mushrooms, and so he / she survived.
您猜对了:本节将包含脑筋急转弯。
当你开始这部分时,抛开任何横向、纵向甚至逻辑思维,尽可能地横向!看看这个 YouTube 视频,它阐明了它们之间的区别。
准备好解决问题,从给定单词中准备所有可能具有含义的单词,找到缺失的链接,确定正确的模式?--基本上,任何你能想到的脑筋急转弯。
浏览模拟链接中包含的示例问题。实际测试中的问题标准将几乎相同。会有很多时间(7 个问题半小时),所以尝试所有问题。
横向思维部分的资源
- 脑筋急转弯
- 横向思维(书)
4. 敏捷
本部分将包含两个需要在 25 分钟内解决的问题。
在模拟链接中,第一个问题是一个简单的基于 API 的Java程序,需要在给定的编辑器中解决。在这种情况下,您需要阅读问题以了解所要求的内容,并使用他们为您提供的工具实施程序。
然而,在实际测试中,这个问题被他们创建的一种新语言所取代,该语言处理数学结构的处理,集合,并提出要解决的问题。自然,您需要快速浏览语言规则,理解它们,并在其编辑器中解决程序。
第二个问题是对数学概念/即将到来的技术的详尽理解。在模拟链接中,这篇文章是关于计算机视觉的,而在我的测试中,它是关于博弈论和囚徒困境的。您需要彻底分析文章,并从中得出关于上述理论/技术应用的推论。
同样,对于第二个问题,您需要了解数字世界中最新和即将到来的技术。
敏捷部分的资源
- 如何使用Java API
5. 编程逻辑
如果您是 CSE 学生,您应该已经熟悉本节中的主题。
Recursion, arrays, stacks, queues, linked lists, trees, binary search trees, binary heaps, graphs.
简而言之,您应该了解数据结构及其实现。除了它们,您还应该了解标准算法及其空间和时间复杂性。您将有 20 分钟的时间来解决 7 个问题。
编程逻辑部分的资源
- 算法和数据结构(YouTube 播放列表)
- 在 GeeksforGeeks 上练习数据结构
- 在 GeeksforGeeks 上练习算法
- 180 多个使用 C++ 的算法和数据结构问题(GitHub 存储库)
6. 高级编码
顾名思义,这部分是一个长达一小时的编码回合。
在模拟环节中,这部分由一个问题组成,但在实际测试中,我们被赋予了两个程序在同一时间约束下求解。但是,这两个程序比模拟链接中给出的程序相对容易。
如果只给你一个问题,它可能与 CodeVita 第 1 轮问题的标准相同,因此请重新检查本节的 CodeVita 部分。
允许的语言: C、C++、 Java、 Python 2.7、Perl。 (这组语言可能会随着时间而改变。)
此外,您可以查看这个 Github 存储库。它包含了我在这一轮的两周内解决的所有程序。
集成开发环境。除了通常的文本编辑器外,我们还提供了 Eclipse Oxygen IDE 来帮助我们编写代码。我敦促您安装上述 IDE 并熟悉它的工作原理。
第 4 阶段:数字面试
评估您在在线测试中的表现可能需要几天时间。无论如何,您应该在考试后立即开始准备这次面试。
如果你有使用即将到来的技术制作的项目,你将在面试中获得巨大的优势。对我来说,这是一个从头开始编写的用于识别手写数字的图像分类器。 (您可以在此处找到该项目。)使用的技术是深度学习和神经网络。
虽然我还有两个相同标准的项目,一个是使用基本 AI 概念解决数独难题的 Sudoku Solver,另一个是猫图像识别器,但面试官坚持要谈论上述项目。
此外,我还有一些其他项目要在采访中讨论。其中一个是用 Django 编写的银行应用程序,我们花了相当多的时间讨论它。
所以这就是我要说的:学习你在简历的“感兴趣的主题”部分提到的主题,但把你的主要精力放在制作和探索这些项目上。此外,您应该能够解释您在实现项目时使用的每个概念。
例如,如果您包含任何 DL 项目,请确保您了解重要概念,例如梯度下降、神经网络、浅层网络与深度网络、用于不同层的激活函数、前向传播与反向传播等在。
如果您已经有一堆上述类型的项目,那么您应该很高兴。明智地选择您打算包含的项目,并确保您能够在面试室中解释有关它的所有内容。
面试资源
- 如果您开始使用机器学习,您可以查看 Udacity 关于上述主题的课程。本课程不仅会解释所需的基本概念,还会提供动手小项目,将您的学习应用于实际数据集。
- 如果你想巩固你对机器学习的概念,我推荐 Coursera 上的课程。
- 如果您从深度学习开始,我强烈建议您从 Michael Nielson 的在线书籍开始。前两章是对该主题的介绍,以及我之前谈到的图像分类器项目。
- 在阅读上述书籍时,您可以通过 Coursera 上的这一系列 DL 课程来补充您对 DL 的学习。或者,如果你没有时间,你可以参加 Udacity 的深度学习课程。
- 最后,你可以从加州大学伯克利分校的 edX 人工智能课程开始学习人工智能。
笔记。不需要在有限的时间内完成所有这些课程。就我而言,我已经完成了第 (4) 点提到的系列课程的第一门课程,所以我修改了所有课程。此外,我完成了第 (2) 点中提到的本书的前两章,以及其中给出的项目,这两章指导了大部分采访。除此之外,我还完成了第(1)点中提到的部分课程,以及第(4)点中提到的Udacity DL课程的部分内容,并从第(5)点中的AI课程开始,所有这些都非常有用的知道。所以,你应该相应地分配你的时间,看看哪些课程最适合你,可以在给定的时间内完成,然后去做。
结束笔记
进入 TCS Digital 并不容易,但肯定是有回报的。努力学习,聪明学习,祝你好运!