Synopsys 面试经历 | Set 6(研发工程师校内)
最近 Synopsys(班加罗尔中心)访问了我们的校园,招聘研发人员和软件集成人员。
以下是我的面试经历。
第一轮(笔试)
它由 36 个 MCQ 组成,需要在 1 小时内解决。
第一部分包括定量分析能力问题(概率、逻辑推理)。
第二部分包括编码问题,查找输出(主要是指针相关,结构相关)
第三部分有数字电子学(CMOS,功耗问题,K-MAP,触发器)。
MCQ 分别为 1,2 和 3 分,错误的答案为 50% 否定,所以只有在你能解决或知道它的情况下尝试,错误的猜测工作可能会导致低分。
第二轮(技术面试)
本轮从100人中选出14人。
面试官让我自我介绍,这次面试主要是和操作系统相关的东西。
1.编译的阶段是什么,解释每个步骤是如何工作的。
2. 她问我静态库和共享库的区别,告诉我自己写一个库,静态库是怎么搭建的
3. 有多少处理器和内核和子进程运行如何使用应用程序(在windows中),使用命令(在linux中)找出
在这里我回答了我会使用 Windows 任务管理器找出来😛 但她说他们向我们展示了主要流程,她也想查看所有子流程
4. 我们使用的主要环境变量是什么, ldpath 是什么?
5. 到目前为止我使用过哪些调试工具,内部调试是如何工作的?并问了我几个关于 gdb 的问题
6. 加载器和链接器是做什么的,所有东西都存储在内存的哪一部分
7. 让我写一个检查字符串是否回文的代码😀
然后是一些正常的问题,例如
我们为什么要做编码?编码的基本必需品,请我解释我的实习项目(在三星研发完成)。您到目前为止所做的Web开发工作有哪些
第一轮面试后,有6名候选人进入第二轮面试。
第三轮(技术面试)
前半小时面试官问了我不同的指针相关问题,我都不记得了。
1.开始有区别
int *p[10];
int (*p)[10];
2.动态分配二维数组、字符串数组、指针数组(都使用malloc和new两者)
3.他要求解释笔试中所有与指针有关的问题。
4. 告诉我用链表写栈的push和pop。
5. 包含 0 和 1 的无限数数组,找出在 O(logn) 时间内从 0 变为 1 的过渡点。 (需要代码)
6. 使用基本 BFS 的路径查找问题(需要代码)
7. 详细讨论多态性(虚函数,为什么使用,抽象类的使用,虚表的工作,运算符重载)用例子
8. BST 应用并在其中找到最小值节点(需要代码)
9. 顺序电路与组合电路的区别及相关问题
10. D-flip flop 中clk 的函数及一些触发器相关的问题。
11. 与非门在现实生活中的使用和与非的异或。
最后问我是否已经有offer,是否愿意在未来学习一些电子相关的工作以进行程序合成(因为我是一名IT学生)
在这一轮之后,再次入围了 3 名候选人。
他们应该接受更多的面试,但他们说他们不再需要了,这 3 位候选人得到了 offer 😀
小贴士:做好准备,他们可以从任何地方问你任何问题,不一定总是来自学术话题。
非常感谢 geeksforgeeks.org ,这是我成功的最重要原因之一🙂
一切顺利!对自己有信心,努力工作!