1、项目包含哪些微服务?你负责哪些?
登录微服务,注册微服务,搜索微服务,购物车微服务,订单微服务等10来个微服务
2、调用第三方接口异常,你是怎么处理的?
看下有没超过设置的超时时间,检查网络如果网络都正常,去看下返回的错误码是什么3、你们是对服务进行常见的容错处理的?
熔断、限流、降级
4、请求流量最大设置1W,突然来2W请求,多出来的1w怎么处理的?
线程池里面的workque排队,,可以让一万个请求都在排队线程池的拒绝策略,直接拒绝排队一部分,拒绝一部分5、购物车同步redis,异步mysql场景中,mysql数据一直写入不进去怎么办?
用的rabbitmq的延时队列,还有一些死信队列也有可能数据库并发量太高,处理不过来6、项目上线前你是怎么进行测试的?
我们在公司内网搭了一个内部环境,我们这些微服务呢,一共用了两三台机器,然后把环境和微服务都搭好,一台机器上可以跑多个微服务。
7、自定义注解有用过吗?说个你在开发中使用时的场景?
鉴定权限,有的需要一个登录的,有的不需要登录的,和拦截器一起使用
8、分布式锁有使用过吗?
我在项目中确实没用过,但有过一些了解,像这种乐观锁、redis的锁、zookeeper锁,实现原理基于临时有序,让后一个节点监听前一个节点,前一个节点一删,后一个节点自动获取锁
9、说一下你们的微服务项目是怎么部署的?
环境搭好、项目打包放到各个服务器上去
10、如何在spring框架中解决多数据源的问题?(如何维护数据源)
在 spring 中配置
我们应当在 spring 中做如下配置:xml 代码< bean id = "dynamicLoadBean" class = "com.htxx.service.dao.DynamicLoadBean" > bean >< bean id = "dataSource" class = "com.htxx.service.dao.MultiDataSource" >< property name = "dataSource" >< ref bean = "dataSource1" />property >bean >< bean id = "sessionFactory" class = "org.springframework.orm.hibernate3.LocalSessionFactoryBean" >< property name = "dataSource" >< ref bean = "dataSource" />property >......bean >其中dataSource 属性实际上更准确地说应当是 defaultDataSource ,即 spring 启动时以及在客户没有指定数据源时应当指定的默认数据源。
该方案的优势
首 先,这个方案完全是在 spring 的框架下解决的,数据源依然配置在 spring 的配置文件中, sessionFactory依然去配置它 的 dataSource 属性,它甚至都不知道 dataSource 的改变。唯一不同的是在真正的 dataSource 与 sessionFactory 之间增加了一个 MultiDataSource 。
其 次,实现简单,易于维护。这个方案虽然我说了这么多东西,其实都是分析,真正需要我们写的代码就只有 MultiDataSource 、 SpObserver 两个类。 MultiDataSource 类真正要写的只 有 getDataSource() 和getDataSource(sp) 两个方法,而 SpObserver 类更简单了。实现越简单,出错的可能 就越小,维护性就越高。
最 后,这个方案可以使单数据源与多数据源兼容。这个方案完全不影响 BUS 和 DAO 的编写。如果我们的项目在开始之初是单数据源的情况下开发,随着项 目的进行,需要变更为多数据源,则只需要修改 spring 配置,并少量修改 MVC 层以便在请求中写入需要的数据源名,变更就完成了。如果我们的项 目希望改回单数据源,则只需要简单修改配置文件。这样,为我们的项目将增加更多的弹性。
序号 | 链接地址 |
---|---|
1 | java面试题:Redis常见面试题(实际面试有被问到) |
2 | java面试题:Spring核心面试题(必须理解背诵) |
3 | java面试题:集合常见面试题 |
4 | java面试题:MQ、RabbitMQ面试题(面试必问,精华版) |
5 | java面试题:Mysql常见面试题 |
6 | java面试题:线程、线程池、锁常见的15道面试题 |
7 | java面试题:jvm常见的5道面试题 |
8 | java面试题:自定义注解常见面试题 |
9 | java面试题:单例模式5道常见面试题 |
10 | java面试题:Nacos常见面试题 |
11 | java面试题:Elasticsearch面试突击 |
12 | java面试题:springboot常见面试题(一) |
13 | Java面试题:SpringBoot常见面试题(二) |
14 | java面试题:HTTP的常见状态码(实际面试有被问到) |
15 | java面试题:常见项目真实面试题(实际面试被问到) |
16 | java面试题:项目常见面试题(单点登录、购物车) |
17 | java面试题:适用于2-5年后端开发面试(一) |
18 | java面试题:适用于2-5年后端开发面试(二) |
19 | java面试题:适用于2-5年后端开发面试(三) |
20 | java面试题:2-5年后端开发常见面试题(四) |
21 | java面试题:2-5年经验后端开发面试记录(五) |
22 | java面试题——2-5年后端开发常见面试题(六) |