万得 java 1面 2面
1面
- 设计原则
- aop,过滤器,拦截器,监听器解释
- 还有一些简单的忘了,算法考的 连续子序列最大和 ,什么思想?
5min之后二面
2面
- es底层原理
- es 分片原理
- redis分片原理
- redis同步原理
- redis满足CAP哪些
- completableFuture底层原理
CompletableFuture
是 Java 8 引入的一个强大的异步编程工具,底层实现主要依赖于以下几个关键组件:
ForkJoinPool:CompletableFuture 的核心是基于 ForkJoinPool 实现的。ForkJoinPool 是一种特殊的线程池,适用于并行计算任务。它采用了工作窃取算法,能够有效利用多核 CPU 的性能。当我们提交一个任务给 CompletableFuture 时,它会将任务提交到默认的 ForkJoinPool.commonPool() 中执行。
回调链:CompletableFuture 内部使用回调链来处理异步任务的完成和组合。通过链式调用,我们可以将多个异步任务组合在一起,形成一个任务流。例如,使用 thenApply、thenCombine 等方法。
状态管理:CompletableFuture 具有以下几种状态:未完成(Pending)、完成(Completed)和异常(Exceptionally Completed)。这些状态通过内部的 volatile 变量来管理,并使用 CAS(Compare-And-Swap)操作保证线程安全。
任务调度:CompletableFuture 的任务调度机制基于 ForkJoinPool 的工作窃取算法。当一个线程完成当前任务后,会从其他线程的任务队列中窃取任务执行,从而提高 CPU 利用率。
7. seata底层实现,哪些模式
8.AT 模式的快照怎么存的
9.es集群节点类型,分片规则
10. 为什么引入seata
11. 有个问题给我干生气了,问我为什么分库分表,为什么读写分离,我说为了应对读多写少的问题,他说没理解,再说一下
我说那就为了支持高并发,他说那也没必要读写分离啊,我无语了,说不出话了,不知道想让我回答啥
后面就随便问了问,我觉得没意思,上一个面试官还告诉我好好做题,不要只注重答案要注重代码规范可读,反正结束了,没啥兴趣,面试官年纪都很大了,虽然大家都不修篇幅,但是我还是希望以后工作团队年轻一点