资料总结 资料总结
首页
go
java
云原生
  • mysql
  • redis
  • MongoDB
  • 设计模式详解
  • 数据结构与算法
  • 前端
  • 项目
  • 理论基础
  • 运营
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

linghui Wu

一只努力学飞的鱼
首页
go
java
云原生
  • mysql
  • redis
  • MongoDB
  • 设计模式详解
  • 数据结构与算法
  • 前端
  • 项目
  • 理论基础
  • 运营
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • java-se

  • jvm

  • mybatis

  • Netty

  • 爬虫 webmagic

  • spring

  • spring-cloud

  • 中间件

  • flowable

  • idea工具

  • maven

  • ms

    • 常问问题大纲
      • 其他问题
        • 经典算法
        • Java并发
      • 其他问题
        • JVM
        • Mysql
      • 其他问题
        • Redis
      • 其他问题
        • SSM
      • 其他问题
        • 分布式
      • 其他问题
        • 微服务
        • 消息中间件
        • 网络与IO
        • 设计模式
        • ES
    • 常问问题
  • java部署

  • 原生安卓

  • java
  • ms
wulinghui
2022-05-02
目录

常问问题大纲

# 总结

JVM 、mysql、并发、redis、nettry、zookeeper、设计模式、微服务、spring源码、网络基础、项目实战。

JVM、mysql、并发、redis、kafka、spring-boot、微服务、项目、设计模式、网络(nettry)

# JavaSE

# 其他问题

  1. ==和equals
  2. ArrayList和LinkedList有哪些区别
  3. List和Set
  4. HashMap的扩容机制原理
  5. HashMap的Put方法
  6. Jdk1.7到Jdk1.8 HashMap 发生了什么变化(底层)
  7. HashMap和HashTable的区别及底层实现
  8. ConcurrentHashMap的扩容机制,ConcurrentHashMap原理简述,jdk7和jdk8的区别
  9. ConcurrentHashMap 如何保证线程安全,jdk1.8 有什么变化
  10. CopyOnWriteArrayList的底层原理是怎样的
  11. final
  12. hashcode和equals
  13. java中的异常体系
  14. JDK、JRE、JVM区别和联系
  15. String、StringBuffer、StringBuilder的区别
  16. StringBuffer、StringBuilder区别及使用场景
  17. Jdk1.7到Jdk1.8 java虚拟机发生了什么变化
  18. 接口和抽象类
  19. 泛型中extends和super的区别
  20. 深拷贝和浅拷贝
  21. 面向对象
  22. 重载和重写的区别

# 经典算法

01-链表反转-迭代

02-链表反转-递归

03-统计素数个数-暴力算法

04-统计素数个数-埃氏筛选

05-删除排序数组中的重复项

06-寻找数组的中心下标

07-x的平方根-二分查找

08-x的平方根-牛顿迭代

09-数组中三个数的最大乘积

10-两数之和-无序数组

11-两数之和-有序数组

12-斐波那契数列-三种解法

13-排列硬币-三种解法

14-环形链表

15-合并两个有序数组

16-子数组最大平均数

17-二叉树最小深度-深度优先

18-二叉树最小深度-广度优先

19-最长连续递增序列-贪心算法

20-柠檬水找零-贪心算法

21-三角形的最大周长-贪心算法

22-二叉树遍历

23-二叉树遍历-前序-递归

24-二叉树遍历-中序-递归

25-二叉树遍历-后序-递归

26-二叉树遍历-层序-递归

27-二叉树遍历-前序-迭代

28-二叉树遍历-中序-迭代

29-二叉树遍历-后序-迭代

30-二叉树遍历-层序-迭代

31-二叉树遍历-线索二叉树-morris

32-二叉树遍历-前中序-morris

33-二叉树遍历-后序-morris

34-省份数量

35-省份数量-深度优先

36-省份数量-广度优先

37-省份数量-并查集

38-预测赢家-石子游戏

39-预测赢家-递归

40-预测赢家-动态规划

41-香槟塔

42-井字游戏

43-字符串搜索-BF和RK

44-字符串搜索-BM

