📜  Adobe 面试体验

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

Adobe 面试体验

在线编码回合:

Q.1- 一个人的包里有 N 件不同 ID 的物品。两个项目的 ID 可能会也可能不会

一样。他可以从袋子中取出 M 件物品,然后确定最小数量。项目

存在于具有不同 ID 的袋子中。

Q.2- 给定字符串的长度(比如 Len)和连续元音的最大数量

可以包含。确定可以生成多少个唯一词。

字符串只包含小写字母。

在(大约)250 名学生中,只有 11 人入围下一轮,我就是其中之一。

技术轮面试:

首先,面试官告诉我自我介绍,然后他从oops开始。

Q.1:什么是单例类,还要写代码?

Ans- 我解释并编写了代码,但它并不完全正确。

https://www.geeksforgeeks.org/singleton-class-java/

Q.2:重载和覆盖之间的区别。

Ans-我正确地解释了一切。

https://www.geeksforgeeks.org/difference-between-method-overloading-and-methodoverriding-in-java/

Q.3:找到下面程序的输出

类父{

无效方法()

System.out.println(“P”);

}

类子扩展父{

无效方法()

System.out.println(“C”);

}

公共类 GFG {

公共静态无效主要(字符串 [] 参数)

{

孩子 c=新父母();

c.方法();

}

}

Ans- 我说,它会给出编译错误,而且它是正确的。

Q.4:假设你有两个同名的函数并且都存在于同一个类中,

那么你将如何使这两个函数区分开来呢?

我说通过在函数中传递不同的参数,他也很满意,实际上从这个

问题他想知道超载的情况。他还问了一些更多的概念,比如

是否有必要使两个函数的返回类型相同?等等。

Q.5:他问0-1背包问题。

https://www.geeksforgeeks.org/0-1-knapsack-problem-dp-10/

在此期间,我很兴奋,因为这个问题很简单,我想我可以

闭上眼睛写0-1背包的代码,但我解释了这个方法

问题,因为我正在解释上述问题,然后他告诉我为它编写代码。

我为它写了递归代码,它是正确的。

然后他告诉我为此编写动态编程代码,我写了一半代码然后他

告诉,没关系,让我们跳到另一个问题 - 我说好的先生。

他问你为什么先写递归代码,而不是dp?我说自上而下首先点击我

这就是为什么我先写它,然后他问了很多概念性问题,比如为什么要避免

递归代码,我解释了很多东西,比如内存使用和堆栈溢出等。

Q.6:他对上述问题做了一些扭曲,比如如果你做同样的问题,你会怎么做?

您可以根据需要多次服用相同的物品。

我对之前的代码只做了一点改动(我想我在不到 20

秒),这是正确的。然后他告诉我为这个问题优化空间,因为我使用了 2-

前面问题中的 D 数组,然后这里我使用 1-D 数组。他对此非常满意。

他还问你在哪个平台上编码,我说codechef,然后他问

你参加过 9 月的长期挑战吗?我说不,先生,因为我在做数据

结构和算法。

他告诉我面试时间结束了,但我想继续,你有空吗?我说是的,先生,我是

自由。

Q.7:他让我打印二叉树的右视图。

在这里,我再次非常兴奋,但我控制了自己,因为我已经完成了这个问题

很多次。

我用 HashMap 解释了他。

然后他告诉我不用空格就做——我也做过。

Q.8:什么是链表?

我用代码正确解释了。

Q.9:如何找到链表的中间节点?

https://www.geeksforgeeks.org/write-ac-function-to-print-the-middle-of-the-linkedlist/这里,脸上又出现了兴奋。

我用两次迭代解释了这种方法(就像在第一次迭代中我会找到链接的长度

名单等等……。

在这之后,我一直在等待他会要求我在单次迭代中执行此操作,但他保持沉默,然后我

也解释了我的第二种方法。之后,他笑了,我也笑了,然后他

跳到下一个问题。

Q.10:给定两个四位素数,假设 1033 和 8179,我们需要找到

从 1033 到 8179 的最短路径,一次只改变一个数字,这样每个数字

我们在改变一个数字后得到的是素数。

https://www.geeksforgeeks.org/shortest-path-reach-one-prime-changeing-single-digit-time/

我解释了这种方法,它看起来可能是正确的,但它不正确。

他给了我一个测试用例来试运行,而我的代码对此测试用例给出了错误的答案。

他给了我一点提示,看看我如何将源质数转换为

目的地素数。他分 6 步进行了转换。

然后,突然我点击了一个方法并使用 BFS 正确解释,这是正确的。

他让我问一些问题,如果你有?

我问了一些与公司有关的问题。

我的面试时间大约 1 小时 40 分钟。

最终,在 11 名学生中,有 6 名学生被选为实习生,我就是其中之一。