# summary **Repository Path**: mxiangji/summary ## Basic Information - **Project Name**: summary - **Description**: 面试阶段总结 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-04-30 - **Last Updated**: 2024-05-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README <总结1> 1. Linux常用命令 2. pod生命周期 3. linux命令的权限修饰 4. http与https区别? 5. nginx与gateway的区别 6. nginx如何配置动静分离和负载均衡 7. k8s组件交互流程 8. 灰度发布 9. spring中bean的作用域 10. Arthas常用命令 11. BeanFactory与FactoryBean有什么区别 12. 单例设计的懒汉式双检实现模式有什么优点 13. 深拷贝与浅拷贝有什么区别 14. Arthas具体使用案例 <利用Arthas精准定位Java应用CPU负载过高问题> <引发线程cpu占用率持续飙升的根因分析> <总结2> 掌握 1. nacos底层原理 2. Feign与OpenFeign的区别 3. nacos, eureka, zookeeper的区别 4. 你们项目中使用了哪些springCloud组件? 5. 服务熔断和服务降级的区别 6. 熔断器原理 7. 项目部署流程 8. Spring循环依赖底层处理流程(a b对象举例说明) 9. 为什么在查询专辑分类信息的时候要采用视图 10. 事务特性 不考虑隔离性产生的问题 隔离级别有哪些 11. 声音断点续传原理是什么 12. 声音版权是如何保护的?(防盗链,加密与 DRM,盗录溯源) 13. throws 与 throw 了解 1. 架构图 2. 网站的性能指标 3. 服务器数量 4. 网站并发量 5. QPS, PV, UV 6. 百度统计 <总结3> <专辑详情整体的查询流程(高并发 高可用)> 1. redis支持存储的数据类型 2. redis的操作是单线程还是多线程 3. redis为什么快, 单线程为什么快 4. redis你们项目中设置的内存大小是多少 5. 如果redis内存不够了,你们是如何处理 6. redis崩溃了, 如何处理 7. redis高可用问题(集群) 8. redis的过期数据过期了之后如何处理(过期策略) 9. redis的持久化策略有哪些 <多线程专题> 1. 什么是异步编排 2. 为什么要使用异步编排(要结合业务场景) 3. 异步编排具体怎么用 4. 在异步编排执行的过程中出现了异常,如何处理 5. 你对线程池的理解或者为什么要使用线程池 6. 线程池的工作流程 7. 如何自定义线程池参数 8. 线程池的参数你们项目中是如何设定的 设定了多少 9. 线程池对象的初始化方式 10. 线程创建方式有几种 11. run()方法与start()方法有什么区别 12. 线程分类 13. 线程状态 14. 集合对象线程不安全案例 15. Synchronized 和 Lock 的区别 16. Synchronized的锁升级流程 17. 锁分类 18. 死锁检测和如何避免死锁 19. 前后端是如何联调接口 20. 数据库表设计流程 <扩展> 1. IO多路复用原理指 2. JDK JRE JVM 分别是什么, 他们之间的关系 3. Object类有几个方法 4. java中的基本数据类型有哪些 5. 接口与抽象类有什么区别 6. jdk8新特性 7. 方法的重载与方法重写有什么区别 8. wait方法与sleep方法有什么区别 9. final, finally, finalize的区别 10. String类中常用API(5个) 11. String如何实现字符串反转 <总结4> 1. 分布式锁用于解决项目中的什么问题, 具体的分布式锁实现流程是什么 2. 布隆过滤器用于解决项目中什么问题, 它的优缺点是什么 3. 布隆不支持删除操作,如果布隆中的数据过多,如何清理 4. 如果服务重启或者宕机,保存在布隆中的数据丢失如何处理说明AOP在项目中的具体实现 5. RabbitMq rocketMq kafka这三个消息队列的异同 6. 画图解释对象内存布局 7. 反射原理是什么 8. Synchronized与volatile的区别 9. 介绍数据库实现悲观锁和乐观锁的流程 10. CAS底层实现原理 11. 谈谈你对JMM(java内存模型)的理解 12. 说明AOP在项目中的具体实现 <总结5> 1. @Component和@Bean的区别 2. AQS概念和组成 3. 以ReentrantLock为例解释AQS实现原理 4. 画图说明集合体系 5. HashMap底层原理 6. HashMap与HashTable区别 7. HashMap的put方法执行流程 8. ArrayList底层原理 9. 如何快速实现List集合中元素的去重 10. Arraylist与LinkedList区别 11. List与Set接口有什么区别 12. ConcurrentHashMap底层原理 13. ConcurrentHashMap不支持 key 或者 value 为 null 的原因是什么 14. jdk8中为什么使用Synchronized替换ReentrantLock 15. Springboot自动装配原理和常用注解(5个) <总结6> 1. 动态代理与静态代理区别, 实现动态代理的方式 2. 画图说明jvm组成结构图 3. 一个字节码文件是如何加载到内存中的 4. 类加载器的工作流程(双亲委派+违背双亲委派原理和实现) 5. JVM调优话术(重点) 6. JVM垃圾回收算法和垃圾回收器有哪些 7. SpringMVC请求执行流程和常用注解 8. Mybatis中 #{} 与 ${} 区别 9. Mybatis中一级缓存与二级缓存的区别 10. 过滤器和拦截器的区别 11. Kafka如何保证消息的可靠性 12. kafka如何保证消息有序性 13. kafka如何保证消息不会被重复消费 14. kafka的高可用策略 15. kafka消息队列的消息积压问题 16. 你们项目上线之后需要考虑哪些网络安全相关的问题(SQL注入 CSRF XSS) 17. http与https区别 18. 网络连接三次握手与四次挥手流程 19. 常见的异常信息有哪些(空指针除外) <总结7> 1. 谈谈你对spring的理解 2. 谈谈你对Spring AOP的理解 3. 谈谈你对Spring IoC的理解 4. Springboot, SpringMVC, Spring区别 5. Spring中Bean的生命周期 6. Spring事务传播行为指的是什么, 默认值什么, 表示什么含义 7. Spring用于管理本地事务的注解是什么, 哪些情况下spring事务会失效 8. Spring框架使用了哪些设计模式(3个) 9. MySQL数据库的优化策略有哪些 10. SQL语句优化(日志,explain,索引分类,索引创建规则,索引失效场景) 11. 数据库表之间的关系有哪些 12. MySQL存储引擎(两个)的区别 13. 聚簇索引和非聚簇索引的区别 14. MySQL超大分页如何处理