通过朋友的介绍得到了机会。他们总共参加了 1 次 Hackerrank 测试和 4 次面试。每一轮都是淘汰赛。
第 1 轮:这是一个由 3 个问题组成的 HackerRank 测试,其中一个是超级简单的,两个是中等难度的。
- 转换给定的回文字符串,使其成为非回文字符串。
- 计算将 N 以递增方式划分为 k 组的方法数。
- https://www.chegg.com/homework-help/questions-and-answers/2-nearest-neighbor-number-cities-arranged-graph-divided-like-ordinary-cartesian-plane-city-q44051613
第二轮:简单介绍, Java(不可变类,为什么String是不可变的,深入了解String池的优点,垃圾回收资格和JMM,HashMap内部结构,HashMap在Java是如何实现的,equals和hashcode函数覆盖的问题,LinkedList VS ArrayList深入, Java传值带例子,深拷贝和浅拷贝区别,final关键字,静态final,Comparable和Comparator实现和用例,Executor Service实现和用例)
简单的 DSA 问题:
- 检查 LL 是否为回文。
- 检查两个字符串是字谜。
- 从链表中删除一个没有头指针的节点
- 打印二叉树的左视图。
第 3 轮:
- 从 JS 中 == 和 === 之间的区别开始,就像它在 CV 中一样。然后只切换到Java 。
- 使用具有 O(1)、O(1) 和 O(特定时间存在的元素数)的 add、remove 和 getAll 方法实现数据结构。 DS 将仅存储 0 到 N – 1 个数字。提示是使用线性 DS。使用带有双重 LL 的数组。进行自定义实现,因为在这种情况下您不能使用库函数。
- 不可变类应用及优势
- Java 8 特性