45-字符串搜索-KMP算法

46-打家劫舍-动态规划

47-打家劫舍2-动态规划

48-打家劫舍3-动态规划

49-Dota2参议院-贪心

50优势洗牌(田忌赛马)-贪心

# Java并发

# 其他问题

  1. CountDownLatch和Semaphore的区别和底层原理
  2. ReentrantLock中tryLock()和lock()方法的区别
  3. ReentrantLock中的公平锁和非公平锁的底层实现
  4. sleep、wait、join、yield
  5. Sychronized的偏向锁、轻量级锁、重量级锁
  6. sychronized的自旋锁、偏向锁、轻量级锁、重量级锁,分别介绍和联系
  7. Sychronized和ReentrantLock的区别
  8. ThreadLocal的底层原理
  9. ThreadLocal的原理的使用场景
  10. ThreadLocal内存泄露问题,如何避免
  11. Thread和Runnable
  12. 线程的生命周期及状态
  13. 说说你对守护线程的理解
  14. 如何查看线程死锁,Java死锁如何避免
  15. 线程之间如何进行通讯的
  16. 并发、并行、串行
  17. 并发三大特性
  18. 对线程安全的理解
  19. 并发编程三要素
  20. 如何理解volatile关键字,他是如何保证可见性,有序性
  21. 简述线程池原理,FixedThreadPool用的阻塞队列是什么
  22. 为什么使用线程池,参数解释
  23. 线程池处理流程
  24. 如果你提交任务时,线程池队列已满,这时会发生什么
  25. 线程池的底层工作原理
  26. 线程池线程复用的原理
  27. 线程池中阻塞队列的作用?为什么是先添加列队而不是先创建最大线程

# JVM

  1. JAVA类加载
  2. java类加载器有哪些
  3. 类加载器双亲委派模型
  4. JVM内存模型
  5. JVM有哪些垃圾回收器
  6. JVM有哪些垃圾回收算法
  7. 怎么确定一个对象是不是垃圾 (GC如何判断对象可以被回收)
  8. JVM中哪些可以作为gc root
  9. JVM中哪些是线程共享区
  10. 你们项目如何排查JVM问题
  11. 如何进行JVM调优
  12. 说一下JVM中,哪些是共享区,哪些可以作为gc root
  13. 对象在JVM中经历的过程
  14. Java的内存结构,堆分为哪几部分,默认年龄多大进入老年代
  15. 什么是字节码,作用是什么

# Mysql

# 其他问题

  1. ACID靠什么保证的
  2. B树和B+树的区别,为什么Mysql使用B+树
  3. Explain语句结果中各个字段分表表示什么
  4. Innodb是如何实现事务的
  5. MySQL的锁有哪些
  6. MySQL集群如何搭建
  7. mysql聚簇和非聚簇索引的区别
  8. Mysql慢查询该如何优化?
  9. mysql索引结构,各自的优劣
  10. MySQL有哪几种数据存储引擎
  11. mysql执行计划怎么看
  12. mysql主从同步原理
  13. Mysql数据库中,什么情况下设置了索引但无法使用
  14. 存储拆分后如何解决唯一主键
  15. 海量数据下,如何快速查找一条记录
  16. 简述Myisam和Innodb的区别
  17. 简述mysql中索引类型及对数据库的性能的影响
  18. 事务的基本特性和隔离级别
  19. 如何实现分库分表
  20. 什么是MVCC
  21. 什么是脏读、幻读、不可重复读
  22. 事务的基本特性和隔离级别
  23. 索引的基本原理
  24. 索引的设计原则
  25. 索引覆盖是什么
  26. 谈谈如何对MySQL进行分库分表
  27. 最左前缀原则是什么

# Redis

# 其他问题

  1. 说一下你知道的redis高可用方案
  2. 如何避免缓存穿透、缓存击穿、缓存雪崩
  3. 如何保证数据库与缓存的一致性
  4. 为什么使用缓存
  5. 简述redis主从同步机制
  6. 简述redis事务实现
  7. 简述redis分布式锁实现
  8. 简述redis九大数据结构,分别有哪些典型的应用场景?
  9. 缓存过期都有哪些策略,常见的缓存淘汰算法
  10. 分布式系统中常用的缓存方案有哪些
  11. 布隆过滤器原理,优缺点
  12. Redis集群策略,redis集群方案
  13. redis的持久化机制
  14. Redis线程模型,单线程为什么快
  15. Redis如何设置key的过期时间
  16. RDB和AOF机制

