Mentor Graphics 面试经历 |第 4 组(校园内)
公司入围CS、IT和ETC分部的52名学生(这是根据CGPA完成的)。
总共有四轮。
第一轮:笔试
第 2 轮:技术面试第一阶段
第三轮:技术面试第二阶段
第四轮:人力资源轮
第 1 轮:笔试(90 分钟)
1)笔试分为三个部分
a) 软件
b) 数字
c) 分析的
a)软件:您将被要求编写与链表、树、位操作、字符串、动态内存分配相关的问题的算法、函数(用您的首选语言)。
几个问题是:
(*) 以 2 (Link) 大小反转链表。
(*) 写出输出:
main()
{
char *s = malloc(50);
strcpy(s, "Mentor");
s = s+2;
printf("%s", s);
printf("%s", &s[-2]);
}
(*) 给出一个二维数组 M,其中 M[i][j] = 1 表示 i 是 j 的父级。从给定的数组构造一棵树。 (将给出一个带有示例的数组以进行说明)。
(*) 在 O(1) 空间中反转字符串的单词。例如:“i am a boy”应该给出输出为“boy a am i”。(注意:必须在 O(1) 中完成空间) 。 (关联)
(*) 给出两个大小为 m 和 n 的数组 (m>>n)。编写一个算法来找出它们的共同元素。它应该是一个最佳解决方案。
(*) 给出一个数字“n”。找到第一个比“n”更大和第一个更小的数字,在它们的二进制表示中具有相同数量的“1”位。
例如:n = 5 应该将输出作为 3 和 6 作为 5(“101”) = 2 中 1 的位数以及 3(“011”) 和 6(“110”) 中的“1”位数还有2。
(*) 编写一个函数来查找二叉搜索树中的中序后继节点(假设每个节点都有一个指向其父节点的指针)。 (关联)
b)数字:您将被问到与数字电子相关的问题。
几个问题是:
(*) 使用 4:1 多路复用器构建 16:1 多路复用器。
(*) 给定一个电路,确定它代表的逻辑(您将获得电路图)。也画出真值表。
c)分析:你会被问到大部分谜题。
几个问题是:
(*) 从 25 匹马中找出最快的 3 匹马。您一次可以比赛 5 匹马。最少需要多少场比赛? (关联)
(*) 3 蚂蚁和三角形。 (关联)
(*) 100 门拼图。 (关联)
(*) 棋盘上有多少个正方形和长方形? (关联)
第 2 轮:技术面试第一阶段(每个学生约 50 分钟)
几个问题是:
(*) C 中#define 和 typedef 的区别?关联
(*) 为什么我们需要使用缓存?给出确切的原因。 (关联
(*) 什么是过程,并举几个过程的例子。
(*) 编写一个函数来查找二叉树的镜像。
(*) 编写一个函数来检查两棵二叉树是否互为镜像。 (关联)
(*) 编写一个函数来查找二叉搜索树的高度。关联
(*) 面试官:你喜欢面向对象编程吗?
我可以。我更喜欢 C++。
面试官:C++中的虚函数是什么? (关联)
(*) 虚函数在内部是如何工作的?编译器在其中扮演什么角色?
(面试官希望我知道 VTABLE、VPTR 和 INDEX )。幸运的是,我在 GeeksForGeeks 上读过这件事。 (关联)。
(*) 如果你这么喜欢 C++,你能在 main()函数在 C++ 中启动之前调用一个函数,比如 fun() 吗?
我对这个问题的回答如下: -> 这可以通过多种方式完成:
->第一种方式:创建一个带有构造函数的类,其中将调用 fun();并创建一个类对象作为全局变量。
#include
using namespace std;
void fun()
{
cout << " Hey I am called before main " << endl ;
}
class Base
{
public:
Base()
{
func() ;
}
};
Base b;
int main()
{
cout << " I am called after fun() " << endl ;
return 0;
}
原因:全局变量总是在 main() 开始之前创建。
->第二种方式:创建一个静态变量并用函数分配该变量,因此编译器最终会在 main 之前调用该函数,因为在 main 启动之前分配了静态变量。
#include
using namespace std;
void fun()
{
cout << " Hey I am called before main " << endl ;
}
class Base
{
static int variable ;
};
int Base:: variable = func() ;
int main()
{
cout << " I am called after fun() " << endl ;
return 0;
}
原因:因为静态变量在 main 启动之前被分配。
(*) 写出 4:1 Multiplexer 的布尔方程。 (关联)
然后经过漫长的等待,第一阶段的技术面试终于结束了,最终结果出来了,从 52 名学生中,有 16 人被选中进行第二阶段的技术面试(我也是其中之一?)。
第三轮:技术面试第二阶段(每个学生约 50 分钟)
几个问题是:
(*) 给定一个二维数组,其中行元素按升序排列,列元素按降序排列。编写一个有效的函数来在这个数组中找到一个键。 (关联)
(*) 在我回答完上面的问题后,他们改变了问题,假设行和列元素都按降序排序。您现在将如何有效地找到其中的关键?
(只需从右上角或左下角开始搜索,然后按照上述问题的程序进行)。
(*) 编写一个算法来检查无向图中的所有节点是否连接。
(*) 如果图形是有向的怎么办? (关联)
(*) 编写一个高效的程序来找到 pow(x, n) 。 (链接)请记住,他们正在寻求有效的解决方案。
(*) 有一个谜题被称为“豆子罐”谜题。 (关联)
又是漫长的等待,第二阶段的技术面试终于结束了,结果出来了,从16名学生中,有5人被选中进入最后一轮即HR轮。 (我是其中之一?)。
第四轮:人力资源轮
问的几个问题是:
(*) 除了你的简历,给我你的介绍。
Ans : 我从我的家乡、位置、家庭、我上学的地方开始,最后是我的爱好。
(*) 您为什么想加入 Mentor Graphics?
Ans我赞扬了那里的工作生活平衡、良好的工作文化、我们所处的设施、那里的人之间的良好关系、提供的学习机会等,当然还有不错的薪水(这些事情,他们在演讲中提到过,所以我喜欢关于 Mentor Graphics 的这些观点)
(*) 您在计算机科学中了解多少种语言?
回答C、C++、 Python 、 Java。
(*) 您研究过的任何其他新技术?
Ans Twisted Python、Docker、Honeypot、ELK、GEF。
她在我的简历中看到了在坎普尔 IIT 的暑期实习,并且喜欢 Honeypot 上的项目?
(*) 你喜欢做什么额外的事情?
Ans跳舞、唱歌、写诗、滑板、打篮球和健身。
(*) 你更喜欢哪一个:工作还是金钱?
Ans现在,作为一个新人,我更喜欢工作而不是金钱,因为我想现在学习并获得经验。一个人在学习之前是年轻的。
(*) 有什么问题要问我吗?
Ans您是 Mentor Graphics 团队的一成员,您如何表达您在 Mentor Graphics 的经历?她很好地回答了我的问题,我很高兴我们进行了很好的交谈。
最后这个过程结束了。整个过程大约需要 18 个小时。第二天,我们收到了结果。 5人中,最后选出了3人,幸好我是其中之一?
我想借此机会告诉我的后辈(IIEST,Shibpur),我上面提到的所有链接,几乎都指向一个 GfG 页面。这表明,我从 GfG 那里得到了多少帮助,而且我仍在充分利用它。因此,我希望你们所有人都关注 GeeksForGeeks ,因为我希望你们比我做得更好,我知道你们都会这样做。祝您的展示位置一切顺利,并记住“没有什么是不可能的”。继续努力并继续关注 GeeksForGeeks。