技术回合(1小时):本回合考查解决问题的能力
- 类似于 https://www.geeksforgeeks.org/closest-perfect-square-and-its-distance/。我被要求在不使用 sqrtRoot() 函数的情况下找到最接近数字的平方根。
例如:
Input:10 Output:3 Input:15 Output:4
- https://www.geeksforgeeks.org/block-swap-algorithm-for-array-rotation/。我先讲了蛮力术,然后是阵法反转术。他要求另一种可能的解决方案,例如分而治之。
- https://www.geeksforgeeks.org/minimum-number-of-squares-whose-sum-equals-to-given-number-n/
- https://www.geeksforgeeks.org/connect-nodes-at-same-level-with-o1-extra-space/。我讲了层序遍历的方法。但面试官要求在恒定空间内进行。告诉递归解决方案
- 给定一个盒子数组。每个盒子都有 l,w,h。堆叠盒子以获得最大高度,这样盒子上方的面积较小。
我问是否 l,w,h 是固定的,或者可以使用任何维度。他要求首先考虑固定尺寸,然后再继续:
Variable dimensions. 3. 2,5,4 2. 3,4,28 1. 2,6,18 Ans: 28+4
告诉方法根据面积和高度对数组进行排序,然后线性遍历数组并存储最大值。区域 val 的高度值。
然后问题修改为 https://www.geeksforgeeks.org/box-stacking-problem-dp-22/
技术回合(1 小时):由于我对Java不太熟悉,他们主要问了概念相关和 OOPS 相关问题
- 单例类的代码以及所有与其同步的相关问题,双锁检查,早期初始化,早期初始化的缺点。
- 什么时候单例类被垃圾收集?
- Java的内存管理?堆/栈
- 为什么在Java需要字符串池概念?为什么 String 类在Java不可变的?
- 如何在Java创建自己的不可变类?
- 继承还是组合?哪一个是首选,为什么?
- 依赖注入?
- 垃圾收集技术?
- 内存泄漏?
- HashMap 内部如何工作?我们需要覆盖哪些方法才能使关键类有资格作为 Key 工作?
- 如果 2 个对象引用指向同一个对象,那么哈希码是否相同?为什么我们需要定义我们自己的 hashcode() 函数?
- https://www.geeksforgeeks.org/override-equalsobject-hashcode-method/
- Java的哪个集合遵循策略模式?
- 集合。排序();这是否遵循策略设计模式?
- 观察者模式?
- 如何将多个线程连接起来并相互交互?
管理回合(~50 分钟):
- 二叉树的螺旋顺序遍历。
我使用 2 个堆栈编写代码。然后他要求将 2 个堆栈减少到 1 个。我提到用 1 个堆栈是不可能的,但是可以使用 deque。
- 删除字符串所有相邻的相似字符
Ex: mississippi->m mississi->m
使用 2 个循环的强力方法,时间复杂度 (n*n)。他要求优化它并提示使用一些空间。
https://www.geeksforgeeks.org/recursively-remove-adjacent-duplicates-given-string/
- https://www.geeksforgeeks.org/a-program-to-check-if-strings-are-rotations-of-each-other/
- 有多少种多态性?
- 不可变类。我们如何创建一个不可变的类?
导演回合(1小时):
- https://www.geeksforgeeks.org/print-a-given-matrix-in-spiral-form/。按 n*m 和 n 和 m 顺序排列的矩阵大小可能相等,也可能不相等。
- https://www.geeksforgeeks.org/find-the-point-where-maximum-intervals-overlap/
- 在Java崩溃程序的方法以及在每种情况下会抛出什么异常?
- 基于输出的程序
Java
Activity A{ Rect mRect = new Rect(10,20); Void foo(Rect r) { r = null; } Void foo1() { …… Foo(mRect); Println(mRect.left, mRect.right); // what will it print? } }
- https://www.geeksforgeeks.org/make-class-whose-objects-can-dynamically-allocated/