我最近在 Adobe 诺伊达办公室面试并拿到了 offer。我有1年的工作经验。
这是一个标准过程,包括对 Hackerrank 的能力和技术测试。每次都一样。您可以查看以前存档中的测试。
- 筛选
- 能力倾向测试
- 技术测试有 13 个 MCQ 和 7 个标准编码问题。
诺伊达办公室面试
- 第1轮。
- 采访从我的总体介绍开始。面试官想知道我是否对我的工作有深入的了解,所以他问了各种与技术相关的问题,以及为什么使用它们而不是其他问题。
- 与 C、C++ 相关的问题 – 如何加载 .h 文件并与其 .c 文件链接。我不知道的不多,因为我已经在Java中的经验,并告诉他在Java中的等价答案。
- 如何找到旋转数组中的最小元素?例如 4 5 6 1 2 3
使用二分搜索给出答案 - 如何找到两个链表之间的公共节点?
1→2→3→4→NULL | 5→6
使用 LL 的长度差异给出答案并编写处理所有情况的代码。
- 然后他讨论了操作系统概念、虚拟内存、分页等。
注意。确保您编写的代码可以处理所有测试用例,尤其是边界测试用例。
- 第 2 轮。
- 采访从我的简要介绍开始。这次面试更关注我的兴趣爱好。他问我你如何让自己了解最新的技术趋势?
- 之后他只问了我一个与几何有关的问题。题目给出了一个等腰直角三角形。求小圆的半径。
使用基本毕达哥拉斯定理解决了它。
奇怪的是,他只问了一个问题。
- 之后他只问了我一个与几何有关的问题。题目给出了一个等腰直角三角形。求小圆的半径。
- 第三轮
这一轮是一个棘手的一轮。
- 面试官问我到现在为止都问了些什么。我自信地说,我喜欢问几何学。我不应该那样说……😛
- 问题给出了一个长为 l,宽为 b 的矩形 ABCD。现在它沿对角线 BD 折叠。即 A 与 C 相连。求线段 EF 的长度
用他的提示解决了这个问题。基本上它涉及一些与想象力和毕达哥拉斯定理有关的推论。基本上 AE = EC 和 EF = EC。之后是简单的几何问题。 - 你如何堆化一个数组?涉及的时间复杂度是多少?显然,他对确切的复杂性感兴趣。我告诉他,我们总是从数组中索引为 (n-1)/2 的最后一个父对象开始堆化。
然后他问我我们如何堆化单个元素等,以及堆排序是如何工作的。
基本上,他希望我回答我们不会从 (n-1)/2 到 n 堆放元素,这降低了我最终回答的 nlogn 的时间复杂度。
-
int a = 8; char *b = (int *) a;
b指向哪里?
现在这个问题与大端和小端有关,因为他想让我问架构是小端还是大端。我告诉他我不知道这件事。
在这个问题之后,我告诉他我是机械背景的,我对计算机体系结构了解不多。他有点震惊,跳过了操作系统问题。幸运的我!!!
- 如何知道一个数字是否是 O(1) 中的 2 的幂? n&(n – 1)== 0?true:false
- 给定所有重复的数字数组,只有一个不重复的数字,找出不重复的数字。
给出了使用异或的算法。
- 然后他扩展了之前的问题以找出两个数字是否不重复。他再次想要异或方法。
- 给定两个二叉树 A 和 B。检查 B 是否是 A 的子树。使用普通树遍历求解。
- 在未排序的数字数组中找到第 k 个最小的元素。
首先给出了使用Heap的方法。将数组的所有元素放入最小堆中并提取 k 次。但他对更好的方法感兴趣。
使用快速选择算法(修改的快速排序)回答。
他告诉我有一种更优化的方法来使用顺序统计来选择枢轴元素。我不知道订单统计方法,但他对基本的快速选择算法非常满意。
- 问题给出了一个长为 l,宽为 b 的矩形 ABCD。现在它沿对角线 BD 折叠。即 A 与 C 相连。求线段 EF 的长度
- 第四回合:导演回合
- 我的简要介绍。为什么CGPA低等等?
- 给定一个大小为 m 的数组,其中分配了 n 个索引。当你在这个数组中搜索一个元素时,你如何最大限度地减少比较次数?
我写了基本的线性搜索代码。然后他问我你如何尽量减少比较的次数。
- 给定平面中形成多边形的 n 个点。查找该多边形内是否存在随机点?
- 你会如何找到一个湖的体积。他对我的方法很感兴趣。我给了2-3个方法,其中一个很有趣,他嘲笑我。
最后他问我是否对这个角色和所有问题有任何疑问。
我想花一点时间感谢 GeeksforGeeks 帮助我准备面试。为你们加油!!!
Adobe 的所有练习题!