1.Java基础 · 2.Java并发 · 3.JVM · 4.Mysql · 5.Redis · 6.开发框架 · 7.分布式 · 8.微服务 · 9.消息队

*   1.Java基础/

  *   01 ==和equals

  *   02 ArrayList和LinkedList区别

  *   03 ArrayList和LinkedList有哪些区别

  *   04 ConcurrentHashMap的扩容机制

  *   05 ConcurrentHashMap原理简述,jdk7和jdk8的区别

  *   06 CopyOnWriteArrayList的底层原理是怎样的

  *   07 final

  *   08 hashcode和equals

  *   09 HashMap的扩容机制原理

  *   10 HashMap和HashTable的区别及底层实现

  *   11 java中的异常体系

  *   12 JDK、JRE、JVM区别和联系

  *   13 List和Set

  *   14 String、StringBuffer、StringBuilder的区别

  *   15 StringBuffer、StringBuilder区别及使用场景

  *   16 阿里二面:Jdk1.7到Jdk1.8 HashMap 发生了什么变化(底层)

  *   17 阿里二面:Jdk1.7到Jdk1.8 java虚拟机发生了什么变化

  *   18 阿里一面:说一下ArrayList和LinkedList区别

  *   19 阿里一面:说一下HashMap的Put方法

  *   20 接口和抽象类

  *   21 京东二面:泛型中extends和super的区别

  *   22 京东一面:深拷贝和浅拷贝

  *   23 京东一面:谈谈ConcurrentHashMap的扩容机制

  *   24 蚂蚁二面:ConcurrentHashMap 如何保证线程安全,jdk1.8 有什么变化

  *   25 面向对象

  *   26 重载和重写的区别

*   2.Java并发/

  *   01 CountDownLatch和Semaphore的区别和底层原理

  *   02 ReentrantLock中tryLock()和lock()方法的区别

  *   03 ReentrantLock中的公平锁和非公平锁的底层实现

  *   04 sleep、wait、join、yield

  *   05 Sychronized的偏向锁、轻量级锁、重量级锁

  *   06 Sychronized和ReentrantLock的区别

  *   07 ThreadLocal的底层原理

  *   08 ThreadLocal的原理的使用场景

  *   09 ThreadLocal内存泄露问题,如何避免

  *   10 Thread和Runnable

  *   11 阿里一面:如何查看线程死锁

  *   12 阿里一面:说一下ThreadLocal

  *   13 阿里一面:线程之间如何进行通讯的

  *   14 并发、并行、串行

  *   15 并发篇1

  *   16 并发篇2-1

  *   17 并发篇2-2

  *   18 并发篇3

  *   19 并发4

  *   20 并发5

  *   21 并发6

  *   22 并发三大特性

  *   23 对线程安全的理解

  *   24 京东二面:并发编程三要素

  *   25 京东一面:Java死锁如何避免

  *   26 京东一面:如果你提交任务时,线程池队列已满,这时会发生什么

  *   27 蚂蚁二面:volatile关键字,他是如何保证可见性,有序性

  *   28 蚂蚁一面:sychronized的自旋锁、偏向锁、轻量级锁、重量级锁,分别介绍和联系

  *   29 蚂蚁一面:sychronized和ReentrantLock的区别

  *   30 蚂蚁一面:简述线程池原理,FixedThreadPool用的阻塞队列是什么

  *   31 如何理解volatile关键字

  *   32 说说你对守护线程的理解

  *   33 为什么使用线程池,参数解释

  *   34 线程池处理流程

  *   35 线程池的底层工作原理

  *   36 线程池线程复用的原理

  *   37 线程池中阻塞队列的作用?为什么是先添加列队而不是先创建最大线程

  *   38 线程的生命周期及状态

