前言
数据库相关的面试题早已成为了一线互联网大厂面试的家常菜,如果你对数据库不太熟悉,我劝你不要轻易面试大厂。那么,为什么数据库成了大厂面试的家常菜呢?主要原因当然还是海量数据。
无论对于刚入行的小白还是有几年Java开发经验的从业而言,面试不仅是你必须要面对的事情,更是你升职加薪的一个途径。许多朋友面试了几家公司也没拿到一个满意的薪资,究其根还是在于自己的知识不够系统化,太凌乱。针对性的温故知新往往能达到事半功倍的效果。
在这里我总结一线互联网大厂java面试中常问的“数据库”问题,由于过多答案文字仅以图片展示,所有内容已总结成文档在文末有领取方式!
专题10:Redis
-
1、什么是 Redis?
-
2、Redis 与其他 key-value 存储有什么不同?
-
3、Redis 的数据类型?
-
4、使用 Redis 有哪些好处?
-
5、Redis 相比 Memcached 有哪些优势?
-
6、Memcache 与 Redis 的区别都有哪些?
-
7、Redis 是单进程单线程的?
-
8、一个字符串类型的值能存储最大容量是多少?
-
9、Redis持久化机制
-
10、缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题
-
11、热点数据和冷数据是什么
-
12、单线程的redis为什么这么快
-
13、redis的数据类型,以及每种数据类型的使用场景
-
14、redis的过期策略以及内存淘汰机制
-
15、Redis 常见性能问题和解决方案?
-
16、为什么Redis的操作是原子性的,怎么保证原子性的?
-
17、Redis事务
-
18、Redis 的持久化机制是什么?各自的优缺点?
-
19、Redis 常见性能问题和解决方案:
-
20、redis 过期键的删除策略?
-
21、Redis 的回收策略(淘汰策略)?
-
22、为什么 edis 需要把所有数据放到内存中?
-
23、Redis 的同步机制了解么?
-
24、Pipeline 有什么好处,为什么要用 pipeline?
-
25、是否使用过 Redis 集群,集群的原理是什么?
-
26、Redis 集群方案什么情况下会导致整个集群不可用?
-
27、Redis 支持的 Java 客户端都有哪些?官方推荐用哪个?
-
28、Jedis 与 Redisson 对比有什么优缺点?
-
29、Redis 如何设置密码及验证密码?
-
30、说说 Redis 哈希槽的概念?
-
31、Redis 集群的主从复制模型是怎样的?
-
32、Redis 集群会有写操作丢失吗?为什么?
-
33、Redis 集群之间是如何复制的?
-
34、Redis 集群最大节点个数是多少?
-
35、Redis 集群如何选择数据库?
-
36、怎么测试 Redis 的连通性?
-
37、怎么理解 Redis 事务?
-
38、Redis 事务相关的命令有哪几个?
-
39、Redis key 的过期时间和永久有效分别怎么设置?
-
40、Redis 如何做内存优化?
-
41、Redis 回收进程如何工作的?
-
42、都有哪些办法可以降低 Redis 的内存使用情况呢?
-
43、Redis 的内存用完了会发生什么?
-
44、一个 Redis 实例最多能存放多少的 keys?List、Set、Sorted Set 他们最多能存放多少元素
-
45、MySQL 里有 2000w 数据,redis 中只存 20w 的数据,如何保证 redis 中的数据都是热点数据?
-
46、Redis 最适合的场景?
-
47、假如 Redis 里面有 1 亿个 key,其中有 10w 个 key 是以某个固定的已知的前缀开头的,如果将它们全部找出来?
-
48、如果有大量的 key 需要设置同一时间过期,一般需要注意什么?
-
49、使用过 Redis 做异步队列么,你是怎么用的?
-
50、使用过 Redis 分布式锁么,它是怎么回事?
专题11:Memcached
-
1、Memcached 是什么,有什么作用?
-
2、memcached 服务在企业集群架构中有哪些应用场景?
-
2、Memcached 服务分布式集群如何实现?
-
3、Memcached 服务特点及工作原理是什么?
-
4、简述 Memcached 内存管理机制原理?
-
5、memcached 是怎么工作的?
-
6、memcached 最大的优势是什么?
-
7、memcached 和 MySQL 的 query
-
8、memcached 和服务器的 local cache(比如 PHP 的 APC、mmap 文件等)相比,有什么优缺点?
-
9、memcached 的 cache 机制是怎样的?
-
10、memcached 如何实现冗余机制?
-
11、memcached 如何处理容错的?
-
12、如何将 memcached 中 item 批量导入导出?
-
13、如果缓存数据在导出导入之间过期了,您又怎么处理这些数据呢?
-
14、memcached 是如何做身份验证的?
-
15、memcached 的多线程是什么?如何使用它们?
-
16、memcached 能接受的 key 的最大长度是多少?
-
17、memcached 对 item 的过期时间有什么限制?
-
18、memcached 最大能存储多大的单个 item?
-
19、memcached 能够更有效地使用内存吗?
-
20、什么是二进制协议,我该关注吗?
-
21、memcached 的内存分配器是如何工作的?为什么不适用malloc/free!?为何要使用 slabs?
-
22、memcached 是原子的吗?
-
23、如何实现集群中的 session 共享存储?
-
24、memcached 与 redis 的区别?
专题12:MongoDB
-
1、mongodb是什么?
-
2、mongodb有哪些特点?
-
3、你说的NoSQL数据库是什么意思?NoSQL与RDBMS直接有什么区别?为什么要使用和不使用NoSQL数据库?说一说NoSQL数据库的几个优点?
-
4、NoSQL数据库有哪些类型?
-
5、MySQL与MongoDB之间最基本的差别是什么?
-
6、你怎么比较MongoDB、CouchDB及CouchBase?
-
7、MongoDB成为最好NoSQL数据库的原因是什么?
-
8、journal回放在条目(entry)不完整时(比如恰巧有一个中途故障了)会遇到问题吗?
-
9、分析器在MongoDB中的作用是什么?
-
10、名字空间(namespace)是什么?
-
11、 如果用户移除对象的属性,该属性是否从存储层中删除?
-
12、能否使用日志特征进行安全备份?
-
13、允许空值null吗?
-
14、更新操作立刻fsync到磁盘?
-
15、如何执行事务/加锁?
-
16、为什么我的数据文件如此庞大?
-
17、启用备份故障恢复需要多久?
-
18、什么是master或primary?
-
19、什么是secondary或slave?
-
20、我必须调用getLastError来确保写操作生效了么?
-
21、我应该启动一个集群分片(sharded)还是一个非集群分片的 MongoDB 环境?
-
22、分片(sharding)和复制(replication)是怎样工作的?
-
23、数据在什么时候才会扩展到多个分片(shard)里?
-
24、当我试图更新一个正在被迁移的块(chunk)上的文档时会发生什么?
-
25、如果在一个分片(shard)停止或者很慢的时候,我发起一个查询会怎样?
-
26、我可以把moveChunk目录里的旧文件删除吗?
-
27、我怎么查看 Mongo 正在使用的链接?
-
28、如果块移动操作(moveChunk)失败了,我需要手动清除部分转移的文档吗?
-
29、如果我在使用复制技术(replication),可以一部分使用日志(journaling)而其他部分则不使用吗?
-
30、当更新一个正在被迁移的块(Chunk)上的文档时会发生什么?
-
31、MongoDB在A:{B,C}上建立索引,查询A:{B,C}和A:{C,B}都会使用索引吗?
-
32、如果一个分片(Shard)停止或很慢的时候,发起一个查询会怎样?
-
33、MongoDB支持存储过程吗?如果支持的话,怎么用?
-
34、如何理解MongoDB中的GridFS机制,MongoDB为何使用GridFS来存储文件?
-
35、什么是NoSQL数据库?NoSQL和RDBMS有什么区别?在哪些情况下使用和不使用NoSQL数据库?
-
36、MongoDB支持存储过程吗?如果支持的话,怎么用?
-
37、如何理解MongoDB中的GridFS机制,MongoDB为何使用GridFS来存储文件?
-
38、为什么MongoDB的数据文件很大?
-
39、当更新一个正在被迁移的块(Chunk)上的文档时会发生什么?
-
40、MongoDB在A:{B,C}上建立索引,查询A:{B,C}和A:{C,B}都会使用索引吗?
-
41、如果一个分片(Shard)停止或很慢的时候,发起一个查询会怎样?
-
42、分析器在MongoDB中的作用是什么?
-
43、如果用户移除对象的属性,该属性是否从存储层中删除?
-
44、能否使用日志特征进行安全备份?
-
45、更新操作立刻fsync到磁盘?
-
46、如何执行事务/加锁?
-
47、什么是master或primary?
-
48、getLastError的作用
-
49、分片(sharding)和复制(replication)是怎样工作的?
-
50、数据在什么时候才会扩展到多个分片(shard)里?
-
51、 当我试图更新一个正在被迁移的块(chunk)上的文档时会发生什么?
-
52、 我怎么查看 Mongo 正在使用的链接?
-
53、mongodb的结构介绍
-
54、数据库的整体结构
-
55、MongoDB是由哪种语言写的?
-
56、MongoDB的优势有哪些?
-
57、什么是集合?
-
58、什么是文档?
-
59、什么是”mongod“
-
60、"mongod"参数有什么
-
61、什么是"mongo"
-
62、MongoDB哪个命令可以切换数据库
-
63、什么是非关系型数据库
-
64、非关系型数据库有哪些类型
-
65、为什么用MOngoDB?
-
66、在哪些场景使用MongoDB
-
67、MongoDB中的命名空间是什么意思?
-
68、哪些语言支持MongoDB?
-
69、在MongoDB中如何创建一个新的数据库
-
70、在MongoDB中如何查看数据库列表
-
71、MongoDB中的分片是什么意思
-
72、如何查看使用MongoDB的连接Sharding - MongoDB Manual21.如何查看使用MongoDB的连接
-
73、什么是复制
-
74、在MongoDB中如何在集合中插入一个文档
-
75、在MongoDB中如何除去一个数据库Collection Methods24.在MongoDB中如何除去一个数据库
-
76、在MongoDB中如何创建一个集合
-
77、在MongoDB中如何查看一个已经创建的集合
-
78、在MongoDB中如何删除一个集合
-
79、为什么要在MongoDB中使用分析器
-
80、MongoDB支持主键外键关系吗
-
81、MongoDB支持哪些数据类型
-
82、为什么要在MongoDB中用"Code"数据类型
-
83、为什么要在MongoDB中用"Regular Expression"数据类型
-
84、为什么在MongoDB中使用"Object ID"数据类型
-
85、如何在集合中插入一个文档
-
86、"ObjectID"有哪些部分组成
-
87、在MongoDb中什么是索引
-
88、如何添加索引
-
89、用什么方法可以格式化输出结果
-
90、如何使用"AND"或"OR"条件循环查询集合中的文档
-
91、在MongoDB中如何更新数据
-
92、如何删除文档
-
93、在MongoDB中如何排序
-
94、什么是聚合
-
95、在MongoDB中什么是副本集
专题13:Spring
-
1、不同版本的 Spring Framework 有哪些主要功能?
-
2、什么是 Spring Framework?
-
3、列举 Spring Framework 的优点。
-
4、Spring Framework 有哪些不同的功能?
-
5、Spring Framework 中有多少个模块,它们分别是什么?
-
6、什么是 Spring 配置文件?
-
7、Spring 应用程序有哪些不同组件?
-
8、使用 Spring 有哪些方式?
-
9、什么是 Spring IOC 容器?
-
10、什么是依赖注入?
-
11、可以通过多少种方式完成依赖注入?
-
12、区分构造函数注入和 setter 注入
-
13、spring 中有多少种 IOC 容器?
-
14、区分 BeanFactory 和 ApplicationContext。
-
15、列举 IoC 的一些好处。
-
16、Spring IoC 的实现机制。
-
17、什么是 spring bean?
-
18、spring 提供了哪些配置方式?
-
19、spring 支持集中 bean scope?
-
20、spring bean 容器的生命周期是什么样的?
-
21、什么是 spring 的内部 bean?
-
22、什么是 spring 装配
-
23、自动装配有哪些方式?
-
24、自动装配有什么局限?
-
25、什么是基于注解的容器配置
-
26、如何在 spring 中启动注解装配?
-
27、@Component, @Controller, @Repository
-
28、@Required 注解有什么用?
-
29、@Autowired 注解有什么用?
-
30、@Qualifier 注解有什么用?
-
31、@RequestMapping 注解有什么用?
-
32、spring DAO 有什么用?
-
33、列举 Spring DAO 抛出的异常。
-
34、spring JDBC API 中存在哪些类?
-
35、使用 Spring 访问 Hibernate 的方法有哪些?
-
36、列举 spring 支持的事务管理类型
-
37、spring 支持哪些 ORM 框架
-
37、spring 支持哪些 ORM 框架
-
39、什么是 Aspect?
-
40、什么是切点(JoinPoint)
-
41、什么是通知(Advice)?
-
42、有哪些类型的通知(Advice)?
-
43、指出在 spring aop 中 concern 和 cross-cuttingconcern 的不同之处。
-
44、AOP 有哪些实现方式?
-
45、Spring AOP and AspectJ AOP 有什么区别?
-
46、如何理解 Spring 中的代理?
-
47、什么是编织(Weaving)?
-
48、Spring MVC 框架有什么用?
-
49、描述一下 DispatcherServlet 的工作流程
-
50、介绍一下 WebApplicationContext
-
51、什么是 spring?
-
52、使用 Spring 框架的好处是什么?
-
53、Spring 由哪些模块组成?
-
54、Spring的IOC和AOP机制
-
55、Spring中Autowired和Resource关键字的区别
-
56、依赖注入的方式有几种,各是什么?
-
57、讲一下什么是Spring
-
58、Spring MVC流程
-
59、springMVC是什么
-
60、SpringMVC怎么样设定重定向和转发的?
-
61、SpringMVC常用的注解有哪些
-
62、Spring的AOP理解
-
63、Spring的IOC理解
-
64、解释一下spring bean的生命周期
-
65、解释Spring支持的几种bean的作用域。
-
66、Spring基于xml注入bean的几种方式
-
67、Spring框架中都用到了哪些设计模式
-
68、核心容器(应用上下文) 模块
-
69、BeanFactory – BeanFactory 实现举例。
-
70、XMLBeanFactory
-
71、解释 AOP 模块
-
72、解释 JDBC 抽象和 DAO 模块。
-
72、解释对象/关系映射集成模块。
-
73、解释 WEB 模块。
-
74、Spring 配置文件
-
75、什么是 Spring IOC 容器?
-
76、IOC 的优点是什么?
-
77、ApplicationContext 通常的实现是什么?
-
78、Bean 工厂和 Application contexts 有什么区别?
-
79、一个 Spring 的应用看起来象什么?
-
80、什么是 Spring 的依赖注入?
-
81、有哪些不同类型的 IOC(依赖注入)方式?
-
82、哪种依赖注入方式你建议使用,构造器注入,还是 Setter方法注入?
-
83、什么是 Spring beans?
-
84、一个 Spring Bean 定义 包含什么?
-
85、如何给 Spring 容器提供配置元数据?
-
86、你怎样定义类的作用域?
-
87、解释 Spring 支持的几种 bean 的作用域。
-
88、Spring 框架中的单例 bean 是线程安全的吗?
-
89、解释 Spring 框架中 bean 的生命周期。
-
90、哪些是重要的 bean 生命周期方法?你能重载它们吗?
-
91、什么是 Spring 的内部 bean?
-
92、在 Spring 中如何注入一个 java 集合?
-
93、什么是 bean 装配?
-
94、什么是 bean 的自动装配?
-
95、解释不同方式的自动装配 。
-
96、自动装配有哪些局限性
-
97、你可以在 Spring 中注入一个 null 和一个空字符串吗?
-
98、什么是基于 Java 的 Spring 注解配置? 给一些注解的例子.
-
99、什么是基于注解的容器配置?
-
100、怎样开启注解装配?
-
101、@Required 注解
-
102、@Autowired 注解
-
103、@Qualifier 注解
-
104、在 Spring 框架中如何更有效地使用 JDBC?
-
105、JdbcTemplate
-
106、Spring 对 DAO 的支持
-
107、使用 Spring 通过什么方式访问 Hibernate?
-
108、Spring 支持的 ORM
-
109、如何通过 HibernateDaoSupport 将 Spring 和 Hibernate结合起来?
-
110、Spring 支持的事务管理类型
-
111、Spring 框架的事务管理有哪些优点?
-
112、你更倾向用哪种事务管理类型?
-
113、解释 AOP
-
114、Aspect 切面
-
115、在 Spring AOP 中,关注点和横切关注的区别是什么?
-
116、连接点
-
117、通知
-
118、切点
-
119、什么是引入?
-
120、什么是目标对象?
-
121、什么是代理?
-
122、有几种不同类型的自动代理?
-
123、什么是织入。什么是植入应用的不同点?
-
124、解释基于 XML Schema 方式的切面实现。
-
125、解释基于注解的切面实现
-
126、什么是 Spring 的 MVC 框架?
-
127、DispatcherServlet
-
128、WebApplicationContext
-
129、什么是 Spring MVC 框架的控制器?
-
130、@Controller 注解
-
131、@RequestMapping 注解
专题14:Spring Boot
-
1、什么是 Spring Boot?
-
2、为什么要用SpringBoot
-
3、Spring Boot 有哪些优点?
-
4、Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的?
-
5、运行Spring Boot有哪几种方式?
-
6、如何理解 Spring Boot 中的 Starters?
-
7、如何在Spring Boot启动的时候运行一些特定的代码?
-
8、Spring Boot 需要独立的容器运行吗?
-
9、Spring Boot中的监视器是什么?
-
10、如何使用Spring Boot实现异常处理?
-
11、你如何理解 Spring Boot 中的 Starters
-
12、springboot常用的starter有哪些?
-
13、SpringBoot 实现热部署有哪几种方式?
-
14、如何理解 Spring Boot 配置加载顺序
-
15、Spring Boot 的核心配置文件有哪几个?它们的区别是什么?
-
16、如何集成 Spring Boot 和 ActiveMQ
-
17、什么是 JavaConfig?
-
18、如何重新加载 Spring Boot 上的更改,而无需重新启动服务器?
-
19、Spring Boot 中的监视器是什么?
-
20、如何在 Spring Boot 中禁用 Actuator 端点安全性?
-
21、如何在自定义端口上运行 Spring Boot 应用程序?
-
22、什么是 YAML?
-
23、如何实现 Spring Boot 应用程序的安全性?
-
24、如何集成 Spring Boot 和 ActiveMQ?
-
25、如何使用 Spring Boot 实现分页和排序?
-
26、什么是 Swagger?你用 Spring Boot 实现了它吗?
-
27、什么是 Spring Profiles?
-
28、什么是 Spring Batch?
-
29、什么是 FreeMarker 模板?
-
30、如何使用 Spring Boot 实现异常处理?
-
31、您使用了哪些 starter maven 依赖项?
-
32、什么是 CSRF 攻击?
-
33、什么是 WebSockets?
-
34、什么是 AOP?
-
35、什么是 Apache Kafka?
-
36、我们如何监视所有 Spring Boot 微服务?
-
37、Spring Boot 的配置文件有哪几种格式?它们有什么区别?
-
38、开启 Spring Boot 特性有哪几种方式?
-
39、Spring Boot 的目录结构是怎样的?
-
40、运行 Spring Boot 有哪几种方式?
-
41、Spring Boot 自动配置原理是什么?
-
42、如何在 Spring Boot 启动的时候运行一些特定的代码?
-
43、Spring Boot 有哪几种读取配置的方式?
-
44、Spring Boot 支持哪些日志框架?推荐和默认的日志框架是哪个?
-
45、Spring Boot 如何定义多套不同环境配置?
-
46、Spring Boot 可以兼容老 Spring 项目吗,如何做?
-
47、保护 Spring Boot 应用有哪些方法?
-
48、Spring Boot 2.X 有什么新特性?与 1.X 有什么区别?
-
49、如何重新加载Spring Boot上的更改,而无需重新启动服务器?
-
50、springboot集成mybatis的过程
-
51、Spring Boot、Spring MVC 和 Spring 有什么区别?
-
52、什么是 Spring Boot Stater ?
-
53、Spring Boot 还提供了其它的哪些 Starter Project Options?
-
54、Spring 是如何快速创建产品就绪应用程序的?
-
55、创建一个 Spring Boot Project 的最简单的方法是什么?
-
56、Spring Initializr 是创建 Spring Boot Projects 的唯一方法吗?
-
57、如何使用 SpringBoot 自动重装我的应用程序?
-
58、 什么是嵌入式服务器?我们为什么要使用嵌入式服务器呢?
-
59、如何在 Spring Boot 中添加通用的 JS 代码?
-
60、什么是 Spring Date?
-
61、什么是 Spring Data REST?
-
62、path=”users”, collectionResourceRel=”users” 如何与 Spring Data Rest 一起使用?
-
63、当 Spring Boot 应用程序作为 Java 应用程序运行时,后台会发生什么?
-
64、我们能否在 spring-boot-starter-web 中用 jetty 代替 tomcat?
-
65、如何使用 Spring Boot 生成一个 WAR 文件?
-
66、如何使用 Spring Boot 部署到不同的服务器?
-
67、RequestMapping 和 GetMapping 的不同之处在哪里?
-
68、为什么我们不建议在实际的应用程序中使用 Spring Data Rest?
-
69、在 Spring Initializer 中,如何改变一个项目的包名字?
-
70、可以配置 application.propertierde 的完整的属性列表在哪里可以找到?
-
71、JPA 和 Hibernate 有哪些区别?
-
72、使用 Spring Boot 启动连接到内存数据库 H2 的 JPA 应用程序需要哪些依赖项?
-
73、如何不通过任何配置来选择 Hibernate 作为 JPA 的默认实现?
-
74、指定的数据库连接信息在哪里?它是如何知道自动连接至 H2 的?
-
75、我们如何连接一个像 MSSQL 或者 orcale 一样的外部数据库?
-
76、Spring Boot 配置的默认 H2 数据库的名字是上面?为什么默认的数据库名字是 testdb?
-
77、如果 H2 不在类路径里面,会出现上面情况?
-
78、你能否举一个以 ReadOnly 为事务管理的例子?
-
79、发布 Spring Boot 用户应用程序自定义配置的最好方法是什么?
-
80、配置文件的需求是什么?
-
81、如何使用配置文件通过 Spring Boot 配置特定环境的配置?
-
82、我们如何使用Maven设置Spring Boot应用程序?
-
83、如何禁用特定的自动配置?
-
84、Spring boot支持哪些外部配置?
-
85、如何对Spring Boot应用进行测试?
-
86、Spring Boot Actuator有什么用?
-
87、SpringBoot 中静态首页默认位置可以放在哪里?
-
89、SpringBoot 中静态资源直接映射的优先级是怎样的?
-
90、继承 WebMvcConfigurerAdapter 抽象类,常用的重写方法列举几个?
-
91、@SpringBootApplication 引入了哪3个重要的注解?
-
92、@SpringBootApplication 注解中的属性相当于哪几个注解?
哎,这个题目实在是太多太多了,前面列举了14个方向的题就有近1000+
专题15:Spring Cloud
-
1、什么是Spring Cloud?
-
2、使用Spring Cloud有什么优势?
-
3、服务注册和发现是什么意思?Spring Cloud如何实现?
-
4、负载平衡的意义什么?
-
5、什么是 Hystrix?它如何实现容错?
-
6、什么是 Hystrix断路器?我们需要它吗?
-
7、什么是Netflix Feign?它的优点是什么?
-
8、什么是 Spring Cloud Bus?我们需要它吗?
-
9、什么是微服务
-
10、什么是服务熔断?什么是服务降级
-
11、Eureka和zookeeper都可以提供服务注册与发现的功能,请说说两个的区别?
-
12.SpringBoot和SpringCloud的区别?
-
13、什么是Hystrix断路器?我们需要它吗
-
14、说说RPC 的实现原理
-
15、微服务的优点缺点?说下开发项目中遇到的坑?
-
16.spring cloud和dubbo区别?
-
17、REST 和RPC对比
-
18、你所知道的微服务技术栈?
-
19、微服务之间是如何独立通讯的?
-
20、springcloud如何实现服务的注册?
-
21、Eureka和Zookeeper区别
-
22、eureka自我保护机制是什么?
-
23、什么是Ribbon?
-
24、什么是feigin?它的优点是什么?
-
25、Ribbon和Feign的区别?
-
26、什么是Spring Cloud Bus?
-
27、springcloud断路器作用?
-
28、Spring Cloud Gateway?
-
29、作为服务注册中心,Eureka比Zookeeper好在哪里?
-
30、什么是Ribbon负载均衡?
-
31、Ribbon负载均衡能干什么?
-
32、什么是zuul路由网关
-
33、分布式配置中心能干嘛?
-
34、Hystrix相关注解
-
35、Eureka和zookeeper都可以提供服务注册与发现的功能,请说说两个的区别?
专题16:RabbitMQ
-
1、什么是 rabbitmq
-
2、为什么要使用rabbitmq
-
3、使用rabbitmq 的场景
-
4、如何确保消息正确地发送至RabbitMQ?如何确保消息接收方消费了消息?
-
5、如何避免消息重复投递或重复消费?
-
6、消息基于什么传输?
-
7、消息如何分发?
-
8、消息怎么路由?
-
9、如何确保消息不丢失?
-
10、使用RabbitMQ有什么好处?
-
11、RabbitMQ的集群
-
12、mq的缺点
-
13.Kafka、ActiveMQ、RabbitMQ. RocketMQ都有什么区别?
-
14、如何保证高可用的?
-
15、如何保证消息的可靠传输?如果消息丢了怎么办
-
16、如何保证消息的顺序性
-
17、如何解决消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理?有几百万消息持续积压几小时,说说怎么解决
-
18、设计MQ的思路
-
19、什么是Message?
-
20、什么是Publisher ?
-
21、什么是Exchange(将消息路由给队列)
-
22、什么是Binding (消息队列和交换器之间的关联)
-
23、什么是Queue?
-
24、什么是Connection ?
-
25、什么是Channel?
-
26、什么是Consumer ?
-
27、什么是Virtual Host ?
-
28、什么是Broker?
-
29、Exchange类型?
-
30、Direct 键(routing key)分布?
-
31、Fanout(广播分发)?
-
32.topic交换器(模式匹配)?
专题17:Dubbo
-
1、为什么要用 Dubbo?
-
2、Dubbo的整体架构设计有哪些分层?
-
3、默认使用的是什么通信框架,还有别的选择吗?
-
4、服务调用是阻塞的吗?
-
5、一般使用什么注册中心?还有别的选择吗?
-
6、默认使用什么序列化框架,你知道的还有哪些?
-
7、服务提供者能实现失效踢出是什么原理?
-
8、服务上线怎么不影响旧版本?
-
9、如何解决服务调用链过长的问题?
-
10、说说核心的配置有哪些?
-
11、Dubbo 推荐用什么协议?
-
12、同一个服务多个注册的情况下可以直连某一个服务吗?
-
13、画一画服务注册与发现的流程图?
-
14、Dubbo集群容错有几种方案?
-
15、Dubbo 服务降级,失败重试怎么做?
-
16、Dubbo使用过程中都遇到了些什么问题?
-
17、Dubbo Monitor实现原理?
-
18、Dubbo用到哪些设计模式?
-
19、Dubbo 配置文件是如何加载到 Spring 中的?
-
20、Dubbo SPI和Java SPI区别?
-
21、Dubbo支持分布式事务吗?
-
22、Dubbo可以对结果进行缓存吗?
-
23、服务上线怎么兼容旧版本?
-
24、Dubbo 必须依赖的包有哪些?
-
25、Dubbo telnet命令能做什么?
-
26、Dubbo支持服务降级吗?
-
27、Dubbo如何优雅停机?
-
28、Dubbo和Dubbox之间的区别?
-
29、Dubbo和Spring Cloud的区别?
-
30、你还了解别的分布式框架吗?
-
31、Dubbo是什么?
-
32、Dubbo默认使用什么注册中心,还有别的选择吗?
-
33、Dubbo有哪几种配置方式?
-
34、在Provider上可以配置的Consumer 端的属性有哪些?
-
35、Dubbo启动时如果依赖的服务不可用会怎样?
-
36、Dubbo推荐使用什么序列化框架,你知道的还有哪些
-
37.Dubbo有哪几种负载均衡策略,默认是哪种?
-
38、注册了多个同一样的服务,如果测试指定的某一个服务呢?
-
39、Dubbo支持服务多协议吗?
-
40、当一个服务接口有多种实现时怎么做?
-
41、服务上线怎么兼容旧版本?
-
42、Dubbo可以对结果进行缓存吗?
-
43、Dubbo服务之间的调用是阻塞的吗?
-
44、Dubbo支持分布式事务吗?
-
45、Dubbo支持服务降级吗?
-
46、Dubbo如何优雅停机?
-
47、服务提供者能实现失效踢出是什么原理?
-
48、如何解决服务调用链过长的问题?
-
49、服务读写推荐的容错策略是怎样的?
-
50、Dubbo必须依赖的包有哪些?
-
51、Dubbo的管理控制台能做什么?
-
52、说说Dubbo 服务暴露的过程。
-
53.Dubbo 停止维护了吗?
-
54、Dubbo和 Dubbox有什么区别?
-
55、你还了解别的分布式框架吗?
-
56、Dubbo 能集成Spring Boot吗?
-
57、在使用过程中都遇到了些什么问题?
-
58、你读过Dubbo的源码吗?
-
59、你觉得用Dubbo好还是Spring Cloud好?
专题18:MyBatis
-
1、什么是 Mybatis?
-
2、Mybaits 的优点
-
3、MyBatis框架的缺点
-
4、MyBatis框架适用场合
-
5、MyBatis 与 Hibernate有哪些不同?
-
6、#梧和$的区别是什么?
-
7、当实体类中的属性名和表中的字段名不一样,怎么办?
-
8、模糊查询like语句该怎么写?
-
9、通常—个Xml映射文件,都会写一个Dao接口与之对应,请问,这个Dao接口的工作l原理是什么? Dao接口里的方法,参数不同时,方法能重载吗?
-
13、如何获取自动生成的(主)键值?
-
14、在mapper 中如何传递多个参数?
-
15、Mybatis动态 sql有什么用?执行原理?有哪些动态sql?
-
16、Xml映射文件中,除了常见的select|insertlupdaeldelete标签之外,还有哪些标签?
-
17、Mybatis的Xml映射文件中,不同的Xml映射文件, id是否可以重复?
-
18、为什么说 Mybatis是半自动ORM映射工具?它与全自动的区别在哪里?
-
19、一对一、一对多的关联查询?
-
20、MyBatis 实现一对一有几种方式?具体怎么操作的?
-
21、MyBatis 实现一对多有几种方式,怎么操作的?
-
22、Mybatis是否支持延迟加载?如果支持,它的实现原理是什么?
-
23、Mybatis 的一级、二级缓存
-
24、什么是 MyBatis 的接口绑定?有哪些实现方式?
-
25、使用MyBatis的 mapper 接口调用时有哪些要求?
-
26、Mapper编写有哪几种方式?
-
27、简述Mybatis的插件运行原理,以及如何编写一个插件。
-
28、MyBatis实现一对一有几种方式?具体怎么操作的?
专题19:ZooKeeper
-
1、什么是Zookeeper?
-
2、Zookeeper如何保证了分布式一致性特性?
-
3、ZooKeeper提供了什么?
-
4、Zookeeper文件系统
-
5、ZAB协议?
-
6、四种类型的数据节点Znode
-
7、Zookeeper Watcher 机制–数据变更通知
-
8、客户端注册Watcher 实现
-
9、服务端处理Watcher 实现
-
10、客户端回调Watcher
-
11、ACL权限控制机制
-
12、Chroot特性
-
13、会话管理
-
14、服务器角色
-
15、Zookeeper 下 Server 工作状态
-
16、数据同步
-
17、zookeeper 是如何保证事务的顺序—致性的?
-
18、zk节点宕机如何处理?
-
19、zookeeper负载均衡和nginx负载均衡区别
-
20、分布式集群中为什么会有Master?
-
21、Zookeeper有哪几种几种部署模式?
-
22、集群最少要几台机器,集群规则是怎样的?
-
23、集群支持动态添加机器吗?
-
24、Zookeeper 对节点的watch监听通知是永久的吗?为什么不是永久的?
-
25、Zookeeper的java客户端都有哪些?
-
26、chubby是什么,和zookeeper比你怎么看?
-
27、说几个zookeeper '常用的命令。
-
28、ZAB和Paxos算法的联系与区别?
-
29、Zookeeper的典型应用场景
-
30、数据发布/订阅
-
31、zk 的命名服务
-
32、分布式通知和协调
-
33、k的命名服务(文件系统)
-
34、zk的配置管理(文件系统、通知机制)
-
35、Zookeeper 集群管理(文件系统、通知机制)
-
36、Zookeeper分布式锁(文件系统、通知机制)
-
37、Zookeeper队列管理(文件系统、通知机制)
-
38、Zookeeper 角色
-
39、事务编号Zxid(事务请求计数器+epoch)
-
40、epoch
-
41、Zab 协议有两种模式-恢复模式(选主)、广播模式(同步)
-
42.Leader election(选举阶段-选出准Leader)
-
43、Discovery(发现阶段-接受提议、生成epoch、接受epoch)
-
44.Synchronization(同步阶段-同步 follower副本)
-
45、Broadcast(广播阶段-leader消息广播)
-
46、ZAB协议JAVA实现(FLE-发现阶段和同步合并为Recovery Phase (恢复阶段))
-
47、投票机制
-
48、Zookeeper工作原理(原子广播)
-
49、Znode有四种形式的目录节
专题20:数据结构
-
1、栈(stack)
-
2、队列(queue)
-
3、链表(Link)
-
4、散列表(Hash Table)
-
5、排序二叉树
-
6、前缀树
-
7、红黑树
-
8、B-TREE
-
9、位图
专题21:算法
-
1、数据里有{1,2,3,4,5,6,7,8,9},请随机打乱顺序,生成一个新的数组(请以代码实现)
-
2、写出代码判断一个整数是不是2的阶次方(请代码实现,谢绝调用API方法)
-
3、假设今日是2015年3月1日,星期日,请算出13个月零6天后是星期几,距离现在多少天(请用代码实现,谢绝调用API方法)
-
4、有两个篮子,分别为A和B,篮子A里装有鸡蛋,篮子B里装有苹果,请用面向对象的思想实现两个篮子里的物品交换(请用代码实现)
-
5、二分查找
-
6、冒泡排序算法
-
7、插入排序算法
-
8、快速排序算法
-
9、希尔排序算法
-
10、归并排序算法
-
11、桶排序算法
-
12、基数排序算法
-
13、剪枝算法
-
14、回溯算法
-
15、最短路径算法
-
16、最小生成树算法
-
17、AES
-
18、RSA
-
19、CRC
-
20、MD5
-
21、更多算法练习
专题22:Elasticsearc
-
1.elasticsearch了解多少,说说你们公司es的集群架构,索引数据大小,分片有多少,以及一些调优手段。
-
2、elasticsearch的倒排索引是什么
-
3、elasticsearch索引数据多了怎么办,如何调优,部署
-
4、 elasticsearch是如何实现master 选举的
-
5、详细描述一下Elasticsearch 索引文档的过程
-
6、详细描述一下Elasticsearch搜索的过程?
-
7、Elasticsearch在部署时,对Linux的设置有哪些优化方法
-
8、 lucence内部结构是什么?
-
9、Elasticsearch是如何实现Master选举的?
-
10、Elasticsearch中的节点(比如共20个),其中的10个选了一个master,另外10个选了另一个master,怎么办?
-
11、客户端在和集群连接时,如何选择特定的节点执行请求的?
-
12、详细描述一下 Elasticsearch 索引文档的过程。
-
13、详细描述—下Elasticsearch更新和删除文档的过程
-
14、详细描述—下Elasticsearch 搜索的过程
-
15、在Elasticsearch中,是怎么根据一个词找到对应的倒排索引的?
-
16、Elasticsearch在部署时,对Linux的设置有哪些优化方法?
-
17、对于GC方面,在使用Elasticsearch时要注意什么?
-
18、Elasticsearch对于大数据量(上亿量级)的聚合如何实现?
-
19、在并发情况下,Elasticsearch 如果保证读写一致?
-
20、如何监控Elasticsearch集群状态?
-
21、介绍下你们电商搜索的整体技术架构
-
22、介绍一下你们的个性化搜索方案?
-
23、是否了解字典树?
-
24、拼写纠错是如何实现的?
最后如何让自己一步步成为技术专家
说句实话,如果一个打工人不想提升自己,那便没有工作的意义,毕竟大家也没有到养老的年龄。
当你的技术在一步步贴近阿里p7水平的时候,毫无疑问你的薪资肯定会涨,同时你能学到更多更深的技术,交结到更厉害的大牛。
推荐一份Java架构之路必备的学习笔记,内容相当全面!!!
成年人的世界没有容易二字,前段时间刷抖音看到一个程序员连着加班两星期到半夜2点的视频。在这个行业若想要拿高薪除了提高硬实力别无他法。
你知道吗?现在有的应届生实习薪资都已经赶超开发5年的程序员了,实习薪资26K,30K,你没有紧迫感吗?做了这么多年还不如一个应届生,真的非常尴尬!
进了这个行业就不要把没时间学习当借口,这个行业就是要不断学习,不然就只能被裁员。所以,抓紧时间投资自己,多学点技术,眼前困难,往后轻松!
要领取这些精心整理出来的资料的话,请记得
些调优手段。
-
2、elasticsearch的倒排索引是什么
-
3、elasticsearch索引数据多了怎么办,如何调优,部署
-
4、 elasticsearch是如何实现master 选举的
-
5、详细描述一下Elasticsearch 索引文档的过程
-
6、详细描述一下Elasticsearch搜索的过程?
-
7、Elasticsearch在部署时,对Linux的设置有哪些优化方法
-
8、 lucence内部结构是什么?
-
9、Elasticsearch是如何实现Master选举的?
-
10、Elasticsearch中的节点(比如共20个),其中的10个选了一个master,另外10个选了另一个master,怎么办?
-
11、客户端在和集群连接时,如何选择特定的节点执行请求的?
-
12、详细描述一下 Elasticsearch 索引文档的过程。
-
13、详细描述—下Elasticsearch更新和删除文档的过程
-
14、详细描述—下Elasticsearch 搜索的过程
-
15、在Elasticsearch中,是怎么根据一个词找到对应的倒排索引的?
-
16、Elasticsearch在部署时,对Linux的设置有哪些优化方法?
-
17、对于GC方面,在使用Elasticsearch时要注意什么?
-
18、Elasticsearch对于大数据量(上亿量级)的聚合如何实现?
-
19、在并发情况下,Elasticsearch 如果保证读写一致?
-
20、如何监控Elasticsearch集群状态?
-
21、介绍下你们电商搜索的整体技术架构
-
22、介绍一下你们的个性化搜索方案?
-
23、是否了解字典树?
-
24、拼写纠错是如何实现的?
[外链图片转存中…(img-0aEcutDE-1615881501649)]
最后如何让自己一步步成为技术专家
说句实话,如果一个打工人不想提升自己,那便没有工作的意义,毕竟大家也没有到养老的年龄。
当你的技术在一步步贴近阿里p7水平的时候,毫无疑问你的薪资肯定会涨,同时你能学到更多更深的技术,交结到更厉害的大牛。
推荐一份Java架构之路必备的学习笔记,内容相当全面!!!
[外链图片转存中…(img-lyVChpZG-1615881501650)]
成年人的世界没有容易二字,前段时间刷抖音看到一个程序员连着加班两星期到半夜2点的视频。在这个行业若想要拿高薪除了提高硬实力别无他法。
你知道吗?现在有的应届生实习薪资都已经赶超开发5年的程序员了,实习薪资26K,30K,你没有紧迫感吗?做了这么多年还不如一个应届生,真的非常尴尬!
进了这个行业就不要把没时间学习当借口,这个行业就是要不断学习,不然就只能被裁员。所以,抓紧时间投资自己,多学点技术,眼前困难,往后轻松!
要领取这些精心整理出来的资料的话,请记得
————【关注】+【转发】+【点赞】支持我!创作不易!点击这里前往我的腾讯文档免费下载