📜  Adobe 面试体验

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

Adobe 面试体验

我面试了计算机科学家 1 的角色。面试时我有 6.5 年的Java后端开发经验。

一共进行了4轮。

第一轮:(数据结构)

这一轮主要集中在数据结构和问题解决上。他们从一个简单的问题开始,逐渐转向棘手的问题。

  • 在数组中查找下一个更大的元素。 https://www.geeksforgeeks.org/next-greater-element/
  • 在 BST 中找到两个元素,使得它们的和等于 k。 https://www.geeksforgeeks.org/find-pair-given-sum-bst/

他们希望我在 Notepad++(或任何其他选择的编辑器)中编写功能齐全的代码,并仔细检查了编写代码的方式。他们完全关注时间和空间的复杂性。面试官希望我以最佳时间作为空间复杂度编写代码。

他们本来打算再问一个问题,但由于我的面试开始晚了 15 分钟(面试官迟到了),他们只用了 2 个问题结束了这一轮。

建议:尝试练习 Leetcode、GeeksForGeeks 中关于 List、Queue、Stack、BST、Arrays、Searching 和 Sorting 等主题的中级 DSA 问题。

Round 2:(系统设计):面试官让我做一个读写锁,可以同时支持多读但只能写一次。他让我在 IDE 中编写代码,以便我可以在最后展示一个小演示。但是我的 IDE 还没有准备好,我继续使用记事本。面试官验证了是否遵循了 SOLID 原则,是否可以满足所有要求等。他对设计提出了几个疑问,并在讨论过程中提出了改进建议。最后,他问了几个关于 SQL vs NOSQL DB 和设计原则的问题。他深入研究了 NoSQL 设计。

建议:从各种文章中尽可能多地研究系统设计用例(尤其是Medium上的文章)

第三轮:(招聘经理):在我的工作经验中,它纯粹专注于过去的项目。面试官深入询问了我在当前和过去组织中参与的所有项目。他询问了我面临的所有挑战,我是如何解决的,产品设计是什么,我的角色和职责。他还问我为什么要换工作,我会怎么做.

建议:对你迄今为止所从事的每一个项目都有透彻的了解。告诉他们每个项目中一项重大挑战任务的每一个细节。尝试对答案持积极态度。

第 4 轮:(董事轮):这一轮是与正在进行招聘的业务部门的主管一起进行的。他要求详细介绍学校教育,家庭背景等。然后他又谈到了我的经历,问我是否从零开始创建了一些项目,做过负载测试,我在当前团队中的角色和职责。然后,他转向了 Netflix 设计。要求我创建类 Netflix 系统的高级设计。在对设计进行了一番盘问后,他终于结束了面试过程。

建议:试着在你的方法中保持积极的态度,并展示你自己的美好形象。

经过几天的导演轮,我收到了我通过面试的邮件。