*   3.JVM/

  *   01 GC如何判断对象可以被回收

  *   02 JAVA类加载

  *   03 java类加载器有哪些

  *   04 JVM内存模型

  *   05 JVM有哪些垃圾回收器P2

  *   06 JVM有哪些垃圾回收器P1

  *   07 JVM有哪些垃圾回收算法2

  *   08 JVM中哪些可以作为gc root

  *   09 JVM中哪些是线程共享区

  *   10 阿里一面:你们项目如何排查JVM问题

  *   11 阿里一面:说一下JVM中,哪些是共享区,哪些可以作为gc root

  *   12 对象在JVM中经历的过程3

  *   13 京东二面:说说类加载器双亲委派模型

  *   14 蚂蚁二面:Java的内存结构,堆分为哪几部分,默认年龄多大进入老年代

  *   15 你们项目如何排查JVM问题

  *   16 如何进行JVM调优

  *   17 什么是字节码,作用是什么

  *   18 双亲委派模型

  *   19 说说类加载器双亲委派模型

  *   20 怎么确定一个对象是不是垃圾2

*   4.Mysql/

  *   01 ACID靠什么保证的

  *   02 B树和B+树的区别,为什么Mysql使用B+树

  *   03 Explain语句结果中各个字段分表表示什么

  *   04 Innodb是如何实现事务的

  *   05 MySQL的索引结构是什么样的

  *   06 MySQL的锁有哪些

  *   07 MySQL集群如何搭建

  *   08 mysql聚簇和非聚簇索引的区别

  *   09 Mysql慢查询该如何优化?

  *   10 mysql索引结构,各自的优劣

  *   11 mysql锁的类型有哪些

  *   12 Mysql锁有哪些,如何理解

  *   13 MySQL有哪几种数据存储引擎

  *   14 mysql执行计划怎么看

  *   15 mysql主从同步原理

  *   16 阿里二面:Innodb是如何实现事务的

  *   17 阿里二面:Mysql数据库中,什么情况下设置了索引但无法使用

  *   18 存储拆分后如何解决唯一主键

  *   19 海量数据下,如何快速查找一条记录

  *   20 简述Myisam和Innodb的区别

  *   21 简述mysql中索引类型及对数据库的性能的影响

  *   22 蚂蚁二面:Mysql的锁你了解哪些

  *   23 蚂蚁一面:B树和B+树的区别,为什么Mysql使用B+树

  *   24 面试51-事务的基本特性和隔离级别

  *   25 如何实现分库分表

  *   26 什么是MVCC

  *   27 什么是脏读、幻读、不可重复读

  *   28 事务的基本特性和隔离级别

  *   29 索引的基本原理

  *   30 索引的设计原则

  *   31 索引覆盖是什么

  *   32 谈谈如何对MySQL进行分库分表

  *   33 怎么处理慢查询

  *   34 最左前缀原则是什么

*   5.Redis/

  *   01 说一下你知道的redis高可用方案

  *   02 如何避免缓存穿透、缓存击穿、缓存雪崩

  *   03 如何保证数据库与缓存的一致性

  *   04 为什么使用缓存

  *   05 如何保证Redis与数据库的数据一致

  *   06 简述redis主从同步机制

  *   07 简述redis事务实现

  *   08 缓存穿透、缓存击穿、缓存雪崩

  *   09 简述redis分布式锁实现

  *   10 简述redis九大数据结构

  *   11 缓存雪崩、缓存穿透、缓存击穿

  *   12 缓存过期都有哪些策略

  *   13 缓存穿透、缓存击穿、缓存雪崩分别是什么

  *   14 分布式系统中常用的缓存方案有哪些

  *   15 布隆过滤器原理,优缺点

  *   16 阿里二面:Redis集群策略

  *   17 常见的缓存淘汰算法

  *   18 redis主从复制的核心原理

  *   19 阿里二面:Redis的数据结构及使用场景

  *   20 redis的持久化机制

  *   21 redis集群方案

  *   22 Redis有哪些数据结构?分别有哪些典型的应用场景?

  *   23 Redis线程模型,单线程为什么快

  *   24 Redis如何设置key的过期时间

  *   25 Redis单线程为什么这么快

  *   26 Redis和Mysql如何保证数据一致

  *   27 RDB和AOF机制

  *   28 Redis的过期键的删除策略

  *   29 Redis分布式锁底层是如何实现的?

