📜  沃尔玛面试经历| 3 年经验 (SDE-3)

📅  最后修改于: 2021-09-23 05:18:44             🧑  作者: Mango

第1轮:

围绕具有事件和会议的日历应用程序的书面作业。您应该在编写类时提出具有适当实体定义和设计模式的工作 API。

第二轮:

我过去的项目和第一轮作业讨论
我们讨论了抽象类与接口以及新的Java 8 特性 wrt 接口(默认方法)。它还包括在接口和 abstarct 类中使用默认方法之间的一些差异。何时使用它们中的每一个。
将哈希映射视为单例类的数据成员。如何使其线程安全?
举一个既是单例又是不可变的类的例子。关于静态类和多线程的一些问题
在递增的数组中找到缺失的元素,例如 31, 32, 34, 35, 36 (他期待修改二进制搜索)

第 3 轮:

围绕Java特性的讨论,特别是关于多态性的 OOPS 概念
静态方法可以被覆盖吗?为什么/为什么不?
什么是单例类?如何使其线程安全?
静态同步与非静态同步方法的区别?
2 个线程可以使用同一个对象调用 2 个非静态同步方法吗?
2 个线程可以使用 diff 对象调用 2 个非静态同步方法吗?
2 个线程可以使用相同/差异对象调用 2 个静态同步方法吗?
类 c 扩展 b, b 扩展 a ?构造函数的调用顺序是什么?
表 BOOK ->id, book name, AUTHOR-> author id, author name, BOOKAUTHOR -> id, author id 上的 SQL 查询。给出所有写过不止一本书的作者姓名(避免嵌套查询并使用连接,编写优化的查询)

两个类:CarPlate、Car,并给定一个 HashMap。假设类 A 创建了一个 CarPlate(“4000”) 和 Car 的对象,并将它们放入给定的 HashMap 中。还有另一个 B 类,它也创建了一个 CarPlate(“4000”) 对象并尝试获取它,但未找到抛出错误?这里可能出现什么问题?
(我给出了解决方案,因为默认的 hashcode 方法是基于地址的,所以对于 2 个 carplate 对象,hashcode 可能是不同的。所以我们应该覆盖 hascode 方法和 equals 方法)