# SSM

# 其他问题

  1. 什么是Spring,如何实现一个IOC容器,对IOC的理解
  2. 什么的是bean的自动装配,有哪些方式
  3. 如何理解springboot的starter,springboot自动配置原理
  4. SpringBoot中配置文件的加载顺序是怎样的?
  5. Spring中Bean是线程安全的吗
  6. 介绍一下Spring,读过源码介绍一下大致流程,简述spring bean的生命周期,Spring中的Bean创建的生命周期有哪些步骤
  7. Spring中Bean是线程安全的吗
  8. spring支持的bean作用域
  9. Spring容器的启动流程是怎样的
  10. Spring如何处理循环依赖问题
  11. Spring中后置处理器的作用
  12. Spring用到了哪些设计模式
  13. 对Aop的理解,如何实现AOP,项目哪些地方用到了AOP
  14. 说一下Spring的事务机制,Spring中的事务是如何实现的,Spring如何处理事务,事务的实现方式原理以及隔离级别
  15. spring的事务传播机制
  16. 说说常用的SpringBoot注解,及其实现
  17. 什么时候@Transactional失效
  18. 还读过哪些框架源码介绍一下你还熟悉的
  19. springmvc的九大组件
  20. springmvc工作流程
  21. SpringMVC中的控制器是不是单例模式
  22. mybatis和hibernate的对比,mybatis的优缺点
  23. spring、springmvc、springboot的区别
  24. SpringBoot是如何启动Tomcat的
  25. Mybatis中#{}和${}的区别是什么?
  26. ApplicationContext和BeanFactory有什么区别
  27. mybatis插件运行原理及开发流程

# 分布式

# 其他问题

  1. 雪花算法原理
  2. 为什么Zookeeper可以用来作为注册中心
  3. 如何设计一个分布式锁,数据库实现分布式锁的问题及解决方案,分布式锁解决方案,分布式锁的使用场景是什么?有哪些实现方案?
  4. 数据一致性模型有哪些
  5. 什么是分布式事务?有哪些实现方案?
  6. 为什么 Dubbo 不用 JDK 的 SPI,而是要自己实现
  7. 什么是ZAB协议
  8. 简述paxos算法
  9. 简述raft算法
  10. 什么是CAP理论
  11. 什么是BASE理论
  12. 什么是RPC
  13. 如何实现接口幂等性
  14. 请谈谈ZK对事务性的支持
  15. 能说下Dubbo的工作流程吗
  16. 简述你对RPC、RMI的理解
  17. 讲下Zookeeper watch机制
  18. 简述zk中的观察者机制
  19. 简述zk的命名服务、配置管理、集群管理
  20. 简述zk的典型应用场景
  21. 简述TCC事务模型
  22. 简述dubbo服务引入过程
  23. 简述dubbo服务暴露过程
  24. 简述dubbo的SPI机制
  25. 简述dubbo服务调用过程
  26. 集群、分布式、SOA、微服务的概念及区别
  27. 简述dubbo的分层设计
  28. 负载均衡策略有哪些
  29. 负载均衡算法、类型
  30. 分布式系统的设计目标
  31. 分布式事务如何处理,分布式事务解决方案,分布式事务有哪些解决方案
  32. 分布式缓存寻址算法
  33. 分布式架构下,Session 共享有什么方案
  34. 分布式id生成方案,分布式ID是什么?有哪些解决方案?
  35. 对比两阶段,三阶段有哪些改进
  36. 定时任务实现原理
  37. Dubbo是如何做系统交互的
  38. Dubbo的负载均衡策略
  39. Zookeeper中的领导者选举的流程是怎样的?
  40. Zookeeper集群中节点之间数据是如何同步的
  41. zk中一个客户端修改了某个节点的数据,其他客户端能够马上获取到这个最新数据吗
  42. zk和eureka的区别
  43. zk实际如何存储dubbo生产者和消费者信息
  44. zk分布式锁实现原理
  45. zk的会话管理机制
  46. zk的数据模型和节点类型
  47. zk的数据同步原理
  48. zk的watch机制实现原理
  49. zk的初始化选举和崩溃选举过程
  50. session的分布式方案

