Synopsys 面试经历 |第 8 组(7 年以上经验)
第1轮 :
————————————
1)你如何设计一个可以有数百万个条目的散列,同时最大限度地减少冲突?
2)克隆二叉树
3)某些对象的关系如下:
AB,CD,我们需要判断两个对象是否相关。
第二轮:
————————————-
1) 从树中删除数据与给定整数值列表相同的节点。
删除节点后,准备那么多树的森林。
2)给定一个值k,需要打印所有可能的平衡括号。
3)给定一个排序数组和一个值 k,它是桶的数量。
将数组元素划分为桶,使桶和的差异最小。
4) 所有唯一字符的最长子串。
5) 以链表的形式给定一个大数,同时给定一个数字。
将数字添加到链表。
第三轮:
————————————
1)在有向图中检测循环。同时打印循环的节点。
2) 正边相等的有向图中两个节点之间的最短路径。
3)具有不同正边的有向无环图中两个节点之间的最短路径。
4)实现单例类。它是线程安全的吗?使其线程安全。
5)A派生B,写B的拷贝构造函数。
6) 在 map 中编写比较器函数语法。
7) 给定 n 个文件,每个文件都有已排序的 k 个条目。将它们完全排序。
8)1000个硬币/10袋,分配硬币,使每个数字可以在1到1000之间。
9)深拷贝/浅拷贝。
10) 计算字符串中模式的出现次数。
第四轮:
——————————————————
1) 酒瓶谜题。
2) 填写从 1 到 8 的数字拼图。
3)鸡蛋掉落拼图。