*   6.开发框架/

  *   01 什么是Spring

  *   02 什么的是bean的自动装配,有哪些方式

  *   03 如何理解springboot的starter

  *   04 如何实现一个IOC容器

  *   05 京东一面:Spring中Bean是线程安全的吗

  *   06 对IOC的理解

  *   07 阿里一面:介绍一下Spring,读过源码介绍一下大致流程

  *   08 简述spring bean的生命周期

  *   09 京东二面:Spring用到了哪些设计模式

  *   10 对Aop的理解

  *   11 阿里一面:说一下Spring的事务机制

  *   12 阿里二面:说说常用的SpringBoot注解,及其实现

  *   13 阿里一面:什么时候@Transactional失效

  *   14 阿里一面:还读过哪些框架源码介绍一下你还熟悉的

  *   15 阿里二面:如何实现AOP,项目哪些地方用到了AOP

  *   16 Spring如何处理循环依赖问题

  *   17 阿里二面:Spring中后置处理器的作用

  *   18 Spring中的事务是如何实现的

  *   19 Spring中什么时候@Transactional会失效

  *   20 Spring如何处理事务

  *   21 Spring中的Bean创建的生命周期有哪些步骤

  *   22 Spring中Bean是线程安全的吗mp4

  *   23 spring支持的bean作用域

  *   24 spring是什么

  *   25 Spring用到了哪些设计模式mp4

  *   26 spring事务什么时候会失效

  *   27 Spring容器的启动流程是怎样的

  *   28 spring事务的实现方式原理以及隔离级别

  *   29 Spring容器启动流程是怎样的

  *   30 Spring框架中Bean的创建过程2

  *   31 spring框架中使用了哪些设计模式及应用场景

  *   32 Spring框架中的Bean是线程安全的吗

  *   33 Spring框架中的单例Bean是线程安全的么

  *   34 springmvc的九大组件

  *   35 spring的事务传播机制

  *   36 springmvc工作流程

  *   37 SpringMVC中的控制器是不是单例模式

  *   38 springboot自动配置原理

  *   39 mybatis和hibernate的对比

  *   40 SpringMVC的底层工作流程

  *   41 SpringBoot中配置文件的加载顺序是怎样的?

  *   42 spring、springmvc、springboot的区别

  *   43 SpringBoot中常用注解及其底层实现

  *   44 SpringBoot是如何启动Tomcat的

  *   45 Mybatis中#{}和${}的区别是什么?

  *   46 ApplicationContext和BeanFactory有什么区别

  *   47 mybatis插件运行原理及开发流程

  *   48 mybatis的优缺点

  *   49 BeanFactory和ApplicationContext有什么区别

  *   50 Mybatis存在哪些优点和缺点

  *   51 #{}和${}的区别

