2021 年 Cognizant Genc 下一次面试体验(校内)
招聘过程从就业前谈话开始。在这里,我们被告知我们必须尝试基于技能的评估,测试分数将决定选择三个提到的角色(Genc、Elevate 或 Next)。
- 资格标准: 6 CGPA 或 60% 通过出学术
- 分支: BE、B.tech、ME、M.tech、MCA
第 1 轮:基于技能的评估
- 多选题: [总问题 - 15]
- 能力——损益、平均、时间和工作、速度和时间、单利和复利
- 推理——坐姿安排、编码解码、血缘关系
- 英语 - 段落答案,反义词,同义词
- 计算机科学 – OOPS、操作系统、DBMS、HTML 标签
- 编码: [ 简单级别 ] [ 总问题 – 2 ]
- 每个候选人都有不同的问题集。主要是从数组和字符串等主题提出问题。
- 已经给出了一个具有正整数的数组。以这样一种方式打印数组元素,即所有 10 的倍数都应以相应的顺序出现在最后。此外,其余元素应按各自的顺序出现。
- 类似问题:https://www.geeksforgeeks.org/move-ve-elements-end-order-extra-space-allowed/
C
#include
void pushAtLast(int arr[], int n)
{
int start = 0;
int temp[n];
// Copying all non multiple at start
for (int i = 0; i < n; i++)
if (arr[i] % 10 != 0)
temp[start++] = arr[i];
// Now copying all mutiples of 10
for (int i = 0; i < n; i++)
if (arr[i] % 10 == 0)
temp[start++] = arr[i];
// Copying all elements to array
for (int i = 0; i < n; i++)
arr[i] = temp[i];
}
int main()
{
int arr[] = { 10, 11, 9, 25, 30, 26, 41, 80, 90, 32 };
pushAtLast(arr, 10);
for (int i = 0; i < 10; i++)
printf("%d ", arr[i]);
return 0;
}
C++
#include
using namespace std;
void pushAtLast(int arr[], int n)
{
int start = 0;
int temp[n];
// Copying all non multiple at start
for (int i = 0; i < n; i++)
if (arr[i] % 10 != 0)
temp[start++] = arr[i];
// Now copying all mutiples of 10
for (int i = 0; i < n; i++)
if (arr[i] % 10 == 0)
temp[start++] = arr[i];
// Copying all elements to array
for (int i = 0; i < n; i++)
arr[i] = temp[i];
}
int main()
{
int arr[]{ 10, 11, 9, 25, 30, 26, 41, 80, 90, 32 };
pushAtLast(arr, 10);
for (int i = 0; i < 10; i++)
cout << arr[i] << " ";
return 0;
}
Java
/*package whatever //do not write package name here */
import java.io.*;
class GFG {
static void pushAtLast(int arr[], int n)
{
int start = 0;
int temp[] = new int[n];
// Copying all non multiple at start
for (int i = 0; i < n; i++)
if (arr[i] % 10 != 0)
temp[start++] = arr[i];
// Now copying all mutiples of 10
for (int i = 0; i < n; i++)
if (arr[i] % 10 == 0)
temp[start++] = arr[i];
// Copying all elements to array
for (int i = 0; i < n; i++)
arr[i] = temp[i];
}
public static void main(String[] args)
{
int arr[]
= { 10, 11, 9, 25, 30, 26, 41, 80, 90, 32 };
pushAtLast(arr, 10);
for (int i = 0; i < 10; i++)
System.out.print(arr[i] + " ");
}
}
输出
11 9 25 26 41 32 10 30 80 90
- 问题2:编写一个程序来检查给定的字符串是否是回文。如果原始字符串和字符串的反向相同,则称该字符串为回文。
- GFG 链接:https://www.geeksforgeeks.org/c-program-check-given-string-palindrome/
3.编码:再次[中级] 提出了 2 个中等水平的编程问题。这次的主题包括树、链表等。
- 给定一棵二叉树,求二叉树的高度。 https://www.geeksforgeeks.org/write-ac-program-to-find-the-maximum-depth-or-height-of-a-tree/
- 给定一个链表。判断链表中是否有环。如果链表包含一个可以通过连续跟随下一个指针再次到达的节点,则链表包含一个循环。 https://www.geeksforgeeks.org/detect-loop-in-a-linked-list/
4. SQL 查询: 2 个 SQL 查询被问及中等水平。
- 编写一个 SQL 查询来获取存在于一个表中但不存在于另一个表中的记录。 [使用左连接解决]
- 编写一个 SQL 查询以从 EmployeeDetails 表中获取所有同时也是经理的员工。 [使用内连接解决]
我已经解决了 7 个 Aptitude Questions 两个简单级别的编码问题和一个完全中等级别的问题,另一个部分回答了两个 SQL 查询也被我解决了。所以我确信我会被选中参加下一轮比赛。 3 天后,我从 College Placement Cell 拿到了名单,并入围了 GenC Next 面试。
第二轮(技术轮):一周后,我收到 Cognizant 的邮件,说我的面试安排在第二天在 Superset 平台上进行。虽然面试安排了 1 小时,但几乎没有 30-35 分钟。本次采访基于Java概念和基本 DSA。面试官有5年以上经验。面试官从自我介绍开始。然后,我的介绍。然后立即跳到核心科目。面试官太友好了,他向我解释了一些我无法回答的术语,并且他还建议了一些参考资料以便更清楚。以下是被问到的问题:
- 说说你自己。
- 解释一下简历中提到的任何项目。 [我解释了我的桌面应用程序项目]
- 什么是函数重载,我们可以通过原始类型和类似的包装类来实现函数重载[他还给了我一个片段并询问它的输出]
- 函数重载和函数重写的区别
- 为什么我们在Java中使用关键字 static ?
- 自动装箱是什么意思[我没听过这个词,所以他用适当的例子向我解释了它]
- 什么是抽象以及如何实现它?
- 抽象类和接口有什么区别?
- 什么是函数式接口?
- final、final 和 finalize 的区别
- Java中有哪些不同类型的异常? [选中和未选中]
- 当我们将 return 语句放入 try 块时会发生什么,最终块是否会被执行?
- 他问我是否了解集合,然后我说我知道但不太深入的常见数据结构和算法。
- 什么是HashMAP以及HashSet和Hashmap的区别
- 一个简单的 Lambda 表达式示例,他问我它的输出,我回答了。
- 最后他问了堆栈和队列与实现循环队列的逻辑之间的区别。
- 他没有要求我为任何程序编写代码,但对于其他候选人,他们也被要求编写代码。
- 任何问题——[我做了一件幼稚的事情,问“我的表现怎么样?”他笑着告诉他现在怎么能说出来,他告诉你你擅长核心概念,只需学习一些趋势术语以获得更深入的知识(我猜像 Autoboxing 之类的术语)]
- 建议:阅读Java/C++/ Python的热门面试问题。必须阅读过去的面试经历(我做到了)。放松点,听面试官的话,无论你遇到什么困难,他们都会尽力帮助你。
Round-3(HR Round): 3天后,我收到一封邮件,说安排在第二天面试。这只是 HR 要求的文件验证回合:
- Aadhar 卡、PAN 卡、第 10 和第 12 标记表的软拷贝。
- 有什么位置偏好吗?
- 你现在是第 6 学期还是第 7 学期? [我告诉她我来自 MCA 2 年,所以我现在在第 2 学期 ]
- 任何问题?
判决:选择 GenC Next 角色。