关于大话面试
截止当前,大话面试已更新 99 篇精彩八股文章,共计 21 万字。该文档向大家展示了大话面试所有技术文档,帮助大家更好选择需要学习的技术。
有同学问:为什么感觉大话面试题少?我的回答是,大话面试每篇文章皆是原创,会花费大量精力维护深度内容,这种深度原创回答短时间内不可能会量产,但我们会一直更新到篇幅多为止。
想要更具体了解什么是大话面试,以及大话面试的优点有哪些?详情参考:🧐 什么是大话面试?
大话面试自 2024 年 1 月份上线以来,每月都会更新以及新增加八股解答。为了方便大家查看更新内容,我们将相关的变更日志进行了记录,类型包括 新增文章
、内容变更
、问题修复
、文章重构
等。最新更新日志详情查看:大话面试更新日志。
说明
文章类型:
- 表示 开源文章 ,点击左侧链接标题跳转文章。
- 表示 会员文章,未开通会员用户仅能预览 30% 内容。
如果 在一篇文章中同时被标记,代表文章属于会员文章,但可被限免阅读。
Redis
1. 热门问题
- Redis为什么这么快? - 面试必问,背就完了。最好能有自己的理解
- Redis如何实现到期删除的? - Redis如何实现到期删除的?
- Redis常用内存淘汰策略? - Redis常用内存淘汰策略?
- 什么是布隆过滤器? - 什么是布隆过滤器?
- 布隆过滤器容量如何评估? - Redis场景进阶问题,极度考验面试者
- 布隆过滤器容量不够用如何解决? - 不会这个问题的都被问“麻”了
- Redis节点CPU核数是不是越高越好? - Redis节点CPU核数是不是越高越好?
- 如何提升Redis批量访问性能? - 再好的中间件API,不会用等于无
2. 数据结构
- Redis字符串底层数据结构? - 数据结构扩展问题
- Redis的ZSet底层是怎么实现的? - 大厂面试官“热爱”问题
- Redis的压缩列表是什么? - 数据结构扩展问题
- Redis的跳表是什么? - 大厂面试官“热爱”问题
3. 数据持久化
- Redis宕机数据会丢失么? - 一文解惑大家为什么热衷Redis
- Redis的RDB是怎么实现的? - Redis的RDB是怎么实现的?
- Redis的AOF是怎么实现的? - Redis的AOF是怎么实现的?
4. 高可用篇
- Redis如何实现高可用架构? - 面试常问Redis如何完成高可用
- Redis主从复制的原理是什么? - 掌握集群数据同步方案原理
- 什么是Redis-Sentinel集群? - 主从模式和集群模式中间过渡架构
- 什么是Redis-Cluster集群? - 详解Redis-Cluster集群热门问题
- Redis集群为什么不基于一致性哈希算法实现? - 面试中被问到就是赚到,賊亮点
- 为什么Redis常规架构不适合海量请求? - Redis场景进阶知识,帮助你更好理解高并发
- Redis如何应对海量访问请求? - Redis高吞吐是个伪命题,取决于资源
缓存实战
1. 热门问题
- 如何通俗易懂说明缓存击穿解决方案? - 面试中聊到缓存必被问到,和工作息息相关
- 如何通俗易懂说透缓存穿透解决方案? - 缓存必问面试题,非常依赖场景
- 如何通俗易懂说明缓存雪崩解决方案? - 雪崩在大部分场景下并不常见
- 热点缓存数据如何预热? - 热点缓存数据如何预热?
2. BigKey&HotKey
- 什么是大Key? - 实际工作中应避免该问题
- 如何发现缓存中的大Key? - 如何发现缓存中的大Key?
- 如何解决大Key问题? - 如何解决大Key问题?
- 如何发现缓存中热Key? - 项目一般不会存在热Key问题,除非公司顶流
- 如何解决热Key问题? - 如何解决热Key问题?
3. 缓存数据库一致性
- 缓存与数据库一致性? - 概念较多,记住常见解决方案就好
- 先写DB再删除缓存解决缓存一致性? - 在讲解概念基础上,扩展使用上的一些问题
- 先写DB再删除缓存,结果Redis宕机? - 八股最喜欢问的极端场景题之一
- Binlog配合MQ如何解决缓存一致性? - 公司软件环境允许下,推荐使用该模式
并发编程
1. 线程池篇
- 线程池有哪些应用场景? - 聊一聊公司业务场景中线程池应用场景
- 了解线程池的工作原理吗? - 生产使用线程池必读文章
- 项目重启或宕机时线程池任务还没处理完? - 生产使用线程池必读文章
- 线程池如何实现线程复用&超时回收? - 一起学习线程池原理
- 如何监控线程池的运行性能指标? - 生产线程池应进行适当的监控以保障业务稳定运行
- 如何感知线程池触发了拒绝策略? - 聊一聊公司业务场景中线程池应用场景
- 为什么不建议Executors创建线程池? - 生产避坑建议指南!
- 如何处理线程池任务运行异常? - 开发人员必备技能,不知道可能会踩坑!
2. 原子并发篇
- 什么是CAS?有哪些使用场景? - 经典无锁化并发设计
- 如何解决CAS的ABA问题? - 仅知道CAS还不够,还得知道有什么问题
3. ThreadLocal篇
- ThreadLocal底层实现原理? - 深入解析ThreadLocal运行机制
- ThreadLocal什么场景内存泄露? - 熟读文章原理并避免泄露场景
- ThreadLocal有哪些扩展实现? - 阿里开源TTL以及Netty扩展解决方案
分布式
1. 分布式ID
- 什么是雪花算法? - 我说这是最受欢迎的算法没人反对吧?
- 雪花算法集群环境重复生成问题? - 雪花算法不懂原理生产环境有点被动
2. 微服务
- 如何实现项目优雅停机? - 划重点,面试会被问
- 微服务如何实现主动下线? - 上点规模的公司都需要考虑
3. 分库分表
- 什么是分库分表? - 数据量大的尽头是“分库分表”?
- 什么情况下分库?分表?分库分表? - MySQL大数据量场景下必问面试场景题
- 分库分表都有哪些框架? - 分库分表都有哪些框架?
- 如何选择分库分表框架? - 生态、社区、数据库支持等
- 分库分表有哪些常用算法? - 哈希、范围以及自定义等
- 什么是复合分片算法? - 复杂场景下必备即能
- 什么是分库分表基因法? - 转转公司用户订单基于基因法查询
消息队列
1. Kafka
- Kafka发送一条消息的流程? - 从生产者到Broker全方位解析原理
- 为什么选择Kafka作为消息队列? - 知其然知其所以然
- Kafka为什么这么快? - 常见的零拷贝和页缓存等知识点扫盲
- Kafka如何保证数据不丢失 - 通俗易懂说明Kafka难理解的ISR、HW、LEO、Epoch等机制
- Kafka如何做到消息的有序性? - Kafka如何做到消息的有序性?
- Kafka消息“拉”模式还是“推”模式? - Kafka和RocketMQ采用同一种消费架构
2. RabbitMQ
- RabbitMQ的特点和性能 - 为什么要用RabbitMQ,破案了
- 什么是RabbitMQ-ACK机制? - 如何确定一个消息是否被消费的原理
- RabbitMQ有哪几种ACK机制? - 消息消费确认的多种机制
- RabbitMQ-ACK机制有哪些坑? - 消息消费确认存在的“坑”
- RabbitMQ如何实现延迟队列? - 没有不适合的技术方案,只有不合适的场景
- 什么是RabbitMQ的脑裂? - 分布式CAP经典理论实战
框架八股
1. Spring
- Spring有哪些常用注解? - Spring有哪些常用注解?
- Spring-Web有哪些常用注解? - Spring-Web有哪些常用注解?
- Spring依赖注入有哪些常用注解? - Spring依赖注入有哪些常用注解?
- Spring配置上下文有哪些常用注解? - Spring配置上下文有哪些常用注解?
- 什么是IOC?什么是DI? - 什么是IOC?什么是DI?
- Spring的组合注解是什么? - Spring的组合注解是什么?
- @Configuration和@Component有什么区别? - @Configuration和@Component有什么区别?
- Spring容器的启动过程? - Spring容器的启动过程?
- 什么是BeanFactory? - 什么是BeanFactory?
- 什么是FactoryBean? - 什么是FactoryBean?
- BeanFactory和FactoryBean有什么区别? - BeanFactory和FactoryBean有什么区别?
- 什么是三级缓存?为什么需要? - 一文搞懂Spring三级缓存原理
- Spring的懒加载和延迟注入是什么?两者有何区别? - Spring的懒加载和延迟注入是什么?两者有何区别?
- @Autowired和@Resource有何区别? - @Autowired和@Resource有何区别?
- 不被Spring管理的对象也能进行依赖注入吗? - 不被Spring管理的对象也能进行依赖注入吗?
- Bean的生命周期? - Bean的生命周期?
- Bean是线程安全的吗? - Bean是线程安全的吗?
- Bean的作用域是什么?有哪些作用域? - Bean的作用域是什么?有哪些作用域?
- SpringAOP有哪些核心组件? - SpringAOP有哪些核心组件?
- JDK代理和CGLib代理的区别? - JDK代理和CGLib代理的区别?
2. SpringBoot
- @SpringBootApplication注解是怎么生效的? - @SpringBootApplication注解是怎么生效的?
- SpringBoot的启动流程? - SpringBoot的启动流程?
- 什么是自动装配? - 什么是自动装配?
3. Dubbo
- Dubbo如何自定义负载均衡? - Dubbo如何自定义负载均衡?
- 什么是Dubbo标签路由? - 什么是Dubbo标签路由?
- Dubbo标签路由应用场景? - Dubbo标签路由应用场景?