📜  Cadence 面试经验 |软件开发工程师

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

Cadence 面试经验 |软件开发工程师

节奏:办公室面试
第一轮在线测试:

第 1 部分:20 分钟 20 次 Aptitude MCQ
第 2 部分:10 分钟的 10 次技术 MCQ
第 3 部分:编码:60 分钟
1.反转链表
2.检查平衡括号
3.给定棋盘尺寸打印棋盘中每种尺寸的方块
4. 给定一个文本文件 status.txt,代表 50 个灯泡的状态转换。文本文件的每一行都是“1234 25”类型:表示灯泡25在1234秒改变其状态。
假设所有灯泡最初都关闭,打印所有灯泡的最终状态。

第 2 轮技术面试 1(1+ 小时):
1. 讨论在线试题和针对上述所有内容的最优化方法。
2. 检查给定的树是否为 BST 并为其编写生产级代码。
3. 给定一个无限二叉完全树,前几级的级别顺序为
1
2 4
3 5 7 9
6 8 10 12 14 16 18 20
给定包含'l'和'r'的字符串序列仅打印沿该路线的节点
例如,如果字符串是“llr”,则打印 1-2-3-8。
编写相同的生产级代码
4. 仅给定根,检查给定的 n 叉树是否相互镜像。
5. 给定一个行列排序矩阵,找到具有给定总和的对,并为其编写生产级代码。
6. 浅拷贝和深拷贝概念,计算机如何处理负整数赋值给无符号整数,重载相等运算符和浅拷贝的影响。
7. 5 人 ABCDE 有时间过河。分别为 1 分钟、2 分钟、3 分钟、4 分钟、5 分钟。一次只有两个人可以乘船旅行。找到最小值。是时候将所有人运送到河的另一边了,因为船上的任何人都可以以它的速度驾驶它。

第三轮技术面试 2(1 小时):您必须编写处理所有测试用例的函数
1. 两个链表的交点。
2. 处理负整数情况的最大和子数组。
3. 整数流中的第一个非重复字符。
4. 检测无向图中的循环。
5. 数组流中的第 K 个最小整数。
6. 合并 k 排序数组(我们为什么不简单地合并数组,然后得到一个数组,为什么要使用基于堆的方法。提示 - 如果一个数组是十亿大小而其他小大小的数组正常合并会发生什么。 )
7. 关于 free() 与 Delete() 的讨论以及一些关于存储类的讨论。
第 4 轮:技术面试 3(45 分钟)
1.关于我的第二年和第三年实习的讨论。
2. 讨论我的主要项目。
3. 讨论Hash Map、Hash 函数并提出用于检测字谜的hash map。
4. 用随机指针克隆一个链表:
讨论了 3 种方法,并被要求编写基于哈希图的代码方法,处理所有测试用例和极端情况。
5. Malloc() vs New(),Virtual Table和Virtual Pointer,结构Padding。

第 5 轮:管理/技术面试 4(1 小时):
1.合并k-sorted数组(你必须使用STL编写代码)
2.问题1的扩展:如果文件大小大于Ram大小:使用外部排序概念。
3. 给定 m 个数组,代表 m 条火车路线,每条路线的大小不同,包含站号。只有当它们有一个公共车站时,您才能在 2 条火车路线之间移动。给定 2 个站点,找出是否可以从一个站点到达另一个站点。
使用基于联合的方法解决。
指针以及基于哈希图的方法。
进一步找到从源头到目的地我必须改变的最少火车路线。
提示:将每条火车路线视为图节点,并将其与具有公共车站并应用 BFS 的其他节点连接。

第6轮:人力资源轮


1. 关于当前提供的 PPO 的讨论。
2. 是否开放去美国项目。
3. 我在哪里看到自己等
我通过了所有这些。此外,由于这是针对美国团队的,您将有机会在美国项目上工作并去那里。 (“-”)