温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

架构师必备之常见面试题整理——高性能三十问!

发布时间:2020-03-14 23:01:50 来源:网络 阅读:625 作者:wx5d9ed7c8443c3 栏目:编程语言

架构师必备之常见面试题整理——高性能三十问!cdn.xitu.io/2020/2/25/1707c8c7610dba93?w=1200&h=720&f=png&s=1062448">

分布式架构(一)

大型互联网架构演进过程,架构师应具备的分布式知识,主流分布式架构设计详解

分布式系统

分布式系统是一个由硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统。其拥有如下特点

  1. 分布性
  2. 对等性
  3. 并发性
  4. 缺乏全局时钟
  5. 故障总是会发生

(开心一笑)

架构师必备之常见面试题整理——高性能三十问!

分布式协调和分流(二)

Zookeeper分布式环境指挥官,Nginx高并发分流进阶实战

应用场景

Zookeeper的功能很强大,应用场景很多,结合我实际工作中使用Dubbo框架的情况,Zookeeper主要是做注册中心用。

基于Dubbo框架开发的提供者、消费者都向Zookeeper注册自己的URL,消费者还能拿到并订阅提供者的注册URL,以便在后续程序的执行中去调用提供者。而提供者发生了变动,也会通过Zookeeper向订阅的消费者发送通知。

Zookeeper有哪几种节点类型

持久节点(PERSISTENT)

所谓持久节点,是指在节点创建后,就一直存在,直到有删除操作来主动清除这个节点——不会因为创建该节点的客户端会话失效而消失。

持久顺序节点(PERSISTENT_SEQUENTIAL)

这类节点的基本特性和上面的节点类型是一致的。额外的特性是,在ZK中,每个父节点会为他的第一级子节点维护一份时序,会记录每个子节点创建的先后顺序。基于这个特性,在创建子节点的时候,可以设置这个属性,那么在创建节点过程中,ZK会自动为给定节点名加上一个数字后缀,作为新的节点名。这个数字后缀的范围是整型的最大值。

临时节点(EPHEMERAL)

和持久节点不同的是,临时节点的生命周期和客户端会话绑定。也就是说,如果客户端会话失效,那么这个节点就会自动被清除掉。注意,这里提到的是会话失效,而非连接断开。另外,在临时节点下面不能创建子节点。

临时顺序节点(EPHEMERAL_SEQUENTIAL)

可以用来实现分布式锁

架构师必备之常见面试题整理——高性能三十问!

高性能缓存和NoSQL面试题(三)

Redis高性能缓存数据库,Memcached进阶实战,高性能缓存开发实战,MongoDB进阶实战

(1)Memcached服务在企业集群架构中应用场景

(2)Memcached服务在不同企业业务应用场景中的工作流程

(3)Memcached服务分布式集群如何实现?

(4)Memcached服务特点及工作原理是什么?

(5)简述Memcached内存管理机制原理?

(6)MySQL的delete与truncate区别?

(7)Redis常见的性能问题怎么解决?

(8)Redis与memcached有什么区别?

(9)Redis有哪些数据结构?

(10)Redis持久化方案区别以及优缺点?

(11)如何来维护集群之间的关系,或者说集群之间如何建立连接?

(12)在项目中缓存是如何使用的?缓存如果使用不当会造成什么后果?

(13)redis和memcached有什么区别?redis的线程模型是什么?为什么单线程的redis比多线程的memcached效率要高得多?

(14)redis都有哪些数据类型?分别在哪些场景下使用比较合适?

(15)redis的过期策略都有哪些?手写一下LRU代码实现?

异步与消息中间件面试题(四)

RabbitMq消息中间件,ActiveMq消息中间件,kafka百万级吞实战

(1)如何确保消息正确地发送至RabbitMQ?

(2) 如何确保消息接收方消费了消息?

(3) 如何避免消息重复投递或重复消费?

(4)使用RabbitMQ有什么好处?

(5)如何在activemq.xml里面配置消息队列的大小,来保证队列不会溢出?

(6)如何保证消息队列的高可用啊?

(7)如何保证消息不被重复消费啊(如何进行消息队列的幂等性问题)?

(8)如何保证消息的可靠性传输(如何处理消息丢失的问题)?

(9)如何保证消息的顺序性?

(10)如何解决消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理?有几百万消息持续积压几小时,说说怎么解决?

(11)如果让你写一个消息队列,该如何进行架构设计啊?说一下你的思路

(12)为什么使用消息队列啊?消息队列有什么优点和缺点啊?

(13)kafka、activemq、rabbitmq、rocketmq都有什么优点和缺点啊?

请说明Kafka相对传统技术有什么优势?

(14)在Kafka中broker的意义是什么?

(15)Kafka服务器能接收到的最大信息是多少?

需要面试题汇总可关注我的公众号【风平浪静如码】领取!

附:高性能架构学习路线导图

架构师必备之常见面试题整理——高性能三十问!

写在最后:

欢迎大家关注我新开通的公众号【风平浪静如码】,海量Java相关文章,学习资料都会在里面更新,整理的资料也会放在里面。

觉得写的还不错的就点个赞,加个关注呗!点关注,不迷路,持续更新!!!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI