中级农民
积分 103
大米 颗
鳄梨 个
水井 尺
蓝莓 颗
萝卜 根
小米 粒
学分 个
注册时间 2023-5-23
最后登录 1970-1-1
注册一亩三分地论坛,查看更多干货!
您需要 登录 才可以下载或查看附件。没有帐号?注册账号
x
2023/5/23首发于1亩3分地;
发布者:阿炜.奈非天.费伦法师1.redis
缓存
我看我看你做的项目中,都用到了redis,你在最近的项目中哪些场景使用了redis呢?如果发生了缓存穿透、击穿、雪崩、该如何解决?redis作为缓存,mysql的数据如何与redis进行同步呢?(双写一致性)那你来介绍一下异步的方案(你来介绍一下redisson读写锁的这种方案)redis作为缓存,数据的持久化是怎么做的?两种持久化方式有什么区别呢?这两种方式哪种恢复比较快呢?假如redis的key过期之后,会立即删除吗?假如缓存过多,内存是有限的,内存被占满了怎么办?
分布式锁
redis分布式锁,是如何实现的?redisson实现分布式锁如何合理地控制锁地有效时长?redisson的这个锁,可以重入吗?redisson锁能解决主从数据一致的问题吗?
集群
redis集群有哪些方案,知道吗?这么保证redis的高并发高可用?你们使用redis是单点还是集群,哪种集群?redis集群脑裂,该怎么解决呢?redis的分片集群有什么作用?redis分片集群中数据是怎么存储和读取的?介绍一下redis的主从同步?能说一下主从同步数据的流程?
其它
redis是单线程的,但是为什么还那么快?能解释一下I/O多路复用模型?
2.数据库
定位慢查询
在MySQL中,如何定位慢查询?那这个SQL语句执行很慢,如何分析呢?
索引
MYSQL支持的存储引擎有哪些,有什么区别?存储引擎在mysql的体系结构哪一层,主要特点是什么?索引在项目中的使用方式?了解过索引吗?(什么是索引)索引的底层数据结构了解过吗?什么是聚簇索引什么是非聚簇索引?知道什么是回表查询吗?知道什么叫覆盖索引吗?MYSQL超大分页怎么处理?索引创建原则有哪些?什么情况下索引会失效?
SQL优化的经验
创建表的时候,你们是如何优化的呢?那在使用索引的时候,是如何优化的呢?你平时对SQL语句做了哪些优化呢?
其它
事务的特性是什么?可以详细说一下吗?并发事务带来哪些问题?怎么解决这些问题呢?MySQL的默认隔离级别是?undo log和redo log的区别?好的,事务中的隔离性是如何保证的呢?(你解释一下MVCC)说一下MySQL主从同步原理?你们项目用过分库分表吗?
3.框架
spring
Spring框架中的单例bean是线程安全的吗?什么是AOP?你们项目中有没有使用到AOP?Spring中的事务是如何实现的?Spring中事务失效的场景有哪些?Spring的bean的生命周期?spring的循环引用知道吗?三级缓存解决循环依赖知道吗?构造方法出现了循环依赖怎么解决?springMVC的执行流程知道吗?springboot自动配置原理知道吗?spring框架常见注解(Spring,Springboot,Springmvc)知道吗?
Mybatis
Mybatis执行流程知道吗? Mybatis是否支持延迟加载?延迟加载的底层原理知道吗?Mybatis的一二级缓存用过吗?Mybatis的二级缓存什么时候会清理缓存中的数据?
4.微服务
springcloud
spring cloud 5大组件有哪些?服务注册和发现是什么意思?spring cloud如何实现服务注册发现?我看你之前也用过nacos、你能说下nacos与eureka的区别?你们项目负载均衡如何实现的?Ribbon负载均衡策略有哪些?如果想自定义负载均衡策略如何实现?什么是服务雪崩,怎么解决这个问题?你们的微服务是怎么监控的?
业务相关
你们项目中有没有做过限流?怎么做的?限流常见的算法有哪些呢?解释一下CAP和BASE?你们采用哪种分布式事务解决方案?分布式服务的接口幂等性如何设计?你们项目中使用了什么分布式任务调度?xxl-job路由策略有哪些?xxl-job任务执行失败怎么解决?如果有大数据量的任务同时都需要执行,怎么解决?
5.消息中间件
RabbitMQ
RabbitMQ-如何保证消息不丢失?RabbitMQ消息的重复消费问题如何解决的?RabbitMQ中死信交换机?(RabbitMQ延迟队列有了解过吗?)RabbitMQ如果有100万消息堆积在MQ,如何解决(消息堆积怎么解决)RabbitMQ的高可用机制有了解过吗?那出现丢数据怎么解决呢?
Kafka
Kafka是如何保证消息不丢失?Kafka中消息的重复消费问题如何解决的?Kafka是如何保证消费的顺序性?Kafka的高可用机制有了解过吗?解释一下复制机制中的ISR?Kafka数据清理机制了解过吗?Kafka中实现高性能的设计有了解过吗?
6.集合
算法复杂度分析
时间复杂度分析知道吗?空间复杂度知道吗?
List
数组如何获取其他元素的地址值?为什么数组索引从0开始呢?假如从1开始不行吗?操作数组的时间复杂度(查找)知道吗?操作数组的时间复杂度(插入和删除)知道吗?ArrayList底层的实现原理是什么?ArrayList list=new ArrayList(10)中的list扩容几次?用ArrayList转List后,如果修改数组内容,list受影响吗?List用toArray转数组后,如果修改了List内容,数组受影响吗?单向链表和双向链表的区别是什么?链表操作数据的时间复杂度是多少?ArrayList和LinkedList的区别是什么?
HashMap
什么是二叉树?什么是二叉搜索树?什么是红黑树?说一下HashMap的实现原理?HashMap的jdk1.7和jdk1.8有什么区别?HashMap的put方法的具体流程知道吗?HashMap的扩容机制知道吗?hashMap的寻址算法知道吗?为何HashMap的数组长度一定是2的次幂?hashmap在1.7情况下的多线程死循环问题知道吗?
7.多线程
线程的基础知识
线程和进程的区别?并行和并发有什么区别?创建线程的方式有哪些?runnable和callable有什么区别?线程的run()和start()有什么区别?线程包括哪些状态?线程状态之间是如何变化的?新建T1、T2、T3三个线程,如何保证它们按顺序执行?notify()和notifyAll()有什么区别?在Java中wait和sleep方法的不同?如何停止一个正在运行的线程?
线程中并发安全
synchronized关键字的底层原理知道吗?Monitor实现的锁属于重量级锁,你了解过锁升级吗?你谈谈JMM(Java内存模型)?CAS你知道吗?乐观锁和悲观锁的区别?请谈谈你对volatile的理解?什么是AQS?ReentrantLock的实现原理?synchronized和Lock有什么区别?死锁产生的条件是什么?如何进行死锁诊断?聊一下ConcurrentHashMap?导致并发程序出现问题的根本原因是什么?
线程池
说一下线程池的核心参数线程池的执行原理知道吗?线程池中有哪些常见的阻塞队列?ArrayBlockingQueue和LinkedBlockingQueue的区别?如何确定核心线程数?线程池的种类有哪些?为什么不建议用Exeutors创建线程池?
使用场景
多线程使用场景一(批量导入)知道吗?多线程使用场景二(数据汇总)知道吗?多线程使用场景三(异步调同)知道吗?如何控制某个方法允许并发访问线程的数量?谈谈你对ThreadLocal的理解?ThreadLocal内存泄漏问题?
8.JVM
JVM组成
什么是程序计数器?你能给我详细地介绍Java堆吗?什么是虚拟机栈?垃圾回收是否涉及栈内存?栈内存分配越大越好吗?方法内地局部变量是否线程安全?什么情况下会导致栈内存溢出?堆栈的区别是什么?能不能解释一下方法区?介绍一下运行时常量池?你听过直接内存吗?
类加载器
什么是类加载器?类加载器有哪些?什么是双亲委派模型?JVM为什么采用双亲委派机制?说一下类装载的执行过程?
垃圾回收
对象什么时候可以被垃圾回收?JVM垃圾回收算法有哪些?说一下JVM中的分代回收?MinorGC、Mixed GC 、FullGC的区别是什么?说一下JVM有哪些垃圾回收器?详细聊一下G1垃圾回收器?强引用、软引用,弱引用,虚引用的区别?
JVM实践
JVM调优的参数可以在哪里设置参数值?用的JVM调优的参数都有哪些?Java内存泄漏的排查思路?CPU飙高排查方案与思路?
9.企业场景
工厂方法模式
简单工厂知道吗?工厂方法模式知道吗?抽象工厂方法模式?
策略模式
什么是策略模式?案例知道吗?
责任链模式
责任链设计模式知道吗?责任链优缺点知道吗?案例知道吗?
常见技术场景
单点登录这块怎么实现的?权限认证是如何实现的?上传数据的安全性你们是怎么控制?你负责项目的时候遇到了哪些比较棘手的问题?你们项目中日志怎么采集的?查看日志的命令?生产问题怎么排查?
上一篇:
CS61A OK报错 下一篇:
四个个人项目问答