📌  相关文章
📜  Mentor Graphics 面试经历 |第 4 组(校园内)

📅  最后修改于: 2022-05-13 01:58:16.903000             🧑  作者: Mango

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。