快手java已过

1.自我介绍
2.实习收获了什么
3.对于慢查询优化的工作
4.有没有做过mysql分析的工作
5.mysql为什么B+树
6.mysql联合索引和普通索引有什么区别
18.索引多少层
7.加索引的原则,什么时候加索引
8.redis快,是完全单线程的嘛,对单不单线程怎么理解
9.redis大key怎么删掉
10.nacos和zk有什么区别
11.线程池参数设置原则
12.线程池分配任务原理
13.线程池怎么删线程原理
14.countdownlach等底层原理是怎么样的,你怎么理解的
15.java多线程通信的方法
16.项目抄的还是自己搞的
17.算法左边第一个小于它的数字
全部评论
佬,做的啥项目啊
点赞 回复 分享
发布于 2024-06-24 08:42 上海
话说项目抄的还是自己搞的这个该怎么回答啊我这种烂大街的一看就是抄的
点赞 回复 分享
发布于 2024-06-21 20:48 香港
什么叫项目抄的还是自己搞得😂,绷不住了
点赞 回复 分享
发布于 2024-06-16 13:21 辽宁
哥,约二面了吗
点赞 回复 分享
发布于 2024-05-20 11:13 浙江
👻了✌️啊
点赞 回复 分享
发布于 2024-05-19 08:51 广东
佬哪个部门
点赞 回复 分享
发布于 2024-05-16 18:51 北京

相关推荐

04-15 13:06
门头沟学院 Java
1.Java 有哪些基本数据类型?2.char 类型占几个字节?3.基本数据类型和包装类有什么区别?4.Java 中常用的集合类有哪些?5.HashSet 的底层数据结构是怎样的?6.HashMap 的 put 方法执行过程是怎样的?7.HashMap 中判断 Key 相等是通过什么方式?8.Java 中的 equals 和 == 有什么区别?9.HashMap 扩容时是怎么处理的?10.扩容后,原数组下标和新数组下标有什么对应关系?11.高低位是如何判断的?12.多线程与并发 (JUC)Java 中加锁的方式有哪些?13.synchronized 和 ReentrantLock 有什么区别?14.ReentrantLock 的公平锁和非公平锁在实现上有什么区别?15.synchronized 的锁升级过程是怎样的?16.锁可以降级吗?17.线程池执行任务的流程是怎样的?18.核心线程数满了之后,为什么先放入队列,而不是直接启动非核心线程?19.核心线程可以被销毁吗?20.线程在执行任务过程中抛出异常会有什么影响?21.InnoDB 的事务隔离级别有哪些?22.可重复读(RR)是通过什么机制实现的?23.MVCC 的原理是什么?24. 结合索引查询、Read View 和 Undo Log,详细讲讲查询一条数据版本的全过程。25.InnoDB 索引的数据结构是怎样的?26.B+ 树和 二叉树有什么区别?27.MVCC 加临键锁)能彻底解决幻读问题吗?28.举个无法解决的 Case。29.间隙锁在 RC(读已提交)和 RR(可重复读)级别下有什么区别?30.Redis 的 IO 模型是怎样的?31.Redis 6.0 之后引入多线程的作用是什么?32.Redis 中的大 Key 需要怎么去删除?33.Redis 内存不足时的淘汰策略有哪些?34.如何用 Java 设计一个 LRU 缓存,实现 O(1) 的查询和修改?35.第一段实习经历的离职原因是什么?36.在运维平台项目中,负责了哪些功能,解决了什么问题?37.通过 Dubbo Filter 记录慢请求日志的具体实现细节是什么?38.Dubbo Filter 的设计模式是什么?39.如何从全局视角统计慢请求(例如按时间段、高频接口 Top 排行)?40.是否有接入完整的监控大盘?41.项目中遇到过哪些棘手的技术问题?42.如果定时同步 Redis 的过程失败了,有什么告警和重试的策略?43.平时编程会使用 AI 工具吗?44.使用什么工具和模型?45.AI 生成代码和手敲代码的比例大概是多少?46.AI 领域的 MCP 协议和 Agent Skills 概念有什么区别?
点赞 评论 收藏
分享
04-19 20:28
已编辑
门头沟学院 Java
只背了threadLocal的存储特点和底层原理,以及内存泄露原因,结果被问异步的线程怎么访问子线程?直接懵了 现在来补充这块盲区。Java 主线程中存储的 ThreadLocal 数据,异步子线程、线程池为什么获取不到?有哪些解决方案?各自优缺点?答:1. 原生 ThreadLocal 底层限制每个线程独立拥有自己的  ThreadLocalMap ,天然线程隔离;主线程的 Map 与异步/子线程 Map 完全独立,因此异步线程直接  get()  拿到  null 。解决方案:2. 方案一:InheritableThreadLocal(JDK 原生)- 原理:Thread 类内部存在  inheritableThreadLocals  集合,新建子线程时会浅拷贝父线程该集合数据,实现父子线程传递。- 致命缺点:拷贝逻辑只执行在线程构造方法;线程池、@Async 线程长期复用,不会重复拷贝,导致上下文失效、出现脏数据,生产不推荐。3. 方案二:临时简易方案(无依赖)主线程提前手动  get()  取出 ThreadLocal 数据,转为有效final局部变量,直接传给异步 Lambda/内部类使用;拓展:方法内局部变量被异步引用,必须为有效final(不可二次赋值),成员变量、静态变量无此限制。4. 方案三:生产最终方案(TransmittableThreadLocal 阿里 TTL)- 核心原理:在异步任务提交时刻主动捕获主线程上下文,任务执行时绑定到复用线程,执行完毕自动清理。- 优势:完美兼容线程池、@Async、CompletableFuture 所有异步场景;无需手动传参,彻底摆脱  final  限制,是企业级上下文传递标准方案。其他问题追问1:InheritableThreadLocal 线程池失效的根本原因?线程池线程提前初始化、长期复用,拷贝逻辑只在线程创建时执行一次,无法同步主线程最新的 ThreadLocal 数据。追问2:TTL 与 InheritableThreadLocal 核心区别?InheritableThreadLocal 是线程创建时拷贝;TTL 是任务提交时拷贝,专门适配线程复用场景。追问3:异步代码里,为什么主线程局部变量必须要有效final?局部变量存储在线程栈,异步线程无法跨栈访问;底层会进行值拷贝,语法禁止二次赋值,防止多线程数据错乱。
发面经攒人品
点赞 评论 收藏
分享
评论
12
50
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务