*   7.分布式/

  *   01 雪花算法原理

  *   02 为什么Zookeeper可以用来作为注册中心

  *   03 数据库实现分布式锁的问题及解决方案

  *   04 数据一致性模型有哪些

  *   05 什么是分布式事务?有哪些实现方案?

  *   06 为什么 Dubbo 不用 JDK 的 SPI,而是要自己实现

  *   07 什么是ZAB协议

  *   08 如何设计一个分布式锁

  *   09 什么是CAP理论

  *   10 什么是RPC

  *   11 如何实现接口幂等性

  *   12 什么是BASE理论

  *   13 简述paxos算法

  *   14 如何理解RPC

  *   15 请谈谈ZK对事务性的支持

  *   16 能说下Dubbo的工作流程吗

  *   17 简述你对RPC、RMI的理解

  *   18 简述raft算法

  *   19 讲下Zookeeper watch机制

  *   20 京东二面:简述CAP理论

  *   21 简述zk中的观察者机制

  *   22 简述zab协议

  *   23 简述zk的数据模型

  *   24 简述zk的命名服务、配置管理、集群管理

  *   25 简述zk的典型应用场景

  *   26 简述TCC事务模型

  *   27 简述dubbo服务引入过程

  *   28 简述dubbo服务暴露过程

  *   29 简述dubbo的SPI机制

  *   30 简述dubbo服务调用过程

  *   31 简述CAP理论

  *   32 集群、分布式、SOA、微服务的概念及区别

  *   33 简述dubbo的分层设计

  *   34 简述Base理论

  *   35 负载均衡策略有哪些

  *   36 负载均衡算法、类型

  *   37 分布式锁解决方案

  *   38 分布式系统的设计目标

  *   39 分布式事务如何处理

  *   40 分布式事务解决方案

  *   41 分布式事务有哪些解决方案

  *   42 分布式锁的使用场景是什么?有哪些实现方案?

  *   43 分布式缓存寻址算法

  *   44 分布式架构下,Session 共享有什么方案

  *   45 分布式id生成方案

  *   46 对比两阶段,三阶段有哪些改进

  *   47 分布式ID是什么?有哪些解决方案?

  *   48 定时任务实现原理

  *   49 阿里一面:Dubbo是如何做系统交互的

  *   50 阿里一面:Dubbo的负载均衡策略

  *   51 Zookeeper中的领导者选举的流程是怎样的?

  *   52 阿里二面:说说你了解的分布式锁实现

  *   53 Zookeeper集群中节点之间数据是如何同步的

  *   54 zk中一个客户端修改了某个节点的数据,其他客户端能够马上获取到这个最新数据吗

  *   55 zk和eureka的区别

  *   56 zk实际如何存储dubbo生产者和消费者信息

  *   57 zk分布式锁实现原理

  *   58 zk的会话管理机制

  *   59 zk的数据模型和节点类型

  *   60 zk的数据同步原理

  *   61 zk的watch机制实现原理

  *   62 zk的初始化选举和崩溃选举过程

  *   63 session的分布式方案

  *   64 Spring Cloud和Dubbo的区别

  *   65 Quorum、WARO机制

  *   66 dubbo中Zk集群挂掉,发布者和订阅者还能通信么

  *   67 Dubbo支持的注册中心有哪些

  *   68 Dubbo支持哪些负载均衡策略

  *   69 dubbo支持的协议有哪些

  *   70 Dubbo是什么?能做什么?

  *   71 Dubbo 的整体架构设计及分层

  *   72 Dubbo是如何完成服务导出的?

  *   73 Dubbo是如何完成服务引入的?

  *   74 CAP理论,BASE理论

  *   75 dubbo和springcloud对比

  *   76 dubbo集群容错策略有哪些

  *   77 Dubbo的架构设计是怎样的?

*   8.微服务/

  *   01 怎么拆分微服务P2-DDD

  *   02 怎么拆分微服务P3-中台

  *   03 谈谈你对微服务的理解

  *   04 怎么拆分微服务P1

  *   05 项目中怎么保证微服务敏捷开发

  *   06 什么是服务雪崩?什么是服务限流?

  *   07 什么是服务降级、什么是熔断

  *   08 springcloud核心组件及其作用

  *   09 什么是Hystrix?简述实现机制

  *   10 SpringCloud和SpringCloudAlibaba都有哪些组件

  *   11 什么是服务熔断?什么是服务降级?区别是什么?

  *   12 高并发场景下如何实现系统限流

  *   13 京东一面:SpringCloud各组件功能,与Dubbo的区别

  *   14 SOA、分布式、微服务之间有什么关系和区别?

  *   15 Spring Cloud和Dubbo有哪些区别?

  *   16 Spring Cloud有哪些常用组件,作用是什么?

