什么是分布式系统,如何学习分布式系统?深度解析,值得收藏
Posted Java德克士
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是分布式系统,如何学习分布式系统?深度解析,值得收藏相关的知识,希望对你有一定的参考价值。
说明
Java生鲜电商平台中由于采用了微服务架构进行业务的处理,买家,卖家,配送,销售,供应商等进行服务化,但是不可避免存在分布式事务的问题。
业界有很多的解决方案,对此我相信大家都百度一下子就有很多,但是我巨人大哥想说的是:微服务架构中应当尽量避免分布式事务。
下面就是来讨论下,分布式事务中主要聚焦于强一致性和最终一致性的解决方案。
一面(基础面:大约60分钟)
- 自我介绍
- 对象相等的判断,equals方法实现。Hashcode的作用,与 equal 有什么区别?
- Java中CAS算法?
- G1回收器讲一下?
- HashMap,ConcurrentHashMap与LinkedHashMap的区别
- 如何在多线程环境下使用Map,ConcurrentHashMap原理,ConcurrentHashMap如何加锁。
- 多线程并发的同步实现,有两个方法,每个方法里有a部分代码和b部分代码,我要让两个线程分别执行两个方法,并且让他们运行完a部分代码再一起向下执行,如何实现。
- TCP连接中的三次握手和四次挥手,四次挥手的最后一个ack的作用是什么,为什么要time wait,为什么是2msl。
- aio,nio,bio的了解
- ReetrantLock和synchronized的区别。
- Java有哪些悲观锁的实现?
- Java有哪些类实现了乐观锁?
二面(二面就死抓多线程问)
- 线程池有哪些参数?分别有什么用?如果任务数超过的核心线程数,会发生什么?阻塞队列大小是多少?
- 数据库连接池介绍下,底层实现说下
- hashset底层实现,hashmap的put操作过程
- 说说HaspMap底层原理?再说说它跟HaspTable和ConcurrentHashMap他们之间的相同点和不同点?
- 说说B+树和B树的区别,优缺点等?
- 算法题,对一个链表进行归并排序,链表可能有环
- 怎么实现一个线程安全的计数器?
- 原子类AtomicInteger实现原理是什么?和你设计的计数器优劣比较?CAS怎么实现原子操作的?
- Java中的锁有什么?synchronized与Lock的区别?公平锁和非公平底层怎么实现的?AQS原理详细介绍一下?
- 你在项目中一般怎么调优JVM的呢?
- 说一下GC吧,什么时候进行Full GC呢?
- 你了解哪些收集器?CMS和G1。详细谈谈G1的优点
三面(Redis和mysql也要掌握,面试也是必问**)**
- 了解哪些排序算法,讲讲复杂度
- 手撕归并排序
- Redis有哪些数据结构?底层的编码有哪些?有序链表采用了哪些不同的编码?
- redis的hash数据结构最多能存储多少个元素
- 自己如何实现RPC?
- mysql默认存储引擎?MyISAM、InnoDB、MEMORY的区别
- 什么是幻读,如何解决
- 事务隔离级别有什么?通过什么来实现的?分别解决了什么问题?
- 乐观锁与悲观锁的使用场景
四面(这里问的技术问题就较多了 分布式架构 dubbo spring cloudKafka 数据库)
- 介绍对你技术能力帮助最大的项目,重点讲架构设计思路
- 分布式全局唯一ID怎样来实现?
- dubbo的生产者如何发布服务,注册服务,消费者如何调用服务?
- dubbo负载均衡的策略有哪些?一致性哈希详细聊一下?
- 分布式session如何实现的
- 微服务你的理解?以及常用的微服务方案dubbo、spring cloud的比较?
- Kafka怎么保证数据可靠性?
- 数据库主从同步数据一致性如何解决?技术方案的优劣势比较?
- 分布式锁的实现方式你知道有哪些?主流的解决方案是什么?
- Spring两大特性?AOP和IOC
- Spring的初始化过程?Spring bean的生命周期?
- 多个RPC请求进来,服务器怎么处理并发呢?
HR面(见招拆招)
常规问题为主
遇到什么挫折
这种问题主要考察面试者遇见困难是否能坚持下去,并且可以看出他的解决问题的能力。
可以简单描述挫折,并说明自己如何克服,最终有哪些收获。
职业规划
表明自己决心,首先自己不准备继续求学了,必须招工作了。然后说下自己不会短期内换行业,或者换工作,自己比较喜欢,希望可以坚持几年看自己的兴趣再规划之类的。
对阿里的认识
这个比较简答,夸就行了。
有什么崇拜的人吗
我说了詹姆斯哈登,hr小姐姐居然笑了。这个可以说一些IT大牛。
希望去哪里就业
这个问题果断回答该公司所在的城市啊。
其他问题
有什么兴趣爱好,能拿得上台表演的有吗 记忆深刻的事情
读者福利
分享一份自己整理好的Java面试手册,还有一些面试题pdf
不要停下自己学习的脚步
不要停下自己学习的脚步
[外链图片转存中…(img-ipwBdimf-1620707151025)]
[外链图片转存中…(img-EhNzlFlh-1620707151027)]
以上是关于什么是分布式系统,如何学习分布式系统?深度解析,值得收藏的主要内容,如果未能解决你的问题,请参考以下文章
TensorFlow机器学习:如何正确的掌握Google深度学习框架TensorFlow(第二代分布式机器学习系统)?
深度解析Google第二代深度学习引擎TensorFlow开源(CMU邢波独家点评白皮书全文视频翻译)