📜  TCS 面试问题

📅  最后修改于: 2021-10-23 07:49:20             🧑  作者: Mango

TCS 是您作为新生开始职业生涯的好地方。它提供了一个伟大的工作场所以及一个友好的环境,为个人的成长和公司的成长提供了积极的氛围。每年,TCS 都会进行大规模招聘流程,以选择助理软件工程师的候选人。除了资格标准之外,TCS 还希望其员工在能力和态度方面都非常出色。

TCS-面试-问题

资格标准

Category Requirement
Marks in 10th Above 60%
Marks in 12th Above 60%
Age limit 18 to 28 years
Degree BE/ME or B.Tech/M.Tech
CGPA More than 6 CGPA
Experience 0-3 years
Year Gap Maximum 2 years

招聘流程

TCS 进行了 4 轮选拔新生作为其组织中的助理系统工程师。

  • 书面回合
  • 技术回合
  • 管理回合
  • 人力资源回合

书面回合

书面回合由四个部分组成,分配的总时间为 90 分钟。这四个部分包括:

  • 定量能力倾向测试:
    第一个是定量能力倾向测试,其中测试数字和推理能力部分。有 20 个问题需要在 40 分钟内完成。问题有 1/3 的负面标记。重要主题包括数字系统、方程、比率和比例、百分比、损益、时间和工作、时间速度距离、面积和测量、平均值、排列和组合、概率、平面几何、座位安排、集合、进程、函数、基于系列、编码、真相和谎言的谜题。与定量能力倾向测试相关的问题:
  • 编程语言测试:
    这一轮包括来自计算机科学和编程语言的一般问题。它由 10 到 12 个问题组成,分配的时间为 20 分钟。这是一个 MCQ 回合,基本上由基本的编程问题组成。与 MCQ 回合相关的问题:
  • 编码回合:
    这是一个技术编码回合。它由 1 到 2 个问题组成,分配的时间为 20 分钟。
    您可以参考练习部分来探索 TCS 中提出的问题。
  • 电子邮件写作:将给出某些线索/词,您必须使用这些线索/词来写一封针对该场景的电子邮件。您必须在给定的空白处输入电子邮件。最重要的是你必须使用所有给出的短语,而不要遗漏一个。分配的时间为10分钟。与电子邮件写作相关的问题:

    技术回合

    TCS 面试的技术轮包含测试候选人主观知识的问题。这一轮包含基于数据结构和算法、DBMS、操作系统、网络、OOP 概念和您选择的编程语言的问题。 CS以外的其他分支的学生应准备与其分支相关的其他两个科目。 CS学生将需要在面试中编写代码。在这一轮中,您可能会被问到谜题。要为拼图做好准备,您可以从我们的拼图部分练习。

    技术回合相关问题

    C/C++编程语言相关问题:问题 1:C 与 C++ 有何不同?
    答: C++可以说是C的超集。C++的主要新增特性是面向对象编程、异常处理和丰富的C++库。
    从这里了解 C 和 C++ 之间的更多差异和相似之处。问题二:什么是静态变量?
    答案:静态变量具有即使在超出其作用域后仍保留其值的属性!因此,静态变量在其先前的作用域中保留其先前的值,并且不会在新的作用域中再次初始化。问题 3:C 中的变量是静态作用域还是动态作用域?
    答: C 中的变量始终是静态作用域的。访问 C 中变量的作用域如何——静态还是动态?了解更多。问题 4:解释 C 中的四个存储类?
    答:存储类用于描述变量/函数的特性。 C中的四个存储类是:

    1. auto:这是在函数或块中声明的所有变量的默认存储类。
    2. extern: extern 存储类只是告诉我们变量是在别处定义的,而不是在使用它的同一个块中。
    3. static:该存储类用于声明静态变量,在C语言编写程序时常用。
    4. register:它声明了与自动变量功能相同的寄存器变量。

    问题 5:“按值传递”和“按引用传递”是什么意思?
    答:在 C 中,我们可以通过两种不同的方式在函数中传递参数:

    • 按值传递:实际变量的副本作为参数传递到函数中。
    • 引用传递:实际变量的内存地址作为参数传入函数。

    更多关于 C/C++ 中的参数传递技术。
    C/C++参数传递练习题。问题6:宏是什么意思?
    答:宏是程序中的一段代码,它有一些名字。每当编译器遇到此名称时,它就会用实际的代码段替换该名称。问题 7:C 中的结构是什么?
    答:结构体是 C/C++ 中用户定义的数据类型。结构创建了一种数据类型,可用于将可能不同类型的项目分组为单一类型。

    问题 8:编写一个程序来查找给定数组中元素的总和。
    答案:求给定数组中元素之和的程序问题 9:编写一个程序来反转数组或字符串。
    答案:反转数组或字符串。问题 10:编写以下代码的输出:

    #include  
    int main() 
    { 
        int x = 10, *y, **z; 
        
        y = &x; 
        z = &y; 
        printf("%d %d %d", *y, **z, *(*z)); 
        return 0; 
    } 
    

    输出:

    10 10 10

    与 OOP 相关的问题:问题1:面向对象编程的主要概念是什么?
    答:面向对象编程或 OOP 是指在编程中使用对象的语言。 OOP 的主要目的是将数据和对它们进行操作的函数绑定在一起,这样除了该函数之外,代码的其他部分不能访问这些数据。
    OOP的主要概念是:

    • 多态性
    • 遗产
    • 封装
    • 抽象

    问题 2:什么是类和对象?
    答:类和对象是面向对象编程的两个主要方面:
    类:类是用户定义的蓝图或原型,从中创建对象。它表示一种类型的所有对象共有的一组属性或方法。
    对象:对象是具有某些特征和行为的可识别实体。一个对象是一个类的实例。定义类时,不会分配内存,但在实例化(即创建对象)时会分配内存。问题 3:什么是不同类型的继承?
    答:继承的类型:

    1. 单继承
    2. 多重继承
    3. 多级继承
    4. 层次继承
    5. 混合继承

    问题4:区分函数重载和函数覆盖。
    答:函数重载通过更改签名即改变参数的数量提供了函数的多个定义,更改参数的数据类型,返回类型没有起到任何作用,而函数重载是基类函数的重新定义与它的派生类相同的签名,即返回类型和参数。问题 5:给出一个基于现实生活的多态实现。
    答:现实生活中多态的例子,一个人同时可以有不同的特征。就像男人同时是父亲、丈夫、雇员。所以同一个人在不同的情况下会有不同的行为。这称为多态性。问题 6:什么是访问修饰符?
    答:访问修饰符用于实现面向对象编程的一个重要特性,即数据隐藏。类中的访问修饰符或访问说明符用于设置类成员的可访问性。也就是说,它对类成员设置了一些限制,使其不能被外部函数直接访问。问题 7:区分结构和类。
    答:结构与类相同,只是有一些不同。其中最重要的是安全性。结构不安全,无法向最终用户隐藏其实现细节,而类是安全的,可以隐藏其编程和设计细节。有关更多详细信息,请参阅结构与类。问题 8:C++ 类可以有 self 类型的对象吗?
    答:一个类声明可以包含一个 self 类型的静态对象,它也可以有一个指向 self 类型的指针,但它不能有一个 self 类型的非静态对象。问题 9:为什么 C++ 中空类的大小不为零?
    答案:空类的大小不为零。一般为1字节。确保两个不同的对象将具有不同的地址是非零值。问题 10:Friend 类和 Friend函数是什么意思?
    回答:
    朋友类:朋友类可以访问其他类的私有成员和受保护的成员,在这些成员中它被声明为朋友。允许特定类访问另一个类的私有成员有时很有用。
    友元函数:与友元类一样,友元函数可以被授予特殊权限以访问私有成员和受保护成员。 Java编程语言相关问题:问题 1: Java平台如何独立?
    答:平台无关的意思是Java编译的代码(字节码)可以在所有操作系统上运行。 Java代码在 JVM 上编译和运行,JVM 是平台无关的,这也是Java能够成为“平台无关”的原因。问题 2: Java的main 方法是强制性的吗?
    答:在 JDK 7 之前, Java程序中不强制使用 main 方法。但是,从 JDK7 开始,main 方法是强制性的。编译器将首先验证 main() 是否存在。如果你的程序不包含 main 方法,那么你会得到一个错误“main method not found in the class”。问题 3:解释接口和类的区别。
    回答:
    类是用户定义的蓝图或原型,从中创建对象。它表示一种类型的所有对象共有的一组属性或方法,而接口也可以有方法和变量,但在接口中声明的方法默认是抽象的(只有方法签名,没有主体)。请参阅Java的接口与类。问题4:如何运行不同目录下的Java类文件?
    答:类路径是 JVM 开始执行程序的位置。与经典的动态加载行为类似,在执行Java程序时, Java虚拟机会懒惰地查找和加载类(它仅在第一次使用类时加载类的字节码)。类路径告诉Java在文件系统中的何处查找定义这些类的文件。问题 5:为什么Java不是纯粹的面向对象语言?
    答: Java支持 OOP 属性,如封装、继承、多态、抽象等,但它遗漏了一些属性,这使得它不是纯面向对象语言。问题 6: Java对象如何存储在内存中?
    答:在Java,所有对象都是在堆上动态分配的。这与 C++ 不同,在 C++ 中,对象可以在堆栈或堆上分配内存。问题 7: Java的空指针异常是什么?
    答案: NullPointerException 是一个 RuntimeException。在Java,可以为对象引用分配一个特殊的空值。当程序尝试使用具有空值的对象引用时抛出 NullPointerException。问题 8:以下程序的输出是什么?

    import java.util.*; 
        
    public class Test { 
    public static void main(String[] args) 
        { 
            int[] x = { 120, 200, 016 }; 
            for (int i = 0; i < x.length; i++) 
                System.out.print(x[i] + " "); 
        } 
    } 
    

    输出:

    120 200 14

    问题 9:编写一个Java程序来将两个任意大小的矩阵相乘。
    答案:将两个任意大小的矩阵相乘的程序问题 10:编写一个Java程序从 ArrayList 中删除第一个元素。
    答案:从 ArrayList 中删除第一个元素的程序。与 DBMS 相关的问题:问题1:DBMS需要什么?
    答:数据库管理系统是一种系统软件,用于方便、高效和可靠地处理和管理数据。它可用于创建数据库、从数据库中检索信息、更新数据库和管理数据库。 DBMS 还有各种其他需求。问题2:什么是数据抽象和数据独立?
    答:数据库系统由复杂的数据结构组成。为了使系统在数据检索方面高效,并在用户可用性方面降低复杂性,开发人员使用抽象,即向用户隐藏不相关的细节。这种方法简化了数据库设计。
    数据抽象的主要目的是实现数据的独立性,以节省修改或更改数据库所需的时间和成本。问题 3:DBMS 中的接口是什么?
    答:数据库管理系统 (DBMS) 界面是一种用户界面,它允许在不使用查询语言本身的情况下将查询输入到数据库中。要了解更多信息,请访问 DBMS 中的接口。问题 4:什么是数据库架构?
    答:术语“模式”是指作为数据库构建方式的蓝图的数据组织(在关系数据库的情况下分为数据库表)。数据库模式的正式定义是一组被称为强加于数据库的完整性约束的公式(句子)。问题5:什么是外键?
    答:外键是表中的一组属性,用于引用同一表或其他表的主键或备用键。问题 6:内连接和外连接的区别。
    答: SQL 联接用于根据两个或多个表之间的公共字段组合来自两个或多个表的数据。内连接与外连接。问题 7:假设 (A, B) 和 (C, D) 是两个关系模式。让 r1 和 r2 是对应的关系实例。 B 是在 r2 中引用 C 的外键。如果 r1 和 r2 中的数据满足参照完整性约束,以下哪项总是正确的?

    答案: A. 见解释。问题 8:解释 ACID 的特性。
    答: ACID 代表原子性、一致性、隔离性和持久性。为了保持数据库中的一致性,在事务之前和之后,遵循某些属性。这些被称为 ACID 属性。问题 9:DBMS 中的死锁是什么?
    答:在数据库中,死锁是一种不需要的情况,其中两个或多个事务无限期地等待彼此放弃锁定。死锁据说是 DBMS 中最令人恐惧的并发症之一,因为它使整个系统陷入停顿。问题 10:什么是 SQL 中的嵌套查询?举个例子。
    回答:在嵌套查询中,查询写在查询中。内部查询的结果用于执行外部查询。参见示例。与数据结构相关的问题:问题一:什么是数据结构?
    答:数据结构是在计算机中组织数据以便有效使用数据的一种特殊方式。问题2:堆栈和队列有什么区别?
    回答:
    堆栈:堆栈是一种线性数据结构,其中元素只能从列表的一侧(称为顶部)插入和删除。堆栈遵循LIFO(后进先出)原则,即最后插入的元素是第一个出来的元素。队列:队列是一种线性数据结构,其中元素只能从列表的一侧称为后部插入,元素只能从称为前部的另一侧删除。队列数据结构遵循FIFO(先进先出)原则,即最先插入列表的元素,是最先从列表中删除的元素。
    要了解更多信息,请访问堆栈与队列。问题3:聚集索引和非聚集索引有什么区别?
    答:聚簇索引是一种特殊类型的索引,它重新排序表中记录的物理存储方式,而非聚簇索引是一种特殊类型的索引,其中索引的逻辑顺序与表中记录的物理存储顺序不匹配。磁盘上的行。问题 4:区分数组和链表。
    答:数组和链表都可以用来存储相似类型的线性数据,但它们各有优缺点。数组和链表之间的主要区别。问题5:什么是双向链表?
    答案:A d oubly大号签署大号IST(DLL)中包含一个额外的指针,通常被称为前一指针,旁边的指针,哪些是有在单链表数据一起。问题 6:什么是二叉搜索树?
    答:二叉搜索树,是一种基于节点的二叉树数据结构,具有以下特性:

    • 节点的左子树只包含键小于节点键的节点。
    • 节点的右子树仅包含键大于节点键的节点。
    • 左右子树也必须是二叉搜索树。
    • 不能有重复的节点。

    问题 7:BST 相对于哈希表的优势是什么?
    答:自平衡二叉搜索树 (BST)(如红黑树、AVL 树、展开树等)中的搜索、插入和删除操作的时间复杂度为 O(Logn),而哈希表支持这些操作O(1) 时间。
    哈希表相对于 BST 的优势。问题8:如果给你两个遍历序列,你能构造二叉树吗?
    答案:这取决于给出的遍历次数。如果遍历方法之一是 Inorder 则可以构造树,否则不能。问题 9:图的 BFS 和 DFS 使用哪些数据结构?
    回答:

    • 队列用于 BFS
    • 堆栈用于 DFS。 DFS 也可以使用递归来实现(注意递归也使用函数调用栈)。

    问题 10:以下函数对以第一个节点为头的给定链表有何作用?

    void fun1(struct node* head)
    {
      if(head == NULL)
        return;
      
      fun1(head->next);
      printf("%d  ", head->data);
    }

    答:它以相反的顺序打印链表的所有节点。见说明。

    开始技术面试的技巧

    管理回合

    这一轮包括技术轮中的所有内容,并且将面临压力和大量交叉检查。系统会对您的答案提出疑问,以检查您是否能承受压力。根据上一轮的反馈,学生可能会也可能不会被送到这一轮。如果上一轮的反馈很好,您可能会期望直接被发送到 HR 轮。这一轮的关键是要冷静、自信、清楚你的想法,不要放弃压力。如果你不知道答案,你必须尝试用你知道的任何东西来尝试。

    人力资源回合

    这是招聘过程的最后一轮。面试小组可以询问与您的个性、家庭、教育、爱好、实习、常识等相关的任何问题。
    这里的关键是对你所说的一切充满信心。与人力资源回合相关的问题:问题 1:告诉我一些关于你自己的事情。
    答:这是第一个问题,肯定会在每一轮面试中被问到。回答这个问题的最好方法是告诉面试官你的兴趣、技能、资格、成就等。尽量避免告诉你简历中已经提到的事情,并确保不要听起来像你在欺骗这个答案.

    问题2:你的优点和缺点是什么?
    答:这是 HR 面试中最常见的问题之一。回答这个问题时要诚实。不要犹豫,说出你的长处,但尽量将计数保持在 3-4,只选择有助于你完成这项工作的主要优势。在提及弱点时,尝试将其呈现为优势或为“您如何准备克服此弱点?”的答案做好准备。

    问题三:你为什么要被录用?
    回答:回答这个问题的最好方法是向面试官展示你的技能,以及你打算如何将它用于公司的发展。

    问题四:你将如何管理工作压力?
    回答:试着通过举例说明你以前的经历来回答这个问题。告诉他/她你生活中的一个情况,你一直处于压力之下,但你仍然设法在最后期限内完成了任务。

    问题五:你为什么要加入我们?
    回答:这个问题将反映您对公司所做的研究数量。您可以提及公司的成就、工作文化、与员工的行为、工作与生活的平衡以及其他有关公司的积极方面。

    问题6:你的薪资期望是多少?
    回答:这可能是一个棘手的问题。如果你是一个新生,永远不要在你的录取通知书中引用你想要的确切金额。您可以向他/她询问公司通常向员工提供的加息,但不要报出金额。

    问题 7:您对轮换感到满意吗?
    回答:这是 TCS、CTS、Wipro、Infosys 等 IT 公司面试时最常问的问题。回答“是”肯定会增加你得到工作的机会,但建议回答“是”只有当你真的对轮换感到满意时。

    问题 8:您为什么要找工作变动?
    回答:如果您是一位经验丰富的专业人士并且正在寻求改变,这是一个常见问题。回答这个问题的最好方法是说,你正在改变你目前的工作以求成长。确保您不会负面谈论或批评您目前工作的公司。

    准备人力资源面试的技巧
    面试经历示例:

    如果你知道在那一刻在那里是什么,那总是有益的。因此,为了给您带来优势,我们为您提供之前遇到过您情况的候选人的面试经验。充分利用它。

    1. TCS面试经历|设置 1(校园内)
    2. TCS面试经历|设置 2(校园招聘活动)
    3. TCS面试经历| Set 3(校园招聘活动)
    4. TCS DESS面试经历|第 4 组(校内)
    5. TCS面试经历|第 5 组(校内)
    6. TCS面试经历|第 6 组(校内)
    7. TCS面试经历|第 7 组(校外)
    8. TCS面试经历|第 8 组(校内)