📜  Adobe 面试经历 | 2020年实习(校外)

📅  最后修改于: 2021-11-16 15:46:34             🧑  作者: Mango

第 1 轮: (90 分钟)

第一轮在线举行,主要由4个部分组成

第 1 部分:关于定量能力问题的 10 个 MCQ,主要包括概率、矩阵等数学问题(其中一些令人困惑但可行)和其余 5 个关于数据结构、算法和一些 C++ 问题的 MCQ

第 2 部分: 1 中级编码问题

在允许重复的情况下,找到从整数数组中获得和“X”的最小方法。

如果输入列表 = [1, 3, 7, 4] 和 N=14函数应该返回 2 为 7+7=14,如果不能求和则返回 ‘-1’

我能够解决它并通过了所有 12/12 测试用例

https://practice.geeksforgeeks.org/problems/key-pair5616/1

第 3 部分: 1 伪代码

Q. 以锯齿形方式打印矩阵的所有元素

这很容易,您不需要编写整个 C++ 代码,只需编写步骤

第 4 部分: 1 论文问题

‘物联网对你意味着什么?您认为物联网将如何影响未来?

我的测试非常好,在线测试两天后我被告知我入围了第二轮

第二轮:

这是一次电话采访(大约 40 分钟长)

面试官很有礼貌。她首先让我向她介绍自己

我们就我在一家初创公司的一次实习以及我在我开发的产品中扮演的角色进行了长时间的讨论。

然后她继续回答 DSA 问题

1. 将一系列字符串转换为整数形式

我给出了多个解决方案,例如在Java直接函数来执行此操作,然后她告诉我给出一个没有该函数的解决方案

我给出了一个 hashmap 解决方案,其中键是数字的字符串版本,值为 O(1) 的整数

她进一步告诉我删除hashmap,然后我说我们可以直接提取字符并返回ascii值。她对所有的解决方案都很满意。

2. 在整数数组中找到总和为 ‘x’ 的对

我首先用 O(n^2) 给出了一个简单的解决方案,然后进一步使用了子集的总和并给出了一个 O(2^n) 解决方案

我想不出这么快的 O(n) 解决方案。解决方案的链接是: https : //www.youtube.com/watch?v=bvKMZXc0jQU

(面试后我意识到这是多么容易……哎呀!)

3.检测链表中的循环

我解释了用于循环检测的弗洛伊德算法。她对解决方案很满意

https://practice.geeksforgeeks.org/problems/detect-loop-in-linked-list/1

4. 她给了我一个关于继承(Java)的复杂场景和问题。如果你知道你的基础知识并不难

我已经向她解释了所有的解决方案、方法、我在纸上写的代码,并针对每个问到的问题通过了示例

最后她问了我未来的打算,问我有没有什么想问她的

我问了她一些关于她在公司成长的问题。她描述性地回答,采访结束。总的来说还是不错的

我仍在等待第 2 轮结果的邮件。