m
点赞 评论

相关推荐

10-10 22:16
门头沟学院 Java
#同程秋招#第一次线下面,同程宣讲的要求是想要技术强的,所以面试感觉强度就不低,果然问的都是一些底层相关的内容面试官人很好,也不压力,已经尽量循循善诱了,奈何本人太菜,面试官想帮也帮不了总时长30min左右### 项目拷打- 项目内容介绍和提问- 使用tsdb对于不同的数据应该注意什么?- 使用什么tsdb?- 作为业务方使用tsdb要规范tsdb些什么问题?- xxl-job底层实现?(不会)- 如何自己实现xxl-job (打的乱七八糟不是很满意)### 多线程理解当场看了一段代码```javaclass 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的低层源码,说只看过集合的,也没问。- 顺势问了下如果学新技术怎么办?- 反问。说这个岗位涉及底层,所以需要了解很底层的内容。- 凉凉地走了~#面经#
点赞 评论 收藏
分享
牛客网
牛客企业服务