📜  2021 年 VMware 面试体验

📅  最后修改于: 2021-11-18 01:40:02             🧑  作者: Mango

一位技术人员高级成员的朋友向我介绍了 VMWARE。我接到了 HR 的电话,然后是一封带有 Zoom 面试链接的电子邮件。该电子邮件还包含一个用于配对编码的hackerRank链接。

安排了 3 次背靠背的技术面试。所有的面试官都非常友好和理解。

第1轮:

  1. 解释当前项目的架构。到目前为止,您使用了哪些设计模式,为什么?
  2. URL 缩短算法。您将如何设计整个端到端系统,然后对其进行扩展以处理更多请求等等?
  3. 解释Java的同步。解释锁。编写您自己的程序,其中将包含两种方法
    • 获取锁()
    • 释放锁()

    使用上述两种方法编写您自己的代码来处理进入临界区的多个线程。

  4. 编写一个算法来反转单链表。如果以可迭代方式进行,时间和空间复杂度是多少,如果以递归方式进行,时间和空间复杂度是多少。

第二轮:

  1. 谈谈你自己和你最近参与的项目。
  2. 设计一个系统来审查软件公司的代码。您将使用哪些 API?其中有多少是 GET、POST、PUT 和 DELETE?你会使用什么设计模式,为什么?您将如何使系统具有容错性和可扩展性?
  3. 给定一个单词列表,按照它们以字母顺序出现在字典中的方式排列它,并提供从这些单词创建的字典中出现的第 n 个(比如倒数第二个)单词。
    cat,bat,rat,king,queen,wise,long,zoom,vmware  
    Constraint: The algo should be time-optimized.

    您将使用哪种排序算法以及时间和空间复杂度是多少?

  4. 为什么Java是最流行的广泛使用的语言?是什么让它从其他编程语言中脱颖而出。

    第三轮:

    1. 关于架构当前项目的详细讨论。您如何部署应用程序?正在使用哪些数据库,为什么?等等。
    2. 关于多线程、竞争条件、线程安全和锁定机制的问题很少。您将如何处理Java集合中的并发性?
    3. 什么是序列化?你将如何在Java实现它?它内部如何运作?瞬态关键字有什么用?
    4. 游乐园管理系统设计.
    5. 您目前如何处理项目中的身份验证?