什么是分布式锁?在回答这个问题之前,我们先回答一下什么是锁。
普通的锁,即在单机多线程环境下,当多个线程需要访问同一个变量或代码片段时,被访问的变量或代码片段叫做临界区域,我们需要控制线程一个一个的顺序执行,否则会出现并发问题。
如何控制呢?就是设置一个各个线程都能看的见的标志。然后,每个线程想访问临界区域时,都要先查看标志,如果标志没有被占用,则说明目前没有线程在访问临界区域。如果标志被占用了,则说明目前有线程正在访问临界区域,则当前线程需要等待。
这个标志,就是锁。
在单机多线程的java程序中,我们可以使用堆内存中的变量作为标志,因为多线程是共享堆内存的,堆内存中的变量对于各个线程都是可见的。
正文
1、什么是微服务?(暗藏杀机)
2、什么是微服务扩展性和高可用-可扩展性、高可用性和性能
3、架构师在微服务架构中的角色是什么?
决定整个软件系统的布局。 帮助确定组件的分区。 为开发微服务的团队提供某些工具和技术的建议。 提供技术治理,以便技术开发团队遵循微服务原则。
4、什么是 CI 持续集成
5、什么是Canary Releasing?说说你在项目中的应用
一种降低在生产中引入新软件版本的风险的技术,通过将变更缓慢地推广到一小部分用户,然后将其发布到整个基础架构。浅谈下你在项目中引进的新技术之类的。但切记不可多言。
6、springboot实现拦截器
7、如何使用Spring Boot实现异常处理?
8、Web,RESTful API在微服务中的作用是什么?
9、什么是消费者驱动的合同(CDC)?
10、从微服务到微服务测试
11、什么是OAuth?
12、什么是客户证书?
13、什么是有界上下文
14、微服务项目的设计要点
15、Spring Cloud解决了哪些问题?
与分布式系统相关的复杂性 – 包括网络问题,延迟开销,带宽问题,安全问题。处理服务发现的能力 – 服务发现允许集群中的进程和服务找到彼此并进行通信。解决冗余问题 – 冗余问题经常发生在分布式系统中。负载平衡 – 改进跨多个计算资源(例如计算机集群,网络链接,中央处理单元)的工作负载分布。减少性能问题 – 减少因各种操作开销导致的性能问题。
16、什么是Spring Cloud?
17、什么是Spring引导的执行器?
18、微服务架构如何进行解耦?
19、为什么需要域驱动设计(DDD)?
20、微服务之间是如何独立通讯的?
21、Spring 和 SpringBoot 有什么不同?
22、SpringBoot starter 作用在什么地方?
23、怎么禁用某些自动配置特性?
《一线大厂Java面试真题解析+Java核心总结学习笔记+最新全套讲解视频+实战项目源码》开源
Java开发优秀开源项目:
-
ali1024.coding.net/public/P7/Java/git
- github.com/spring-projects
独家面经总结,超级精彩
本人面试腾讯,阿里,百度等企业总结下来的面试经历,都是真实的,分享给大家!
Java面试准备
准确的说这里又分为两部分:
- Java刷题
- 算法刷题
Java刷题:此份文档详细记录了千道面试题与详解;