我的面试题网站,目前已更新到1009题了,今天对所有题目做一个汇总(后续还会继续优化,继续完善):
- Redis的数据类型有哪些?
- 请简述一下JVM的内存模型
- 说说堆和栈的区别
- 说说你对CAP的理解
- 你知道哪些分布式事务解决方案?
- 什么是二阶段提交?
- 什么是 HTTP?HTTP 的作用是什么?
- 说说HTTP的优点和缺点
- 什么是长连接、短连接?
- 什么是反向代理?
- 什么是TCP/IP ?
- 什么是 TCP/IP 通信传输流?
- 请说说TCP/IP 协议族中的 IP 协议
- 说一下OSI的七层体系结构
- 说说TCP/IP 四层体系结构
- 说一下OSI模型(七层)和TCP/IP模型(四层)有什么关系
- 知道各个层使用的是哪个数据交换设备?
- 网络协议是什么
- 为什么要对网络协议分层
- 什么是TCP/IP和UDP
- 说说TCP与UDP的区别
- 说说TCP和UDP的应用场景
- 说说你知道的应用层协议有哪些
- 什么是ARP协议?
- 什么是NAT (Network Address Translation, 网络地址转换)?
- 从输入址到获得页面的过程?
- 什么是TCP的三次握手
- 建立连接可以两次握手吗?为什么?
- 可以采用四次握手吗?为什么?
- 第三次握手中,如果客户端的ACK未送达服务器,会怎样?
- 如果已经建立了连接,但客户端出现了故障怎么办?
- 初始序列号是什么?
- 什么是TCP的四次挥手?
- 为什么不能把服务器发送的ACK和FIN合并起来,变成三次挥手(CLOSE_WAIT状态意义是什么)?
- 如果第二次挥手时服务器的ACK没有送达客户端,会怎样?
- 客户端TIME_WAIT状态的意义是什么?
- 什么是Socket?
- 说说Socket通讯的过程
- 能用Java Socket写一个TCP协议?
- 什么是Http协议?
- 说说Socket和http的区别和应用场景
- 简单说说HTTP和HTTPS的区别?
- 说说HTTPS工作原理
- 一次完整的HTTP请求所经历几个步骤?
- GET方法与POST方法的区别
- 知道http有哪些版本?
- cookie和session对于HTTP有什么用?
- 什么是cookie?
- 什么是session?
- 说说cookie与session的区别
- 说说HTTP和RPC协议有什么区别
- 说说对称加密和非对称加密
- 你觉得 Redis是什么?
- Redis有哪些特点
- 分布式缓存常见的技术选型方案有哪些?
- 说一下Memcache与 Redis 的区别都有哪些?
- 现在让你实现本地缓存,你有哪些方案?
- 项目中为什么要用Redis?
- Redis的应用场景有哪些?
- 说一下Redis 通讯协议是什么?有什么特点?
- 请说一下Redis 支持的哪些数据类型
- 一个字符串类型的值能存储最大容量是多少?
- Redis 各个数据类型最大存储量分别是多少?
- 请介绍一下 Redis 的数据类型 SortedSet(zset)以及底层实现机制?
- 有了解过Redis 事务吗?原理是什么?
- Redis 事务有相关命令有哪些?
- Redis 事务的注意点有哪些?
- Redis 支持回滚回滚吗?支与不支持的理由是什么?
- 请介绍一下 Redis 的 Pipeline(管道),以及使用场景
- 请说明一下 Redis 的批量命令与 Pipeline 有什么不同?
- 设置键的生存时间和过期时间有哪些命令?
- 请介绍一下 Redis 的发布订阅功能
- Redis 的链表数据结构的特征有哪些?
- 请介绍一下 Redis 的 String 类型底层实现?
- Redis 的 String 类型使用 SSD 方式实现的好处?
- 为什么 Redis 需要把所有数据放到内存中?
- Redis 是多线程还是单线程?
- Redis6.0 之后为何引入了多线程?
- Redis 为什么设计成单线程的?
- 简单说说Redis单线程原理
- Redis是单线程还是多线程?Redis为什么这么快?
- 什么是缓存穿透?怎么解决?
- 用分布式缓存,要注意哪些问题?
- 什么是缓存雪崩?怎么解决?
- 缓存的更新策略有几种?分别有什么注意事项?
- 请介绍几个可能导致 Redis 阻塞的原因
- 怎么去发现 Redis 阻塞异常情况?
- Redis 集群架构模式有哪几种?
- 哨兵选举过程是怎么样的?
- Redis 集群最大节点个数是多少?
- Redis 集群的主从复制模型是怎样的?
- 你知道的Redis 集群实现方案有哪些?
- Redis 集群会有写操作丢失吗?为什么?
- Redis慢查询是什么?通过什么配置?
- Redis 的慢查询修复经验有哪些?怎么修复的?
- 有做过Redis 服务的性能优化过吗?
- 说一下Redis 的主从复制模式的优缺点?
- 说一下Redis sentinel(哨兵)模式的优缺点?
- 熟悉Redis的连接数的操作吗?
- 介绍一些 Redis 常用的安全设置?
- 说一下Redis 持久化机制有哪些?
- 说一下Redis持久化机制 AOF 和 RDB 什么不同?
- 说一下两种持久化的优缺点优缺点
- 如果 AOF 文件的数据出现异常, Redis 服务怎么处理?
- 常见的淘汰算法有哪些?
- Redis 淘汰策略有哪些?
- Redis 缓存失效策略有哪些?
- Redis 如何做内存优化?
- 什么是 bigkey?有什么影响?
- 怎么发现 bigkey?
- Redis 的内存消耗分类有哪些?内存统计使用什么命令?
- 简单介绍一下 Redis 的内存管理方式有哪些?
- 如何设置 Redis 的内存上限?有什么作用?
- Redis 报内存不足怎么处理?
- Redis 适用场景有哪些?
- Redis有哪些常见应用场景 ?
- Redis 支持的 Java 客户端有哪些?
- 请简单描述一下 Jedis 的基本使用方法?
- Jedis 连接池链接方法有什么优点?
- 什么是分布式锁?有什么作用?
- 分布式锁实现方案有哪些?
- 介绍一下分布式锁实现需要注意的事项?
- Redis 怎么实现分布式锁?
- 缓存命中率表示什么?
- 怎么提高缓存命中率?
- Redis 中 key已经过期了,但为什么内存并没有释放?
- 你说说Redis中的跳表
- 说说你对 Redis中的I/O多路复用模型 的理解
- Redis是单线程还是多线程?
- 如何保证缓存和数据库的一致性?
- Redis实现分布式锁,如果业务超时了,怎么办?
- Java语言有哪些特点
- 面向对象和面向过程的区别
- 说说面向对象编程三大特性
- 说说八种基本数据类型的大小,以及他们的封装类
- 说说你对JDK、JRE、JVM的理解
- 说说标识符的命名规则
- 熟悉instanceof关键字的作用吗?
- 说说Java自动装箱与拆箱
- 说说重载和重写的区别
- Integer a= 127 与 Integer b = 127相等吗?
- 什么是内部类?
- 内部类有什么优点?
- 内部类有哪些应用场景?
- 局部内部类和匿名内部类访问局部变量的时候,为什么变量必须要加上final?
- 为什么 Java 中只有值传递?
- 熟悉JDK哪些包?
- 说说Java代码初始化顺序
- 说说你对 equals与== 的理解
- 说说hashcode的作用
- String、StringBuffer和StringBuilder
- 说说HashMap和HashTable的区别
- 熟悉 Java的对象引用类型吗?
- Java创建对象有几种方式?
- 有没有可能两个不相等的对象有相同的hashcode
- 深拷贝和浅拷贝的区别是什么?
- final有哪些用法?
- final finally finalize区别
- 说说this关键字的用法
- 说说super关键字的用法
- 说说this与super的区别
- static都有哪些用法?
- 平时使用static应该注意些什么?
- &和&&的区别?
- switch 是否能作用在 byte 上,是否能作用在 long 上,是否能作用在 String 上?
- 两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?
- a=a+b与a+=b有什么区别吗?
- try catch finally,try里有return,finally还执行么?
- 说说你对Excption与Error包的理解
- Java 序列化中如果有些字段不想进行序列化,怎么办?
- 说说Java 中 IO 流
- 简单说说Java IO与 NIO的区别
- 说说你对Java反射的理解
- 说说反射机制的优缺点
- Object 有哪些常用方法?大致说一下每个方法的含义
- 获取一个类Class对象的方式有哪些?
- String s = new String("abc")创建了几个String对象?
- 说说你对String类的intern()方法的理解
- String 类的常用方法都有那些?
- String字符串为什么说是不可变?
- 简单说说Java中接口和抽象类的区别
- BIO、NIO、AIO 有什么区别?
- Files的常用方法都有哪些?
- JDK 1.8之后有哪些新特性?
- 什么是多态机制?
- 值传递和引用传递有什么区别?
- Class.forName和ClassLoader有什么区别 ?
- 简单说说List,Set,Map三者的区别?
- Collection和Collections的区别
- ArrayList 和 LinkedList的区别有哪些?
- 有数组了为什么还要搞个 ArrayList呢?
- ArrayList 与 Vector 区别呢?
- ArrayList是线程安全的么?
- 说说ArrayList 的扩容机制
- ArrayList在JDK1.7和JDK1.8版本初始化的区别
- 我想ArrayList集合中加入1万条数据,应该怎么提高效率?
- HashMap 和 Hashtable 的区别
- HashMap 的长度为什么是2的幂次方?
- HashMap 是线程安全的么?
- 什么是加载因子?加载因子为什么是 0.75 ?
- 为什么 HashMap 的初始化长度是 16 ?
- 为什么树化是 8,退树化是 6?
- 请说说 HashMap多线程操作导致死循环问题
- 为什么重写 equals 方法的时,需要重写 hashCode 方法呢?
- ConcurrentHashMap 和 Hashtable 的区别
- JDK1.8中满足什么条件后将链表转化成红黑树?又什么时候转回来?
- HashMap为什么会引入红黑树做查询优化呢?
- 为什么把8作为阈值?
- HashMap如何解决冲突?
- 我们自定义类来作为HashMap的key 吗?
- HashMap 的长度为什么是 2 的 N 次方呢?
- HashMap 与 ConcurrentHashMap的异同
- 简单说说HashMap的put方法过程
- 简单说说你写的java程序是如何执行的?
- Java 是如何实现跨平台的?
- 什么是 JVM ?
- 说说JDK、JRE、JVM的关系?
- 请你描述一下JVM 的内存区域?
- 运行时常量池的作用是什么?
- 直接内存是什么?
- 为什么使用元空间替换了永久代?
- 什么是永久代?它和方法区有什么关系呢?
- 什么是元空间?它和方法区有什么关系呢?
- 方法区、堆、栈之间到底有什么关系?
- 为什么需要两个大小一样的Survivor区?
- 新生代中Eden:S1:S2为什么是8:1:1?
- 请你描述一下 Java 中的类加载机制?
- 描述一下JVM加载Class文件的原理?
- 类加载器是有了解吗?
- 熟悉哪些类加载器?
- 每个类加载器加载哪个目录中的类库?
- Java 虚拟机是如何判定两个 Java 类是相同的?
- 类加载器是如何加载 class 文件的?
- 说说什么是双亲委派模型以及作用
- 双亲委派模型的工作过程?
- 如何破坏双亲委派模型?
- 你知道哪些打破双亲委派机制的例子?
- 如何自定义类加载器?
- 对象分配内存是否线程安全?
- 在 JVM 中,对象是如何创建的?
- 内存分配方式有哪些呢?
- 对象一定分配在堆中吗?
- 请你说一下对象的内存布局?
- 对象访问定位的方式有哪些?
- GC是什么?为什么要GC?
- 如何判断对象已经死亡?
- 说说你对Java 中四大引用类型的理解
- 如何判断一个不再使用的类?
- 了解finalize方法吗?
- 你知道哪些垃圾收集算法?
- 说一下 JVM有哪些垃圾回收器?
- 如何选择垃圾收集器?
- 简单说说你对G1收集器的理解
- ZGC了解吗?
- 能够触发条件 Full GC 有哪些?
- 说说垃圾回收过程
- 你知道哪些JVM调优参数?
- 8G内存的服务器该如何设置相应JVM参数?
- 如何排查线上系统CPU飙高
- 说说内存泄漏和内存溢出
- 生产环境服务器变慢,怎么办?
- JVM 监控与分析工具你用过哪些?
- 如何开启和查看 GC 日志?
- 你们生产环境用的JDK是哪个版本?
- 如何配置的垃圾收集器?
- 怎么打出线程栈信息?
- 线上出现 OOM 的问题,怎么排查?
- MinorGC、MajorGC、FullGC 什么时候发生?
- 如何解决线上GC频繁的问题?
- 简述一下内存溢出的原因,如何排查线上问题?
- 什么是 spring?
- 使用 Spring 框架的好处是什么?
- 说说你对核心容器(应用上下文) 的理解
- 什么是 Spring IOC
- IOC 有什么优点?
- 什么是织入。什么是织入应用的不同点?织入是将切面和到其他应用类型或对象连接或创
- 什么是 Spring 的 MVC 框架?
- 什么是 Spring MVC 框架的控制器?
- 说几个Spring中的常见注解
- 什么是微服务?
- 什么是Spring Cloud ?
- Spring Cloud有什么优势
- 微服务之间如何独立通讯的?
- 什么是服务熔断?什么是服务降级?
- 请说说Eureka和zookeeper 的区别?
- Spring Boot和Spring Cloud的区别?
- 负载平衡的意义什么?
- 什么是Hystrix?它如何实现容错?
- 什么是Hystrix断路器?我们需要它吗?
- 说说 RPC的实现原理
- 如何设计一个RPC框架
- Eureka自我保护机制是什么?
- 什么是Ribbon?
- 什么是 Netflix Feign?它的优点是什么?
- Ribbon和Feign的区别?
- Spring Cloud 的核心组件有哪些?
- 说说Spring Boot和Spring Cloud的关系
- 说说微服务之间是如何独立通讯的?
- Spring Cloud如何实现服务的注册?
- 什么是服务熔断?
- 熟悉 Spring Cloud Bus 吗?
- Spring Cloud 断路器有什么作用?
- 了解Spring Cloud Config吗?
- 说说你对Spring Cloud Gateway的理解
- 为什么会出现Nacos?
- Nacos服务是如何判定服务实例的状态?
- Nacos中的负载均衡底层是如何实现的?
- 为什么 Nacos 需要一致性协议
- 为什么 Nacos 选择了 Raft 以及 Distro
- 你们是如何拆分微服务的?
- 微服务架构下,你们分布式事务是怎么处理的?
- Spring Cloud 和dubbo区别?
- Eureka怎么实现高可用
- 什么是服务网关?
- 网关的作用是什么
- 网关与过滤器有什么区别
- 如何设计一套API接口
- Nginx与Ribbon的区别
- Ribbon底层实现原理
- 说说你对Feign的理解?
- SpringCloud有几种调用接口方式
- Ribbon和Feign调用服务的区别
- 分布式配置中心的作用?
- 分布式配置中心有那些框架?
- 什么是Spring Cloud Gateway?
- Seata事务模式有几种?
- 说说 Seat 中AT模式的处理过程
- 操作系统有哪些分类?
- 什么是内核态和用户态?
- 如何实现内核态和用户态的切换?
- 并发和并行的区别
- 什么是进程?
- 知道哪些进程的基本操作
- 简述进程间通信方法
- 进程如何通过管道进行通信
- 进程如何通过共享内存通信?
- 什么是信号
- 如何编写正确且安全的信号处理函数
- 说说进程调度的时机
- 说说不能进行进程调度的情况
- 说说进程的调度策略
- 说说进程调度策略的基本设计指标
- 进程的状态与状态转换
- JDBC 有几个步骤?
- 什么是MyBatis ?
- 什么是ORM?
- 说说ORM的优缺点
- 说说MyBatis 的优缺点
- MyBatis 是如何进行分页的?
- 分页插件的基本原理是什么?
- 简述Mybatis的插件运行原理?
- 说说Mybatis的缓存机制
- MyBatis 动态sql有什么用?
- MyBatis 是否支持延迟加载?
- 延迟加载的基本原理是什么?
- mapper.xml 文件对应的Dao 接口原理是?
- MyBatis 中见过什么设计模式?
- Dao 接口里的方法,参数不同时能重载吗?
- #{} 和${} 的区别是什么?
- MyBatis 执行批量插入,能返回数据库主键列表吗?
- 不同的xml 映射文件,id是否可以重复?
- MyBatis 中Executor执行器的区别是?
- 为什么说MyBatis 是半自动ORM映射工具?
- MyBatis 全局配置文件中有哪些标签?
- 当实体类中的属性名和表中的字段名不一样时怎么办 ?
- 模糊查询 like 语句该怎么写?
- 简述一下MyBatis 的手动编程步骤?
- MyBatis 工作的流程是?
- 如果是你来设计MyBatis ,你会怎么设计?
- 说说你对MQ 的理解
- 说说MQ的优缺点
- 常用的消息队列性能对比
- 如何避免消息堆积?
- 如何避免重复消费?
- 如何保证消息不丢失?
- 如何保证消息顺序一致性?
- 推与拉取的架构模型是怎么样的?
- 有哪些消费模式?
- RabbitMQ 是什么?
- RabbitMQ特点?
- AMQP是什么?
- 熟悉AMQP协议吗?
- 说说AMQP模型的三大组件
- 说说你对Broker服务节点、Queue队列、Exchange交换器的理解
- 说说生产者Producer和消费者Consumer?
- 说说RabbitMQ 的作用
- 为什么选择RabbitMQ
- RabbitMQ的特点是什么
- 生产者producer和消费者consumer有哪些知识点?
- RabbitMQ消息持久化中的坑
- RbbitMQ持久化的工作原理
- 持久化的优缺点
- 说说Rabbitmq的ack应答机制
- 简单说说RabbitMQ 的组成
- 简单说说RabbitMQ 的六种模式
- 说说存储机制
- RabbitMQ中消息可能有的几种状态
- 熟悉RabbitMQ 的队列结构吗?
- 交换器无法根据自身类型和路由键找到符合条件队列时,会如何处理?
- 如何保证消息的可靠性?
- 集群中的节点类型有哪些?
- 如何保证 RabbitMQ 消息队列的高可用?
- 说说你对交换器的理解
- 说说生产者消息运转多次
- 说说消费者接收消息过程
- 导致的死信的几种原因?
- 说说RabbitMQ 优先级队列
- 说说RabbitMQ 事务机制
- 生产者如何将消息可靠投递到MQ?
- MQ如何将消息可靠投递到消费者?
- 为什么要使用消息队列呢?
- 什么是MySQL ?
- 简单说说MySQL 的架构是怎样的
- 简述执行SQL 语言的过程
- 说说三大范式?
- InnoDB 与MyISAM 的区别?
- 说说你对自增主键理解?
- 为什么自增主键不连续
- Innodb为什么推介用自增ID?
- 说说MySQL中in 和exists的区别
- 什么是索引?有什么优缺点?
- 索引的类型有哪些?
- 索引有哪些种类?
- 索引底层数据结构?
- 索引的使用场景有哪些?
- Hash 索引和B+树的区别?
- B树与B+树区别?为何用B+树?
- 索引设计原则
- 索引失效场景?
- 如何创建索引?
- 什么是聚簇索引,什么是非聚簇索引?
- 什么是回表?
- 非聚簇索引一定会回表查询吗?
- 联合索引的建立规则?
- 最左匹配原则?
- 什么是前缀索引?
- count(1)、count(*) 与 count(列名) 的区别?
- 一条查询SQL执行顺序是什么?
- 什么是触发器?触发器的使用场景有哪些?
- 百万级数据如何删除
- 普通索引和唯一索引怎样选
- 一条SQL 查询语句是怎么执行的?
- 使用 Innodb 的情况下,一条更新语句是怎么执行的?
- 说说MySQL 使用explain 的关键字段
- 一条更新语句怎么执行?
- MySQL 的事务原理
- 什么是幻读,脏读,不可重复读呢?
- 事务的隔离级别有哪些?MySQL的默认隔离级别是什么?
- 为什么不要使用长事务?
- MySQL的主从延迟,你怎么解决?
- ACID实现原理
- 说说MySQL 中几种日志log
- 那你说说redo log 与bin log 的区别?
- 说说幻读的问题
- MySQL是如何解决幻读?
- MySQL中有哪些锁?
- 熟悉MVVC吗
- 你对MVCC原理理解?
- Read View里面包含些什么?
- 数据可见性规则是怎样实现的?
- 数据库表创建需要注意什么?
- 说说InnoDB 引擎的行锁模式及其是如何实现的?
- 说说MySQL 主从复制
- 一条SQL 语句查询一直慢会是什么原因?
- 说说你的 SQL 调优思路
- MySQL 优化手段有哪些
- limit 1000000加载很慢的话,你是怎么解决的呢?
- 如何选择合适的分布式主键方案呢?
- SQL优化的一般步骤是什么
- 如果某个表有近千万数据,CRUD比较慢,如何优化?
- 如何写sql能够有效的使用到复合索引?
- 说一下大表查询的优化方案
- 什么是数据库连接池?为什么需要数据库连接池呢?
- 一条sql执行过长的时间,你如何优化,从哪些方面入手?
- 有关心过业务系统里面的sql耗时吗?统计过慢查询吗?对慢查询都怎么优化过?
- MySQL 数据库CPU 飙升的话,要怎么处理呢?
- 优化可能带来的问题?
- 优化的需求?
- 优化由谁参与?
- 优化什么?
- 优化的范围有哪些?
- 优化维度?
- 数据库问题排查常用工具有哪些
- 数据库层面问题解决思路?
- 系统层面优化有哪些?
- 系统层面问题解决办法?
- 优化思路?
- 硬件如何优化?
- 服务器硬件优化?
- 系统如何优化?
- 系统优化参数有哪些?
- 系统应用优化?
- 数据库优化
- 数据库优化参数有哪些?
- 存储引擎层(innodb基础优化参数)?
- 熟悉哪些SQL优化?
- Dubbo 是什么
- 什么是 RPC ?
- 在 provider 上可以配置的 consumer 端的属性有哪些?
- Dubbo 内置了哪几种服务容器?
- Dubbo 需要 Web 容器吗?
- 为什么要通过代理对象通信?
- 说说服务暴露的流程?
- 说说服务引用的流程?
- 什么是 Spring Boot?
- 为什么要用Spring Boot
- Spring Boot与Spring Cloud 区别
- Spring Boot 有哪些优点?
- Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的?
- Spring Boot 的自动配置是如何实现的?
- 什么是嵌入式服务器?我们为什么要使用嵌入式服务器呢?
- Spring Boot 支持哪些日志框架?推荐和默认的日志框架是哪个?
- Spring Boot 2.X 有什么新特性?与 1.X 有什么区别?
- SpringBoot支持什么前端模板
- SpringBoot的缺点
- 运行 Spring Boot 有哪几种方式?
- Spring Boot 需要独立的容器运行吗?
- 开启 Spring Boot 特性有哪几种方式?
- Spring Boot 实现热部署有哪几种方式?
- 如何在 Spring Boot 启动的时候运行一些特定的代码?
- Spring Boot 有哪几种读取配置的方式?
- 熟悉 JavaConfig吗?
- Spring Boot的自动配置原理是什么
- 你如何理解 Spring Boot 配置加载顺序?
- 什么是 YAML ?
- YAML 配置的优势在哪里 ?
- Spring Boot 是否可以使用 XML 配置 ?
- spring boot 核心配置文件是什么?bootstrap.properties 和 application.properties 有何区别 ?
- 什么是 Spring Profiles?
- Spring Boot 中的监视器是什么?
- SpringBoot性能如何优化
- 您用过哪些 starter maven 依赖项?
- Spring Boot 中的 starter 到底是什么 ?
- spring-boot-starter-parent 有什么用 ?
- Spring Boot如何实现打包
- 说说Java中实现多线程有几种方法
- 如何停止一个正在运行的线程
- notify()和notifyAll()有什么区别?
- sleep()和wait() 有什么区别?
- volatile 是什么?可以保证有序性吗?
- Thread 类中的start() 和 run() 方法有什么区别?
- 为什么wait, notify 和 notifyAll这些方法不在thread类里面?
- 为什么wait和notify方法要在同步块中调用?
- Java中interrupted 和 isInterruptedd方法的区别?
- Java中synchronized 和 ReentrantLock 有什么不同?
- 有三个线程T1,T2,T3,如何保证顺序执行?
- SynchronizedMap和ConcurrentHashMap有什么区别?
- 什么是线程安全
- Thread类中的yield方法有什么作用?
- 说一说自己对于 synchronized 关键字的了解
- 说说你是如何使用 synchronized 的?
- Vector是一个线程安全类吗?
- volatile关键字的作用?
- 常用的线程池有哪些?
- 简述一下你对线程池的理解
- ThreadPoolExecutor 有哪些常用的方法?
- 线程池中submit() 和 execute() 方法有什么区别?
- 线程池中线程是如何复用的?
- 了解线程池状态吗?
- 锁的优化机制了解吗?
- 说说进程和线程的区别?
- 产生死锁的四个必要条件?
- 如何避免死锁?
- 线程池核心线程数怎么设置呢?
- Java线程池中队列常用类型有哪些?
- 线程池原理知道吗?以及核心参数
- 线程池的拒绝策略有哪些?
- 线程安全需要保证几个基本特征?
- 说一下线程之间是如何通信的?
- CAS的原理是什么
- CAS有什么缺点吗?
- 引用类型有哪些?有什么区别?
- 说说ThreadLocal原理?
- 为什么要用ThreadLocal?
- Entry的key为什么设计成弱引用?
- ThreadLocal真的会导致内存泄露?
- 如何解决内存泄露问题?
- 线程池中如何共享数据?
- ThreadLocal有哪些用途?
- 说说你对JMM内存模型的理解?为什么需要JMM?
- 多线程有什么用?
- 说说CyclicBarrier和CountDownLatch的区别?
- 什么是AQS?
- 什么是Callable和Future?
- 什么是阻塞队列?
- 阻塞队列的实现原理是什么?
- 如何使用阻塞队列来实现生产者-消费者模型?
- 什么是多线程中的上下文切换?
- 什么是Daemon线程?它有什么意义?
- 乐观锁和悲观锁的理解及如何实现,有哪些实现方式?
- 说说什么是单例模式
- 说说你对代理模式的理解
- 说说工厂模式
- 说说抽象工厂模式
- 知道责任链模式吗?
- 装饰器模式是什么
- 代理模式和装饰器模式有什么区别?
- 了解过适配器模式么?
- 什么是模板方法模式?
- 说说观察者模式的优缺点是什么?
- 知道享元模式吗?
- 享元模式和单例模式的区别?
- 说说策略模式在我们生活的场景?
- 什么是孤儿进程?僵尸进程?
- 什么是线程?
- 为什么需要线程?
- 知道观察者模式吗?
- 你这个XXX是个什么样的项目?
- 你们这个XXX项目并发高吗?
- 画一下你们整个项目架构?
- 项目中,有没有遇到什么难的问题,最后是怎么解决的?
- 你最擅长什么?
- 接口是怎么定义的?采用什么数据格式?如何实现?
- Spring中获取Bean有几种方式?
- 单表数据达到多少的时候会影响数据库的查询性能?为什么?
- 主从复制的原理是什么?常见的形式有哪些?
- 分库分表,解释一下垂直和水平 2 种不同的拆分?
- 垂直拆分会带来哪些问题?
- 分布式数据存储中间件 MyCat 的核心流程是什么?
- 简单说说 MyCat
- 解释一下全局表、ER 表、分片 表?
- MyCat 在分库分表之后,是怎么支持连表查询的?
- 库表拆分时,拆分规则怎么取舍?
- 全局 ID 方案有哪些?程序自定义全局 ID 方案有哪些?
- 说说一致性 hash 的原理?
- 一致性Hash算法的容错性和可扩展性是怎么做的
- Hash环的数据倾斜问题是如何解决的?
- 四层负载和七层负载谁性能更高,为什么?
- 讲一讲MySQL 的高可用方案?
- 分布式幂等性如何设计?
- 简单一次完整的 HTTP 请求所经历的步骤?
- 说说你对分布式事务的了解
- 你知道哪些分布式事务解决方案?
- 什么是二阶段提交?
- 什么是三阶段提交?
- 什么是补偿事务?
- 消息队列是怎么实现的?
- 那你说说Saga事务模型
- 分布式ID生成有几种方案?
- 幂等解决方法有哪些?
- 常见负载均衡算法有哪些?
- 你知道哪些限流算法?
- 说说什么是计数器(固定窗口)算法
- 说说什么是滑动窗口算法
- 说说什么是漏桶算法
- 说说什么是令牌桶算法
- 数据库如何处理海量数据?
- 如何将长链接转换成短链接,并发送短信?
- 长链接和短链接如何互相转换?
- 长链接和短链接的对应关系如何存储?
- 如何提高系统的并发能力?
- Autowired和Resource关键字的区别?
- 依赖注入的方式有几种,各是什么?
- Spring核心模块有哪些?
- 说说你对Spring MVC的理解
- Spring MVC常用的注解有哪些?
- 谈谈你对Spring的AOP理解
- Spring AOP和AspectJ AOP有什么区别?
- 在Spring AOP 中,关注点和横切关注的区别是什么?
- 什么是通知呢?有哪些类型呢?
- 说说你对Spring的IOC是怎么理解的?
- 解释一下spring bean的生命周期
- 解释Spring支持的几种bean的作用域?
- Spring基于xml注入bean的几种方式?
- Spring框架中都用到了哪些设计模式?
- 说说Spring 中 ApplicationContext 和 BeanFactory 的区别
- Spring 框架中的单例 Bean 是线程安全的么?
- Spring 是怎么解决循环依赖的?(最简洁版)
- 说说事务的隔离级别
- 说说事务的传播级别
- Spring 事务实现方式
- Spring框架的事务管理有哪些优点
- 事务三要素是什么?
- jsp 和 servlet 有什么区别?
- jsp 有哪些内置对象?作用分别是什么?
- 说一下 jsp 的 4 种作用域?
- session 和 cookie 有什么区别?
- 说一下 session 的工作原理?
- 如果客户端禁止 cookie 能实现 session 还能用吗?
- spring mvc 有哪些组件?
- 说说Spring IoC调用过程
- 说说Spring DI调用过程
- 说说Spring AOP调用过程
- 说说Spring MVC 调用过程
- 能说说RPC 原理吗?
- 说说Dubbo 的分层?
- 能说下Dubbo 的工作原理吗?
- 有哪些负载均衡策略?
- 服务上线怎么兼容旧版本?
- 说几个Dubbo 核心的配置
- 集群容错方式有哪些?
- 服务读写推荐的容错策略是怎样的?
- 如何禁用某个服务的启动检查?
- 说说你对Dubbo序列化的了解
- 知道Dubbo SPI机制吗?
- Dubbo服务之间的调用是阻塞的吗?
- 注册中心宕机了,有什么影响?
- 说说Dubbo的优先级配置
- Dubbo如何优雅停机?
- 怎么实现动态感知服务下线的呢?
- Dubbo的管理控制台能做什么?
- dubbo 协议为什么不能传大包?
- 说说你对dubbo 协议的理解
- Dubbo 用到哪些设计模式?
- 如果让你实现一个RPC框架,你会怎么设计?
- Dubbo 和 Spring Cloud 的区别?
- 如何设计一个注册中心
- Http协议中有哪些请求方式?
- 常用HTTP状态码是怎么分类的,有哪些常见的状态码?
- http的响应报文有哪些?
- 说说http的请求体有哪些内容?
- 说说 Socket的核心类
- tcp/ip协议与osi 分层的区别
- ZooKeeper 是什么?
- ZooKeeper 能做什么?
- 你说说Zookeeper 文件系统
- Zookeeper 的系统架构又是怎么样的?
- Zookeeper 怎么保证主从节点的状态同步?
- 说说zookeeper有哪些数据节点
- Znode里面都存储了什么?
- Zookeeper初始化是如何进行Leader选举的?
- 如果Leader挂了,进入崩溃恢复,怎么选举Leader?
- 选举 leader 后是怎么进行数据同步的
- 说说Zookeeper Watcher 机制
- 客户端是如何注册 Watcher 实现
- 服务端是如何处理 Watcher 实现
- 客户端是如何回调 Watcher
- 熟悉ACL 权限控制机制吗?
- 了解Chroot 特性吗
- 熟悉会话管理吗
- 服务器有哪些角色
- Zookeeper 下 Server 工作状态
- 能说说数据是如何同步的吗?
- Zookeeper 是如何保证事务的顺序一致性的?
- 分布式集群中为什么会有 Master主节点?
- zk 节点宕机如何处理?
- Zookeeper 负载均衡和 nginx 负载均衡区别
- Zookeeper 有哪几种几种部署模式?
- 集群最少要几台机器,集群规则是怎样的?集群中有 3 台服务器,其中一个节点宕机,这个时候 Zookeeper 还可以使用吗?
- 集群支持动态添加机器吗?
- Zookeeper 对节点的 watch 监听通知是永久的吗?
- Zookeeper 的 java 客户端都有哪些?
- chubby 是什么,和 zookeeper 比你怎么看?
- ZAB 和 Paxos 算法的联系与区别?
- 那你详细给我讲讲 ZAB 协议吧
- Zookeeper 的典型应用场景
- Zookeeper 都有哪些功能?
- 说一下 Zookeeper 的通知机制?
- Zookeeper 和 Dubbo 的关系?
- Zookeeper 和Eureka、Consul、Nacos有什么区别?
- 为什么要使用Elasticsearch?
- Elasticsearch是如何实现Master选举的?
- 详细描述一下Elasticsearch索引文档的过程?
- 详细描述一下Elasticsearch更新和删除文档的过程
- 描述一下Elasticsearch搜索的过程
- Elasticsearch对于大数据量(上亿量级)的聚合如何实现?
- 在并发情况下,Elasticsearch如果保证读写一致?
- ElasticSearch中的集群、节点、索引、文档、类型是什么?
- Elasticsearch中的倒排索引是什么?
- Elasticsearch中的分析器是什么?
- 说说Elasticsearch常用的调优手段?
- Elasticsearch 在部署时,对 Linux 的设置有哪些优化方法?
- GC 方面,在使用 Elasticsearch 时要注意什么?
- 说一下 session 的工作原理?
- MySQL的默认事务隔离级别是?
- Tomcat的默认端口是多少,怎么修改?
- tomcat 有哪几种Connector 运行模式
- Tomcat有几种部署方式?
- tomcat容器是如何创建servlet类实例?用到了什么原理?
- Tomcat 如何优化?
- Tomcat有哪些配置?
- Tomcat是什么?
- git add 和 git stage 有什么区别
- git reset、git revert 和 git checkout 有什么区别
- Git和SVN有什么区别?
- 如何判断分支是否已合并为master?
- 描述一下你所使用的分支策略?
- git 如何解决代码冲突?
- 如果要代码库的文件完全覆盖本地版本?
- git rebase, git merge 的区别?
- GitFlow 基本流程和你的理解?
- 查看文件有哪些命令
- 怎么查看当前进程?怎么执行退出?怎么查看当前路径?
- 绝对路径用什么符号表示?当前目录、上层目录用什么表示?主目录用什么表示? 切换目录用什么命令?
- 列举几个常用的Linux命令
- 你平时是怎么查看日志的?
- 什么是 Linux 内核?
- Linux的基本组件是什么?
- 为什么 Linux 体系结构要分为用户空间和内核空间的原因?
- 说说Linux 开机启动过程
- 什么是root帐户
- 针对网站访问慢,怎么去排查?
- 什么是消息中间件?
- kafka 是什么?有什么作用?
- kafka 的架构是怎么样的?
- Kafka Replicas是怎么管理的?
- 如何确定当前能读到哪一条消息?
- 生产者发送消息有哪些模式?
- 发送消息的分区策略有哪些?
- Kafka 支持读写分离吗?为什么?
- 那 Kafka 是怎么去实现负载均衡的?
- Kafka 的负责均衡会有什么问题呢?
- Kafka 的可靠性是怎么保证的?
- Kafka 的消息消费方式有哪些?
- 分区再分配是做什么的?解决了什么问题?
- 副本 leader 是怎么选举的?
- 失效副本是指什么?有那些应对措施?
- 分区数越多越好吗?吞吐量就会越高吗?
- 如何增强消费者的消费能力?
- 消费者与 topic 的分区分配策略有哪些?
- kafka 控制器是什么?有什么作用
- kafka 控制器是怎么进行选举的?
- kafka 为什么这么快?
- 什么情况下 kafka 会丢失消息?
- Kafka中的事务是怎么实现的?
- Kafka消息是采用Pull模式,还是Push模式?
- 数据传输的事务有几种?
- Kafka 高效文件存储设计特点
- Kafka 是如何实现高吞吐率的?
- Maven 是什么?
- 你们项目为什么选用 Maven 进行构建?
- Maven 规约是什么?
- Maven 常用命令
- 说说Maven 的优点和缺点
- Maven 坐标的含义?
- 简单说一下Maven 依赖原则
- 如何解决 jar 冲突?
- 什么是 Maven 仓库?
- 什么是私服?
- 您期望的薪资是多少?
- 你未来五年的职业规划是什么?
- 你觉得自己有什么缺点?
- 你觉得自己有什么优点?
- 你为什么要跳槽?离职的原因是什么?
- 你在工作中遇到最困难的是什么?如何解决的?
- 你对加班的看法?
- 你还有什么问题要问我吗?
- 你什么时候能来上班?
- 请你做一个自我介绍
- 说一下 MySQL 的行锁和表锁?
- 既然有了字节流,为什么还要有字符流?
- 字节流如何转为字符流?
- RabbitMQ 怎么实现延迟消息队列?
- 说一下自动装配有几种方式?
- 为什么说 Spring 是一个容器?
- 说说 Spring AOP 的底层实现原理?
- 说说你对门面模式的理解
- Dubbo服务调用默认几次?
- 一个空Object对象的占多大空间?
- SimpleDateFormat 是线程安全的吗 为什么?
- 当任务数超过线程池的核心线程数时,如何让它不进入队列,而是直接启用最大线程数
- 说说阻塞队列被异步消费怎么保持顺序吗?
- 如果一个线程两次调用start(),会出现什么问题?
- Java有几种文件拷贝方式,哪一种效率最高?
- 说说线程池的线程回收
- 核心线程是否能够回收?
- 自动关闭订单的方式有哪些?
- 4核8G的服务器,线上JVM怎么设置合理?
- 2W的TQS,线上参数如何设置
- 什么是SPI
- Mybatis是如何进行分页的?
- 注册中心挂了,consumer还能调用provider吗?挂30秒呢?挂一天呢?
- 说说你对Dubbo中Invoker的理解
- 什么是Predict(断言)?
- 什么是过滤器?
- 说说OAuth2.0 与 单点登录的区别?
- Feign是什么?
- openFeign是什么?
- Feign和openFeign有什么区别?
- 如何开启openFeign日志增强?
- openFeign如何熔断降级?
- 提升Spring Boot项目的吞吐量以后哪些方法?
- 消息队列延迟实现方案有哪些?
- 各种消息队列产品的比较?
- 消息过期怎么处理?
- 如何对List中的元素进行排序?
- 说说Netty有什么特点?
- 说说Netty的线程模型
- TCP 粘包/拆包的原因及解决方法?
- 说说序列化
- 说说影响序列化性能的关键因素
- 说说Java序列化的缺点是什么?
- 除了Java序列化,还有哪些序列化?
- 简单说说Netty的零拷贝实现
- Netty是如何解决JDK中的Selector BUG的?
- Netty 的优势有哪些?
- Netty 高性能表现在哪些方面?
- Netty 中有哪些重要组件?
- Netty 发送消息有几种方式?
- Netty的内存管理机制是什么?
- 说说ByteBuf有什么特点
- BIO、NIO 和 AIO 的区别?
- Netty 支持哪些心跳类型设置?
- Netty 和 Tomcat 的区别?
- 说说Netty的整体工作机制
- 说说Netty中网络通信的核心组有哪些?
- 说说inbound和outbound的区别
- 为什么使用netty而不用NIO或者其他NIO框架
- Netty 的有哪些应用场景?
- 说说NIO的组成
- Netty是怎么实现高性能设计的?
- NIO和BIO到底有什么区别?有什么关系?
- NIO是如何实现同步非阻塞的?
- 说说 select、poll和epoll的区别
- 简单说说Netty服务端过程初始化并启动过程
- 默认情况 Netty 起多少线程?何时启动?
- Netty 如何实现心跳机制?
- 如何设计一个内存池,或者内存分配器
- EventloopGroup 了解么?和 EventLoop 啥关系?
- Bootstrap 和 ServerBootstrap 了解么?
- Netty 服务端启动过程了解么?
- Dubbo 服务自省
- 在你们项目中,Redis的持久化机制用的是哪种?
- 你的接口QPS是多少?
- 标准的程序员简历模板
- Nginx负载均衡当其中一台服务器挂掉之后,Nginx负载将会怎样呢?
- 熟悉哪些Nginx参数
- Nginx是用来干嘛的?
- 请说说Nginx有哪些特性
- 说说Nginx和Apache 的区别
- 使用“反向代理服务器”的优点是什么?
- 在Nginx中,解释如何在URL中保留双斜线?
- 请解释ngx_http_upstream_module的作用是什么?
- 什么是C10K问题?
- stub_status和sub_filter指令的作用是什么?
- 说说正向代理和反向代理的区别
- 解释Nginx是否支持将请求压缩到上游?
- Nginx是如何处理HTTP请求?
- 遍历Map有几种方式?
- MongoDB是什么?
- 什么是NoSql数据库?
- 基于文件存储,那么MongDB的存储结构是什么?
- 什么是BSON格式,与JSON的区别,有什么优势?
- MongoDB与MySQL的区别?
- 说说MongoDB的索引
- 说说MongoDB索引底层原理实现,与MySQL有什么区别,有什么优势?
- 说说MongoDB适用哪些场景?如何选择?
- 说说MongoDB的数据模型,如何选择?
- 说说MongoDB的存储引擎,有什么优势?
- 如何保证MongoDB高可用?
- 说说MongDB的主从复制
- 说说MongDB的复制集
- 说说MongDB的分片集群
- 说说长链接缓存短连接实现方案?
- 如何实现超出内存限制的大文件排序?
- 假设一个外卖单要发布,现在有200名骑手都想接这单,如何保证只有一个骑手接到此单?
- 如何防止HA集群的脑裂?
- 如何解决死锁问题?
- 如何解决TCC中的悬挂问题?
- Dubbo为什么不采用JDK的SPI机制?
- ConcurrentHashMap中key,可以为null吗?
- select......for update会锁表还是锁行?
- Mybatis 中的 DAO 接口和 XML 文件里的 SQL 是如何建立关系的?
- 说说Dubbo的设计思路
- 传统JDBC开发存在什么问题?
- JDBC编程有哪些不足之处,MyBatis是如何解决的?
- Mybatis中如何指定使用哪一种Executor执行器?
- Mybatis如何执行批量操作
- 使用MyBatis的mapper接口调用时有哪些要求?
- Xml映射文件中有哪些标签?
- Mybatis是否可以映射Enum枚举类?
- 为什么要学习设计模式
- 什么是开闭原则?
- 说说什么是依赖倒转原则?
- 什么是单一职责原则
- 什么是工厂方法模式
- 什么是建造者模式
- 说说建造者模式的使用场景
- final 有什么用?
- 抽象类能使用 final 修饰吗?
- 成员变量与局部变量有什么区别?
- 静态变量和实例变量区别
- 静态变量与普通变量区别
- 为什么要有 hashCode
- 说说直接内存
- Minor GC 触发条件一般是什么?
- Major GC和Full GC 触发条件一般是什么
- 垃圾收集器和垃圾收集算法有什么关系?
- 为什么大对象直接进入老年代
- Spring MVC的控制器是不是单例模式,如果是,有什么问题,怎么解决?
- ApplicationContext通常的实现类有哪些?
- 什么是Spring beans?
- 如何给Spring 容器提供哪些配置元数据的方式?
- 什么是bean装配?
- 什么是bean的自动装配?
- 如何使用 Spring Boot 实现全局异常处理?
- SpringBoot项目性能如何优化
- SpringBoot微服务中如何实现 session 共享 ?
- Spring Boot 中如何实现定时任务 ?
- Spring Boot 打成的 jar 和普通的 jar 有什么区别 ?
- MySQL中有关权限的表都有哪几个?
- 说说你知道哪些函数?
- MySQL里有2000w数据,redis中只存20w的数据,如何保证redis中的数据都是热点数据
- Redis事务支持隔离性吗
- Redis事务保证原子性吗,支持回滚吗
- Java中的数组是存储在堆上还是栈上的?
- 如何获取堆和栈的dump文件?
- 如何查看JVM参数默认值?
- 说说G1收集器的特点
- 介绍一下你在项目中的职责和负责模块
- 你在项目中做了哪些优化?有没有什么效果
- 有十二个鸡蛋,其中一个是坏的(重量与其余鸡蛋不同),用天平最少称多少次才能称出哪个鸡蛋是坏的?
- 为什么匿名内部类只能使用成员变量或者被final修饰的局部变量呢?
- 有A、B、C三个学生,他们中一个出生在西安,一个出生在武汉,一个出生在深圳一个学化学专业,一个学英语专业,一个学计算机...
- 主键索引和非主键索引区别,索引覆盖怎么回事?
- 你们项目用的是哪个垃圾收集器?
- CMS有什么缺点你知道吗?
- 一架飞机绕地球半圈需要一桶油,一架只能装一桶油,飞机之间可以互相加油,现在要保证一架飞机能绕地球一圈,至少需要多少驾飞机,要求其它飞机不能降落,要保证能返航,速度可以不考虑,在加油的过程可以瞬间加满油,可以返航加油?
- 有7克、2克砝码各一个,天平一只,如何只用这些物品三次将140克的盐分成50、90克各一份?
- 桌上有100个苹果,你和另一个人一起拿,一人一次,每次拿的数量大于等于1小于等于5,问:如何拿能保证最后一个苹果由你来拿?
- 一个小猴子边上有100 根香蕉,它要走过50 米才能到家,每次它最多搬50 根香蕉,每走1 米就要吃掉一根,请问它最多能把多少根香蕉搬到家里?
- 提灯过桥问题?