Spring Cloud和Dubbo的区别

Quorum、WARO机制

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

Dubbo支持的注册中心有哪些

Dubbo支持哪些负载均衡策略

dubbo支持的协议有哪些

Dubbo是什么?能做什么?

Dubbo 的整体架构设计及分层

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

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

CAP理论,BASE理论

dubbo和springcloud对比

dubbo集群容错策略有哪些

Dubbo的架构设计是怎样的?

# 微服务

怎么拆分微服务P2-DDD

怎么拆分微服务P3-中台

谈谈你对微服务的理解

怎么拆分微服务P1

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

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

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

springcloud核心组件及其作用

什么是Hystrix?简述实现机制

SpringCloud和SpringCloudAlibaba都有哪些组件

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

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

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

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

Spring Cloud和Dubbo有哪些区别?

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

# 消息中间件

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

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

Kafka是pull?push?优劣势分析

Kafka、ActiveMQ、RabbitMQ、RocketMQ 对比

Kafka消息高可靠解决方案

kafka高性能高吞吐的原因

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

Kafka中zk的作用

Kafka中高性能的原因分析

MQ如何保证消费幂等性

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

MQ如何进行产品选型

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

MQ如何保证消息顺序

MQ如何保证消息不丢失P1

MQ如何保证消息不丢失P2

rabbitmq的镜像队列原理

MQ有什么用

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

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

Rabbitmq事务消息

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

rabbitmq可以直连队列么

RocketMQ 如何保证不丢消息

RabbitMQ死信队列、延时队列

RocketMQ的底层实现原理

RocketMQ 事务消息原理

简述kafka的rebalance机制

简述kafka的副本同步机制

RocketMQ 怎么实现顺序消息

简述kafka架构设计

简述rabbitmq的持久化机制

简述RabbitMq的交换机类型

简述rabbitmq的普通集群模式

简述RabbitMQ的架构设计

简述RabbitMQ架构设计

简述RabbitMQ事务消息机制

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

简述RocketMQ 架构设计

简述RocketMQ 持久化机制

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

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

消息队列有哪些作用

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

如何设计一个MQ

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

# 网络与IO

网络4

网路2

网络3

什么是认证和授权

网络1

什么是OAuth2.0协议P2

什么是SSO

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

什么是OAuth2.0协议P1

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

什么是CSRF攻击

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

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

蚂蚁一面:epoll和poll的区别

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

零拷贝是什么

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

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

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

Tomcat如何进行优化?

TCP的三次握手和四次挥手

HTTP和HTTPS的区别

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

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

Netty的线程模型是怎么样的

BIO、NIO、AIO分别是什么

# 设计模式

1.设计模式-单例设计模式

2.设计模式-工厂方法模式

3.设计模式-抽象工厂模式

4.设计模式-建造者模式

5.设计模式-原型模式

6.设计模式-享元模式

7.设计模式-门面模式

8.设计模式-适配器模式

9.设计模式-装饰器模式

10.设计模式-策略模式

11.设计模式-模板方法模式

12.设计模式-观察者模式

13.设计模式-责任链模式

# ES

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

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

如何进行中文分词

什么是倒排索引

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

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

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

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

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

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

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

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

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

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

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

京东二面:快排算法

ES部署时如何优化

ES了解多少

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

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

编辑 (opens new window)
上次更新: 2023/01/24, 15:21:15
无法编译resources文件夹下的配置文件
常问问题

← 无法编译resources文件夹下的配置文件 常问问题→

最近更新
01
架构升级踩坑之路
02-27
02
总结
02-27
03
语法学习
02-27
更多文章>
| Copyright © 2021-2025 Wu lingui |
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式