写点什么

kafka 入门教程,springboot 高级教程,聊聊你对分布式锁技术方案的理解

用户头像
极客开源
关注
发布于: 刚刚

这些面试题你都会了吗?(精选 97 道 Java 核心面试题)

  • 常量池有哪些,数据结构,自己设计一个常量池

  • String 为啥设计为 final,好处是啥,其中的 equals 方法如何实现的

  • jdk 序列化怎么实现,有测试过他的性能吗,serialVersionUID 的作用是什么,用过一些其他序列化方式没,为什么需要序列化这个技术

  • hashmap1.7 和 1.8 的区别 hashmap 怎么解决 hash 冲突的 查询时间复杂度 数据结构

  • hashmap 的加载因子为什么是 0.75 好处有没有去思考过 还有为什么初始化容量是 16 为什么就不是 15 put 的死循环

  • LinkedHashMap 和 hashmap 的区别 数据结构 怎么实现 LRU

  • TreeMap 的底层排序算法用的什么 说下快排和堆排

  • ConcurrentHashMap1.7 1.8 的区别 size 方法可以保证一致性吗 知道缓存行吗,里面用到的缓存行填充技术是为了解决什么 put 方法和 hashmap 的 put 的区别有哪些

  • jdk 的 @Contented 原理说一下

  • jvm 和 jmm 区别说一下 说一下 jvm 内存模型

  • oom 了解不,说一下可能发生 oom 的内存区域,堆外内存可以发生 oom 不,会不会被垃圾回收 堆外内存一般在什么地方会用到

  • 回收算法 分别优缺点

  • CMS 和 G1 的区别 分别说一下数据结构

  • CMS 和 G1 分别的使用场景 G1 最后一步操作是什么 为什么用户可以自己设置回收内存 jdk 这样设计的好处是什么

  • 说一下项目中调优经验

  • 说一下 MAT 的最长引用链功能 MAT 一般用来分析什么比较快

  • 一般你怎么分析一个 OOM

  • gc 日志里面可以看到垃圾回收器吗

  • 看内存使用情况用什么命令

  • 看程序里面有多少个线程在运行怎么看

  • 线程的状态怎么分析 如果 BLOCKING 和 WAITING 状态的线程很多 会出现什么情况 说一下 BLOCKING 和 WAITING 的区别

  • 如何排查 CPU 过高的情况

  • 深堆和浅堆

  • jinfo 的作用是什么

  • STW 是什么意思 CMS 和 G1 分别在哪些时期发生的 STW 有没有可能避免 STW 的情况

  • 并行和并发的区别

  • 说一下 sync 锁和 lock 锁的区别 他们都是为了保证什么 除了这两种方式还可以怎么优雅的保证程序运行正常

  • sync 锁的底层原理

  • 为什么轻量级锁就比重量级锁要快

  • 程运行到一半,cpu 切换到另一个线程,之后再切换回来执行,是怎么保证在上一次执行点执行的

  • sync 锁的锁升级和 lock 锁的锁降级的区别

  • lock 锁的锁降级的优化点是什么,为什么不可以锁升级呢 要是发生了锁升级会导致什么

  • aqs 的数据结构 为什么要用 single 而不是 singalall

  • state 变量的作用是什么 用在哪些地方

  • cas 是不是一定就比使用 sync 锁要好 什么情况下用 sync 锁好一点

  • cas 怎么解决的 aba 问题

  • longadrr 原理是什么 是对什么的优化

  • vaolitale 为什么不能保证原子性 是怎么导致重排序失效的

  • 线程池原理 参数介绍 平时怎么用的线程池 怎么优雅的监控线程池的关闭

  • 并发工具类有哪些 平时杂用的 原理 区别

  • disruptor 的原理 对于阻塞队列优化点在哪 平时杂用的

  • arraynlocingqueqe 和 linkedbloikingqueue 的区别

  • hanppen befor 语义 多线程下重排序的问题 解决方法

  • forkjoin 思想

  • 设计模式 策略的几种实现 代理 uml 图 自己项目里面怎么用的 如果一个 if else 很多的情况下 是不是一定要用策略去改造 这样改造后的优缺点

  • 单例里面的静态内部类的实现

  • 建造者和工厂的区别

  • 继承和内包含的区别

  • spring 里面用到设计模式

  • 说下 spring 你看过的源码流程

  • aop 的的通知方法内部执行流程

  • 一个事务中包含多个子事务 怎么解决

  • springboot 的 spi 机制

  • springboot 的内嵌 tomcat 实现原理

  • springboot 的自动装配原理

  • mysql 的索引原理 有哪些索引 为什么尽量建复合索引 最左侧索引原理 为什么违反就会导致索引失效

  • 索引的数据结构 B+ B 树的区别 为啥 B+树更快

  • hash 索引的场景 是不是都用 B+树

  • 如果是一个查询操作很慢你从整体架构到细节怎么排查

  • redis 的主从 哨兵 集群分别解决什么问题

  • 主从同步原理 怎么实现的

  • redis 可以做哪些事情

  • redis 的 gossip 协议

  • redis 的 hash 算法 一致性 hash 算法原理

  • 一致性 hash 算法可以解决负载均衡问题么

  • linux 的 io 模型 indot 是什么

  • bio 的原理

  • netty 项目中的使用 netty 中的管道是什么 每条消息的传递原理

  • netty 的 bytebuf 双指针是什么 零拷贝

  • netty 里面怎么解决黏包半包的 tcp 滑动窗口是什么 nagle 算法 netty

  • 自己实现一个通信协议 尽可能想到完善

  • rpc 和 http 的区别 自己实现一个 rpc

  • doss 攻击是什么 是怎么钻的漏洞

  • 几种消息中间件的区别 怎么选型 平时项目中用了哪些

  • kafka 怎么保证消息不丢失 消息不重复消费 消息有序 消息堆积怎么解决 消息持久化怎么实现的 消息淘汰策略

  • kafka 的 lsu 是什么 保证有序和性能怎么权衡

  • 如果是 5 个消费者 3 个分区 5 个消费者都能消费到吗

  • kafka 分区在均衡是什么意思 如果我想设置偏移量 怎么设置

  • kafka 的副本之间的同步机制

  • 微服务和分布式区别 dubbo 用过没有 dubbo 的 spi dubbo 的熔断功能 dubbo 支持的一些协议

  • dubbo 的整个执行原理 从提供方到消费方的过程

  • springcloud 和 dubbo 的区别 springcloud 在项目中怎么用的

  • hystrics 原理服务隔离是怎么做的

  • feing 的原理

  • 网关统一异常处理是怎么做的 一般你们怎么做的权限 如果是通过网关集成 security 前端不加 Autchcation 会不会进入网关授权过滤器

  • 画一下你们的架构图数据流,你们系统的伸缩性体现在哪里

  • 一个秒杀场景怎么设计 包括前后端

  • 现在后端日志报了一个事务死锁的 bug 怎么排查

  • nestat 之后发现有很多 wating 的进程考虑是什么情况引起的

  • 一个 websockt 推送的统计数据,程序运行一段时间突然数据不更新了,但是连接还存在,怎么排查,没有任何异常日志

  • 给一个数组找出三个数相加等于数组另一个数的这四个数

  • 树的遍历树图的区别 dfs bfs

  • es 的数据结构 倒排索引的原理 es 出现中文检索精确度不高的问题

  • es 的分词和关键字的区别

  • 分布式锁 分布式事务 cap zab base pacox 2pc 3pc tcc

  • seata 和 lcn 的区别内部实现原理

  • kill 调一个进程,怎么保证程序里面的线程优雅结束




写在最后

可能有人会问我为什么愿意去花时间帮助大家实现求职梦想,因为我一直坚信时间是可以复制的。我牺牲了自己的大概十个小时写了这片文章,换来的是成千上万的求职者节约几天甚至几周时间浪费在无用的资源上。




上面的这些(算法与数据结构)+(Java 多线程学习手册)+(计算机网络顶级教程)等学习资源


本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

用户头像

极客开源

关注

还未添加个人签名 2021.03.18 加入

还未添加个人简介

评论

发布
暂无评论
kafka入门教程,springboot高级教程,聊聊你对分布式锁技术方案的理解