技术回合(1小时):
- 询问我目前的公司项目和使用的技术堆栈
- 什么是线程?同步关键字?差异。 Java中创建线程的方法,哪一种更好?黑白多线程和多道程序的区别
- DBMS 中的 txn 是什么?酸特性
- 地图的内部实现。 HashMap 是如何工作的? https://www.javatpoint.com/working-of-hashmap-in-java
- 反向单向链表。还要编写递归代码(https://www.geeksforgeeks.org/recursively-reversing-a-linked-list-a-simple-implementation/)
- https://www.geeksforgeeks.org/detect-and-remove-loop-in-a-linked-list/
- https://www.geeksforgeeks.org/sort-an-array-of-0s-1s-and-2s/
- https://www.geeksforgeeks.org/design-a-stack-that-supports-getmin-in-o1-time-and-o1-extra-space/
- 为单例类编写代码并使其线程安全。
技术回合(1小时):
- 什么是继承?举个例子
- 函数重载和覆盖
- 静态函数相关问题
Java
class MyBase{ public static void func(){ System.out.println("Base static called"); } } class MyDerived extends MyBase{ public void func(){ // is this allowed? System.out.println("Derived static called"); } }
Java
int fib(int n) { if (n == 0 || n == 1) { return n; } return fib(n-1) + fib(n-2); }
- 固体原则
- Java的HashMap和HashSet。它们是如何工作的?
- 垃圾收集器如何工作?什么时候调用它,我们如何显式调用它? (https://www.tutorialspoint.com/how-can-we-call-garbage-collection-gc-explicitly-in-java)
- https://www.geeksforgeeks.org/minimum-cost-to-reach-from-the-top-left-to-the-bottom-right-corner-of-a-matrix/
- 你使用了哪些设计模式?解释观察者模式。另外,告诉您项目中使用单例模式的场景。
- https://www.geeksforgeeks.org/maximum-size-rectangle-binary-sub-matrix-1s/
- 区别黑白抽象类和接口。为什么两者都需要?抽象类可以有构造函数吗?
- 我们如何在Java中使变量不可变?是否可以修改最终变量值?
技术回合(1小时):
- 高级和disadv。索引的
- 一个有 1 亿行的 db 表,ABC 是 3 列
A -> 1000 个唯一值 B -> 100 万个唯一值 C -> 1000 万个唯一值
经常在 db->“select * from T where A = ?和 B = ?和 C = ?”
我们应该如何在表中创建索引?我们不能在 A,B 上创建复合索引吗?
- SQL 中的隔离级别。
- 公钥、私钥、密码学。
- 比较黑白 MongoDB 和 SQL
- HAshMap put() 和 get() 复杂度
- 以下代码的时间复杂度:
Java
int fib(int n) { if (n == 0 || n == 1) { return n; } return fib(n-1) + fib(n-2); }
- https://www.geeksforgeeks.org/maximize-sum-of-k-elements-in-array-by-taking-only-corner-elements/
- 弹簧和弹簧靴的特点是什么?
- 你知道Redis吗?
- 什么是 HTTP 和 HTTPS?