万得 java 1面 2面

1面

  1. 设计原则
  2. aop,过滤器,拦截器,监听器解释
  3. 还有一些简单的忘了,算法考的 连续子序列最大和 ,什么思想?

5min之后二面

2面

  1. es底层原理
  2. es 分片原理
  3. redis分片原理
  4. redis同步原理
  5. redis满足CAP哪些
  6. completableFuture底层原理
  7. 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. 有个问题给我干生气了,问我为什么分库分表,为什么读写分离,我说为了应对读多写少的问题,他说没理解,再说一下

我说那就为了支持高并发,他说那也没必要读写分离啊,我无语了,说不出话了,不知道想让我回答啥

后面就随便问了问,我觉得没意思,上一个面试官还告诉我好好做题,不要只注重答案要注重代码规范可读,反正结束了,没啥兴趣,面试官年纪都很大了,虽然大家都不修篇幅,但是我还是希望以后工作团队年轻一点

全部评论

相关推荐

点赞 评论 收藏
分享
3 1 评论
分享
牛客网
牛客企业服务