Synopsys面试经验|第四套(针对一级研发工程师)

最近,我接受了Synopsys(研发工程师I)的采访。有两个电话回合,然后是5个F2F回合。

null

第一轮(手机屏幕): 1.递归地反转链表。 2.求二叉树的高度。 2.将二叉树写入文件。从文件中读取二叉树。

第二轮(手机屏幕): 1.不使用printf打印数字。同样的递归解决方案。 2.给定一个值N,如果我们想用最少数量的硬币兑换N美分,并且我们有无限量的S={S1,S2,…,Sm}值的硬币,那么最小值是多少? 3.什么是表达式树。如何在表达式树中存储表达式。编写代码来计算表达式树。

第三轮(F2F): 1.检查二叉树是否为BST。 2.给定一个具有0和1的2D数组,其中每行中的所有0都在所有1之前。找到一个最大为1的行。 找到最佳的解决方案。推导出时间复杂度。

第四轮(F2F): 1.参考和指针的概念。 2.虚拟功能概念。 3.给定一个棋盘和一个整数在棋盘上的位置,找出骑士下一步可能的动作。 4.设计一个5位计数器。 5.给定BST,找到第k个最大元素。 6.给定一个未排序的数组,创建一个BST。

第五轮(F2F): 1.你为什么要切换? 2.将链接列表复制到新位置。 3.虚拟指针和虚拟函数概念。 4.如何实现运行时多态性? 5.给出编译时多态性的例子。 6.BST和二叉树的生命周期评价。 7.给定一个包含0和1的数组,以最有效的方式对其进行排序。 8.关于模板的问题。

第六轮(F2F): 1.关于当前公司项目的问题。 2.关于大学项目的细节。 3.为图的BFS编写代码。 4.递归地写。 5.推导时间复杂度。

第7轮(F2F): 1.给定一个按排序顺序排列的数组和一个和。检查数组中任意两个元素的和是否等于给定的和。 2.在计算机科学应用中使用堆栈和队列。 3.详细讨论函数调用时的堆栈管理。 给定数量的字符串以a开始。 5.关于虚函数概念的详细讨论。 6.给定两个可以表示为32位数字的整数,以及一个起始索引和一个结束索引,将一个整数的位复制到给定起始索引和结束索引内的另一个整数。 7.设计一个堆栈,使我们可以在任意时间点获得o(1)中的最大元素。

如果你喜欢Geeksforgek,并想贡献自己的力量,你也可以写一篇文章,然后把你的文章发到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享