#同程秋招#
第一次线下面,同程宣讲的要求是想要技术强的,所以面试感觉强度就不低,果然问的都是一些底层相关的内容
面试官人很好,也不压力,已经尽量循循善诱了,奈何本人太菜,面试官想帮也帮不了
总时长30min左右
### 项目拷打
- 项目内容介绍和提问
- 使用tsdb对于不同的数据应该注意什么?
- 使用什么tsdb?
- 作为业务方使用tsdb要规范tsdb些什么问题?
- xxl-job底层实现?(不会)
- 如何自己实现xxl-job (打的乱七八糟不是很满意)
### 多线程理解
当场看了一段代码
```java
class Test {
static boolean isRight = false;
public static void main(String[] args) throws InterruptedException {
Thread t1 = new Thread(() -> {
int i = 0;
while (!isRight) {
i++;
System.out.println(i);
}
});
t1.start();
Thread.sleep(100);
isRight = true;
t1.join();
}
}
```
- 代码执行后t1能**及时停止**吗?
- 多线程情况下可能不能。在 Java 中,线程对共享变量的修改未必对其他线程立即可见。如果变量没有使用 `volatile` 或其他同步机制,`t1` 线程可能会读取到一个旧的缓存值,而不会看到 `main` 线程对 `isRight` 变量的更新。因此,`t1` 线程可能不会在 `main` 线程修改 `isRight = true` 之后立即退出。
- 没答上来,提示了volatile,只会背八股,所以还是没答上来。
- 还问了看没看过缓冲池/jvm的低层源码,说只看过集合的,也没问。
- 顺势问了下如果学新技术怎么办?
- 反问。说这个岗位涉及底层,所以需要了解很底层的内容。
- 凉凉地走了~
#面经#