注:参考博客:程序员DD
Spring cloud部分、部分、Spring boot部分
1.Spring cloud常用组件,每个组件负责的场景和功能展开说一下。
答:
- Eureka:服务注册中心,用于服务管理。
- Ribbon:基于客户端的负载均衡组件。
- Hystrix:容错框架,能够防止服务的雪崩效应。
- Feign:Web 服务客户端,能够简化 HTTP 接口的调用。
- Zuul:API 网关,提供路由转发、请求过滤等功能。
- Config 分布式配置
2.服务熔断和服务降级的区别是什么?什么场景话会降级?什么场景下会熔断?
答:参考程序员DD中:白话:服务降级与熔断的区别
3.Spring cloud站在使用过程中做了哪些参数的调整?比如调用超时怎么解决的?
答:参考Spring Cloud组件那么多超时设置,如何理解和运用?
4.Spring cloud网关的作用?
答:参考SpringCloud—网关简述
5.dubbo消息之间的调用,用的什么协议?
答:RPC协议
6.dubbo消息注册用的是什么?
答:ZooKeeper
7.ZooKeeper和eureka的区别?这两个那个是AP哪个是CP?
8.CAP简单的描述?
答:参考CAP最简单的理解
Consistency:一致性,原文翻译过来是说,对于任何从客户端发达到分布式系统的数据读取请求,要么读到最新的数据要么失败。换句话说,一致性是站在分布式系统的角度,对访问本系统的客户端的一种承诺:要么我给您返回一个错误,要么我给你返回绝对一致的最新数据,不难看出,其强调的是数据正确。
Availability:可用性,原文翻译过来是说,对于任何求从客户端发达到分布式系统的数据读取请求,都一定会收到数据,不会收到错误,但不保证客户端收到的数据一定是最新的数据。换句话说,可用性是站在分布式系统的角度,对访问本系统的客户的另一种承诺:我一定会给您返回数据,不会给你返回错误,但不保证数据最新,强调的是不出错。
Partition tolerance:分区容忍性,这个词有点怪,如果直接看中文的确有点不太好理解。那么看原文翻译怎么说的,分布式系统应该一直持续运行,即使在不同节点间同步数据的时候,出现了大量的数据丢失或者数据同步延迟。
换句话说,分区容忍性是站在分布式系统的角度,对访问本系统的客户端的再一种承诺:我会一直运行,不管我的内部出现何种数据同步问题,强调的是不挂掉。
基础部分
1.Java中比较熟悉的集合是什么?
2.Arraylist和linlist的区别是什么?
3.ArrayList自动扩容的原理或者过程了解吗?
4.arraylist是线程安全的吗?
5.用线程安全的类似arralist结构的,用那个?
6.如果让你设计一个结构,最粗暴的怎么解决线程安全?
7.设计一个既能保证线程安全,又能提高效率的一种结构或者一种思想吗?可以说说理解,如果让你去做可以从几个方面去考虑?
8.HashMap是线程安全的吗?
9.想用线程安全的HashMap有哪些方法?
10.那个创建线程安全的HashMap那个性能最好?
11.HashMap的底层实现?
12.java的序列化能简单介绍一下吗?序列化有什么好处
JVM简单部分
1.Tomcat怎么调整堆大小(-Xmx1024M -Xms1024M )?
2.调整堆大小(-Xmx1024M -Xms1024M )的这两个参数解决了什么问题?把这配置之后什么会增加?
MySQL部分
1.mysql中char和varchar的区别
2.MySQL的优化,做索引,什么列需要加索引?
3.比如一张用户表,有一个性别的字段,适合加索引吗?
4.索引失效的例子,错误使用方法?
5.like后面的字段加索引会失效吗?
6.判断SQL语句的索引是否失效,用什么关键字?