*   9.消息队列/

  *   01 Kafka为什么比RocketMQ的吞吐量要高

  *   02 Kafka的Pull和Push分别有什么优缺点

  *   03 Kafka是pull?push?优劣势分析

  *   04 Kafka、ActiveMQ、RabbitMQ、RocketMQ 对比

  *   05 Kafka消息高可靠解决方案

  *   06 kafka高性能高吞吐的原因

  *   07 Kafka消息丢失的场景及解决方案

  *   08 Kafka中zk的作用

  *   09 Kafka中高性能的原因分析

  *   10 MQ如何保证消费幂等性

  *   11 MQ如何保证分布式事务的最终一致性

  *   12 MQ如何进行产品选型

  *   13 MQ如何保证消息的高效读写

  *   14 MQ如何保证消息顺序

  *   15 MQ如何保证消息不丢失P1

  *   16 MQ如何保证消息不丢失P2

  *   17 rabbitmq的镜像队列原理

  *   18 MQ有什么用

  *   19 rabbitmq的死信队列、延迟队列原理

  *   20 RabbitMQ如何保证消息的可靠性传输

  *   21 Rabbitmq事务消息

  *   22 RabbitMQ如何确保消息发送 ? 消息接收?

  *   23 rabbitmq可以直连队列么

  *   24 RocketMQ 如何保证不丢消息

  *   25 RabbitMQ死信队列、延时队列

  *   26 RocketMQ的底层实现原理

  *   27 RocketMQ 事务消息原理

  *   28 简述kafka的rebalance机制

  *   29 简述kafka的副本同步机制

  *   30 RocketMQ 怎么实现顺序消息

  *   31 简述kafka架构设计

  *   32 简述rabbitmq的持久化机制

  *   33 简述RabbitMq的交换机类型

  *   34 简述rabbitmq的普通集群模式

  *   35 简述RabbitMQ的架构设计

  *   36 简述RabbitMQ架构设计

  *   37 简述RabbitMQ事务消息机制

  *   38 京东二面:消息队列如何保证消息可靠传输

  *   39 简述RocketMQ 架构设计

  *   40 简述RocketMQ 持久化机制

  *   41 死信队列是什么?延时队列是什么?

  *   42 如何保证消息不被重复消费

  *   43 消息队列有哪些作用

  *   44 消息队列如何保证消息可靠传输

  *   45 如何设计一个MQ

  *   46 消息队列的优缺点,使用场景

*   10.网络/

  *   01 网络4

  *   02 网路2

  *   03 网络3

  *   04 什么是认证和授权

  *   05 网络1

  *   06 什么是OAuth2.0协议P2

  *   07 什么是SSO

  *   08 什么是嵌入式服务器,为什么使用嵌入式服务器

  *   09 什么是OAuth2.0协议P1

  *   10 如何设计一个开放授权平台

  *   11 什么是CSRF攻击

  *   12 蚂蚁一面:HTTPS是如何保证安全传输的

  *   13 浏览器发出一个请求到收到响应经历了哪些步骤?

  *   14 蚂蚁一面:epoll和poll的区别

  *   15 Tomcat中为什么要使用自定义类加载器

  *   16 零拷贝是什么

  *   17 跨域请求是什么?有什么问题?怎么解决?

  *   18 京东二面:TCP的三次握手和四次挥手

  *   19 cookie和session有什么区别-问题2和3

  *   20 Tomcat如何进行优化?

  *   21 TCP的三次握手和四次挥手

  *   22 HTTP和HTTPS的区别

  *   23 Netty是什么?和Tomcat有什么区别?特点是什么?

  *   24 Netty的高性能体现在哪些方面

  *   25 Netty的线程模型是怎么样的

  *   26 BIO、NIO、AIO分别是什么

*   11.其他/

  *   01 看以下代码回答问题(一)

  *   02 看以下代码回答问题(三)

  *   03 如何进行中文分词

  *   04 什么是倒排索引

  *   05 蚂蚁一面:强平衡二叉树和弱平衡二叉树有什么区别

  *   06 蚂蚁一面:二叉搜索树和平衡二叉树有什么关系

  *   07 蚂蚁二面:设计模式有哪些大类,及熟悉其中哪些设计模式

  *   08 京东一面:遇到过哪些设计模式

  *   09 看以下代码回答问题(二)

  *   10 京东一面:项目及主要负责的模块

  *   11 京东二面:图的深度遍历和广度遍历

  *   12 京东一面:Maven中Package和Install的区别

  *   13 ES写入数据与查询数据的原理

  *   14 京东一面:说说你常用的Linux基本操作命令

  *   15 京东二面:画出项目架构图,介绍自己所处的模块

  *   16 京东二面:快排算法

  *   17 ES部署时如何优化

  *   18 ES了解多少

  *   19 阿里二面:聊聊你最有成就感的项目

  *   20 阿里二面:自己最有挑战的项目、难点