当前位置: 首页 > news >正文

2021国内知名大厂Java岗面经,面试总结+详细解答!

前言

Dubbo用起来就和EJB、WebService差不多,调用一个远程的服务(或者JavaBean)的时候在本地有一个接口,就像调用本地的方法一样去调用,它底层帮你实现好你的方法参数传输和远程服务运行结果传回之后的返回,就是RPC的一种封装
当然,这个只是Dubbo的最基本的功能,它的特点是:

  • 它主要是使用高效的网络框架和序列化框架,让分布式服务之间调用效率更高。
  • 采用注册中心管理众多的服务接口地址,当你想调用服务的时候只需要跟注册中心询问即可,不用像使用WebService一样每个服务都得记录好接口调用方式。
  • 监控中心:实现对服务方和调用方之间运行状态的监控,还能控制服务的优先级、权限、权重、上下线等,让整个庞大的分布式服务系统的维护和治理比较方便。
  • 高可用:有个服务宕机了?注册中心就会从服务列表去掉该节点。还是调用到了?客户端会向注册中心请求另一台可用的服务节点重新调用。注册中心宕机?注册中心也能实现高可用(ZooKeeper)。
  • 负载均衡:采用软负载均衡算法实现对多个相同服务的节点的请求负载均衡。

相信不少去面试阿里的朋友都有被面试官问到了Dubbo的相关问题,小编在这里将阿里面试官问的最频繁的那些Dubbo面试题整理了出来,以供大家参考

NameServer的部署

关于NameServer,我们之前的文章已经详细讲解过了集群化的内容,这里直接把它部署到三台机器上,作为一个高可用集群

Broker的部署

Broker的部署我们之前也有讲到过,主要使用的是4.5版本后的Dledger自动化切换主从的集群

Broker与NameServer之间的通信协议是什么呢?http、rpc还是tcp呢?

其实它们之间采用的是TCP长连接通信,也就是说Broker会跟每个NameServer建立TCP长连接,然后定时通过TCP长连接发送心跳请求过去。

访问MQ的系统(生产者和消费者)的部署

一定会有大量的系统访问RocketMQ,因为RocketMQ就是为此而生的,有些系统自己本身既是生产者又是消费者,所以这些系统的部署也要考虑进去。

对这些系统部署的考虑,其实不应该是搞MQ的部门来考虑的,如果系统本身是自己公司的,可以提出一些建议,让生产者和消费者都集群化部署,保证高可用。但如果是第三方系统,那就无法插手了,我们能做到的只有考虑第三方系统崩溃,无法与MQ正常通信的情况下,如何让MQ正常运转。

Topic是什么

Topic是mq的核心数据模型,如果直接翻译是主题的意思,但是听到主题的解释,是不是一脸懵逼,是不是瞬间想到的是手机主题,电脑主题。

所以它不能直译,它表达的就是一个数据集合的含义,集合的是同一类的数据,不同类型的数据存到不同的Topic中。

所以系统无论是要写入消息还是读取数据,最开始都是要先定义Topic的,然后再从定义的Topic中获取同类型的数据。

那么Topic是如何在Broker中存储的呢?

存储的方式其实就是分布式存储。我们在定义Topic的时候指定它里面的数据分布到多台的Broker上进行存储,这里要注意的一点是,实际上分布的对象是MasterBroker,SlaveBroker会向MasterBroker拉取数据,作为一个副本存在。而Broker在向NameServer发送心跳的时候,会把Topic存储在哪些Broker中的信息告诉NameServer。

生产者如何发送消息给Broker

前边我们聊过,发送消息前首先是定义Topic,然后发送消息的时候是要指定你要发送到哪个Topic中去的。

既然我们知道了要发送到哪个Topic中,下一步就是要定位Topic的位置,如何定位呢?就是与NameServer建立Tcp长连接,定时拉取注册信息,可以获取到这个Topic目前被分配到哪些Broker中。然后就可以根据负载均衡算法,选定一台Broker(具体的负载均衡算法后边文章再介绍)。

选定了Broker后,就可以再与Broker建立Tcp长连接,通过Tcp长连接发送消息给Broker中的Topic。

而Broker在接收到消息后,就会把消息存储到磁盘中,再往后就是SlaveBroker与MasterBroker数据同步,形成副本,保证高可用了。

整个过程就是这样的。

消费者如何从Broker上消费消息

说完了生产者发送消息的过程,我们再来聊聊消费者消费消息的过程。

其实消费者消费消息的过程和生产者是类似的,同样第一步也是定义Topic,然后从NameServer获取信息,定位到Topic所在的多个Broker,之后负载均衡定位到要访问的Broker,与Broker建立连接获取消息。

这里唯一不同的就是,再获取消息的时候是可能在MasterBroker上获取的,也可能在SlaveBroker上获取,要依据当时的情况而定。

整体架构总结

最后我们再来看一看这套架构,是可以实现完全的高可用的。

NameServer集群化部署,Broker集群化部署,还可以通过Dledger自动化切换主从,生产者消费者也是集群部署,随便挂了一台不受影响。

而且这套架构也不怕高并发,高并发下的消息可以分布到多个Broker下处理,减少系统压力。

然后我们的集群可以存储海量的消息,因为存储方式是分布式存储的。

最后,这套架构是具有可扩展性的,如果业务需求并发量增大,也是可以扩展Broker的数量以支持更高的并发和更大的存储的。

这样我们的RocketMQ的生产部署架构就算完成了。

好了,今天就说到这里,欢迎小伙伴们一起走入消息中间件的世界。

总结

大型分布式系统犹如一个生命,系统中各个服务犹如骨骼,其中的数据犹如血液,而Kafka犹如经络,串联整个系统。这份Kafka源码笔记通过大量的设计图展示、代码分析、示例分享,把Kafka的实现脉络展示在读者面前,帮助读者更好地研读Kafka代码。

需要免费领取这份Kafka源码笔记的铁汁们,麻烦帮忙转发一下这篇文章+关注我,然后戳这里免费获取!

fka源码笔记的铁汁们,麻烦帮忙转发一下这篇文章+关注我,然后戳这里免费获取!**

就这一次!拼多多内部架构师培训Kafka源码笔记(现已绝版)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-3045.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

LeetCode每日一题 - 有多少小于当前数字的数字

题目&#xff1a; 给你一个数组 nums&#xff0c;对于其中每个元素 nums[i]&#xff0c;请你统计数组中比它小的所有数字的数目。 换而言之&#xff0c;对于每个 nums[i] 你必须计算出有效的 j 的数量&#xff0c;其中 j 满足 j ! i 且 nums[j] < nums[i] 。 以数组形式返回…...

用Python爬取彼岸图网图片

用Python爬取彼岸图网图片 *使用了 四个模块 import time import requests from lxml import etree import os 没有的话自行百度安装。 #encoding utf-8 import time import requests from lxml import etree import os# http://www.netbian.com/ 爬虫 if __name__ __mai…...

02.xshell连不上虚拟机linux的解决办法

虚拟机使用的NAT模式&#xff0c;用Xshell一直连接不上虚拟机上的Linux&#xff0c;最后百度搜索之后&#xff0c;解决步骤如下&#xff1a; 1.在虚拟机里面输入ifconfig&#xff0c;查询虚拟机ip地址 2.打开网络连接&#xff0c;修改VMnet1 IP地址改为与虚拟机同一网段 比如…...

第k个数(快速选择)

算法思路 快速选择&#xff1a; 1.即任意选一个数&#xff0c;将数组划分为二。 2.最终根据该数所在的位置&#xff0c;即第&#xff1f;大&#xff0c;选择第k大的数字所在区间进行划分。 时间复杂度分析&#xff0c;第一次划分n,下一次划分期望n/2&#xff0c;n/4…累加和小…...

2021年茶艺师(中级)模拟考试及茶艺师(中级)模拟考试系统

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 茶艺师&#xff08;中级&#xff09;模拟考试是安全生产模拟考试一点通总题库中随机出的一套茶艺师&#xff08;中级&#xff09;模拟考试系统&#xff0c;在公众号安全生产模拟考试一点通上点击茶艺师&#xff08;中…...

yolov5 detect.py报错

新手求助 yolov5训练了自己的数据集后&#xff0c;test没问题&#xff0c;但是运行detect.py就报错了&#xff0c;一直找不到问题所在&#xff0c; 求大佬指点指点...

DEX 争霸战火升级,BabySwap 会否成为下一代黑马?

在 AMM机制大力推动下&#xff0c;DEX的群雄争霸比预想中来得要快且凶猛。伴随着诸如高盛等主流资本逐步认可DeFi 的意义&#xff0c;在真正的去中心化金融爆发的前夜&#xff0c;可以说谁抢占了DEX 红海的先机&#xff0c;谁就赢得了未来。 从早期以太坊的Uniswap和DoDo&…...

flutter 常用的第三方组件

引用文章链接&#xff1a; https://www.jianshu.com/p/a523e5f131b2 1、格式化日期时间组件&#xff1a;https://pub.dev/packages/date_format 2、日期选择组件&#xff1a;https://pub.dev/packages/flutter_cupertino_date_picker 3、轮播图组件&#xff1a;https://pub.…...

nginx隐藏x-real-ip头配置

实现隐藏X-Real-Ip头&#xff0c;可通过配置server{} proxy_set_header实现。 server { listen 10.10.98.10:8080 backlog20480; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_…...

8.文本处理(编码解码/文件操作)

本章主要从文本处理、系统监控、日志、FTP、邮件监控、微信监控等方面来介绍基础运维的相关知识。 8.1 文本处理 在日常的运维工作中一般都离不开与文本,如日志分析、编码转换、ETL加工等。本节从编码原理、文本操作、读写配置文件、解析XML等实用编程知识出发,希望能抛砖引…...

【vue】vue3学习笔记(三)

接上篇 面包屑 安装path-to-regexpcomponent/breadcrumb/index <template><el-breadcrumb class"app-breadcrumb breadcrumb-container" separator"/"><el-breadcrumb-item v-for"(item, index) in levelList" :key"item…...

MVC三层架构

什么是MVC&#xff1a; Model view Controller 模型、视图、控制器 1.以前的架构模型 用户直接访问控制层&#xff0c;控制层就可以直接操作数据库&#xff1b; servlet--CRUD-->数据库 弊端&#xff1a;程序十分臃肿&#xff0c;不利于维护 servlet的代码中&#xff1a…...

zookeeper--一致性协议 ZAB

一、简介 ZAB 协议全称&#xff1a;Zookeeper Atomic Broadcast&#xff08;Zookeeper 原子广播协议&#xff09;。 是一个为分布式应用提供高效且可靠的分布式协调服务。在解决分布式一致性方面&#xff0c;Zookeeper 并没有使用 Paxos &#xff0c;而是采用了 ZAB 协议。 Z…...

Android面试回忆录:帮助程序员提高核心竞争力的30条建议,真香!

**新技术层出不穷&#xff0c;去年kotlin到如今Flutter&#xff0c;技术迭代&#xff0c;你是否会变得固步自封&#xff1f;**那么看本篇文章帮你解决问题&#xff0c;让你知道怎么样学习&#xff0c;学习那些技术点才能不被时代的迭代快速淘汰&#xff01; 首先&#xff0c;先…...

2021-05-30解决centos+宝塔面板,FTP传输421 Too many connections问题错误

解决centos宝塔面板&#xff0c;FTP传输421 Too many connections”问题错误 1、首先连入服务器 在/www/server/pure-ftpd/etc下&#xff0c;找到pure-ftpd.conf 2、vim pure-ftpd.conf 没有vim的&#xff0c;用其他编辑软件也可以 3、找到 #Maximum number of sim clients wit…...

RK3399 DDR频率修改

RK3399 DDR频率修改 一、DDR当前频率获取与可调节范围 1、获取当前DDR频率、可调值、容量 cat /sys/class/devfreq/dmc/cur_freq2、查看DDR频率可调节的值 cat /sys/class/devfreq/dmc/available_frequencies3、获取DDR容量 cat /proc/meminfo二、DDR测试定频 1、因为RK3…...

javascript正则表达式常用合集

javascript正则表达式常用的合集 参考网址 {n}: n 是一个正整数&#xff0c;匹配了前面一个字符刚好出现了 n 次 {n,}: n是一个正整数&#xff0c;匹配前一个字符至少出现了n次 {n,m}: n 和 m 都是整数。匹配前面的字符至少n次&#xff0c;最多m次。如果 n 或者 m 的值是0&…...

qApp加载qss技巧

使用Qt加载qss样式&#xff0c;一般操作是读取文件&#xff0c;通过setStyleSheet设置 但是qApp只需如下&#xff1a; qApp->setStyleSheet("file:///:/test.qss");//只适用于qApp...

发现一款好用到爆的数据库工具 - DataGrip(就是耗内存)

作者&#xff1a;Atzuge cnblogs.com/zuge/p/7397255.html 最近看到一款数据库客户端工具&#xff0c;DataGrip&#xff0c;是大名鼎鼎的JetBrains公司出品的&#xff0c;就是那个出品Intellij IDEA的公司。 - 就是耗内存 DataGrip是一款数据库管理客户端工具&#xff0c;方便…...

Java 类加载器(ClassLoader)的实际使用场景有哪些?

什么是classloader classloader顾名思义&#xff0c;即是类加载。虚拟机把描述类的数据从class字节码文件加载到内存&#xff0c;并对数据进行检验、转换解析和初始化&#xff0c;最终形成可以被虚拟机直接使用的Java类型&#xff0c;这就是虚拟机的类加载机制。了解java的类加…...

ArrayBlockingQueue源码解读

...

2021Java春招面试经历,年薪50W

开头 设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。在项目中合理地运用设计模式可以完美地解决很多问题&#xff0c;每种模式在现实中都有相应的原理来与之对应&…...

HttpClient请求Https证书问题解决

本地使用HttpClient请求https时没有问题&#xff0c;但是放到服务器上&#xff0c;运行出现报错&#xff0c;出现异常为&#xff1a; javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.ce…...

1200页文档笔记,你值得拥有

前言 在学习Java基础的过程中&#xff0c;泛型绝对算得上是一个比较难理解的知识点&#xff0c;尤其对于初学者而言&#xff0c;而且就算是已经有基础的Java程序员&#xff0c;可能对泛型的理解也不是那么透彻&#xff0c;属于那种看了明白&#xff0c;时间长了就忘的那种&…...

ERROR:connect ETIMEDOUT

解决 npm config set registry https://registry.npm.taobao.org...

Django+MySQL问题 启动server报错

问题&#xff1a; File “D:\Python36\lib\site-packages\django\db\models\query.py”, line 122, in iter for row in compiler.results_iter(): File “D:\Python36\lib\site-packages\django\db\models\sql\compiler.py”, line 828, in results_iter results self.execu…...

PMP中的ITTO

pmp中的ITTO是指 input tool technology output 即输入输出工具技术...

无人机控制算法验证与数据集收集

随着我国低空空域开放步伐的加快以及传感器、自动控制、计算机等技术领域的发展&#xff0c;近几年微小型无人机得到了快速的发展。旋翼无人机作为无人机家族中的重要成员&#xff0c;由于其具有空中悬停、垂直起降、贴地飞行等独特的飞行特性&#xff0c;更是成为国内外大学和…...

02.xshell连不上虚拟机linux的解决办法

虚拟机使用的NAT模式&#xff0c;用Xshell一直连接不上虚拟机上的Linux&#xff0c;最后百度搜索之后&#xff0c;解决步骤如下&#xff1a; 1.在虚拟机里面输入ifconfig&#xff0c;查询虚拟机ip地址 2.打开网络连接&#xff0c;修改VMnet1 IP地址改为与虚拟机同一网段 比如…...

chapter5 关联式容器:hashtable相关

目录1 hashtable1.1 概述1.1.1 线性探测1.1.2 二次探测1.1.3 开链1.2 hashtable的buckets和nodes1.3 hashtable的迭代器1.4 hashtable的数据结构1.5 hashtable的构造与内存管理1.5.1 插入与表格重整1.5.2 判知元素的落脚处&#xff08;bkt_num&#xff09;1.5.3 复制和整体删除…...

ThinkPHP3函数详解之M方法和R方法

本文给大家介绍ThinkPHP3函数详解之M方法和R方法&#xff0c;M方法用于实例化一个基础模型类&#xff0c;而R方法用于调用某个控制器的操作方法。首先给大家介绍ThinkPHP函数详解&#xff1a;M方法M方法用于实例化一个基础模型类&#xff0c;和D方法的区别在于&#xff1a;1、不…...

Excel 里第 n 行第 m 列的表示方法

Excel 里第 n 行第 m 列的怎么表示&#xff1f; 行好办&#xff0c;直接看数字就好啦&#xff0c;列字母 A~Z 有 26 列&#xff0c;然后就是 AA&#xff0c;AB……。 如果 m<27 还可以掰着手指数一下&#xff0c;万一 m 超级大呢&#xff1f;有人说&#xff1a;简单啊&…...

硬件定义软件?还是,软件定义硬件?

文章目录**1 软件和硬件****1.1 软件和硬件的定义****1.2 “硬件定义软件”和“软件定义硬件”的定义****1.3 CPU&#xff0c;软件和硬件解耦****1.4 CPU的软硬件定义****2 硬件定义软件****2.1 系统从软件逐步到硬件****2.2 硬件架构决定了软件设计****2.2.1 ASIC的硬件定义**…...

详解TP3函数之M方法和R方法

本文给大家介绍ThinkPHP3函数详解之M方法和R方法&#xff0c;M方法用于实例化一个基础模型类&#xff0c;而R方法用于调用某个控制器的操作方法。首先给大家介绍ThinkPHP函数详解&#xff1a;M方法 M方法用于实例化一个基础模型类&#xff0c;和D方法的区别在于&#xff1a; 1、…...

1998年11月11日,马化腾和同学张志东正式注册——腾讯

1998年11月11日&#xff0c;马化腾和同学张志东在广东省深圳市正式注册成立“深圳市腾讯计算机系统有限公司”&#xff0c;之后许晨晔、陈一丹、曾李青相继加入。当时公司的业务是拓展无线网络寻呼系统&#xff0c;为寻呼台建立网上寻呼系统&#xff0c;这种针对企业或单位的软…...

科学为什么重要?马化腾公开信引热议,透露企业未来发展方向

来源&#xff1a;世界科技创新论坛摘要&#xff1a;美国强大的源泉&#xff0c;不是因为它有原子弹&#xff0c;航空母舰&#xff0c;隐性飞机&#xff0c;或者芯片&#xff0c;而在于它牢牢地掌握着基础科学的最前沿。科学一点都马虎不得&#xff0c;没有捷径可走&#xff0c;…...

PMP每日一练 | 考试不迷路-11.30(包含敏捷+多选)

被延期考试的宝子 一定要坚持刷题 每日5道PMP习题助大家上岸PMP&#xff01; ​题目1-2&#xff1a; ​1.项目经理正在与新的质量经理一起完成质量管理计划。质量经理建议使用一个项目经理不熟悉的昂贵的质量工具。项目经理说有更便宜的替代品&#xff0c;但质量经理坚持认…...

用计算机来按数字然后唱欧若拉,清纯张绍函出席 联想代言人献唱欧若拉

12月6日晚&#xff0c;联想集团在深圳世界之窗召开了一场盛大的消费PC新产品暨数字家庭策略发布会。当然了主角是联想第一款完全面向数字家庭的新产品——数字娱乐中心。12月6日晚&#xff0c;联想集团在深圳世界之窗召开了一场盛大的消费PC新产品暨数字家庭策略发布会。当然了…...

联想计算机农村,联想推1499元农村电脑

新浪科技讯 8月2日下午消息&#xff0c;联想今日下午发布新农村战略。作为三年前“圆梦计划”的延续&#xff0c;联想此次推出的农村战略将更加深入。除了可能采用“刷墙”等宣传方式&#xff0c;联想还推出了一款价格低至1499元的农村电脑。据消息人士透露&#xff0c;该款149…...

c语言函数及程序结构实验步骤,C语言函数与程序结构实验

C 语言程序设计实验报告语言程序设计实验报告 专业 计算机科学与技术计算机科学与技术 班级 ACM 班班日期 2011 年年 12 月月 15 日日成绩 实验组别 6 第 次实验 4 指导老师 卢萍 学生姓名 陈绍鹏 学号 U201114349 同组人姓名 实验名称 实验名称 函数与程序结构实验函数与程序结…...

柳传志:农业和IT对联想同等重要 蓝莓是突破口

6月8日&#xff0c;2013青岛国际蓝莓节暨中国国际蓝莓大会在青岛召开。作为东道主之一的联想控股董事长柳传志表示&#xff0c;联想做农业是下了大决心的&#xff0c;强调农业板块和IT对于联想控股同等重要&#xff0c;并透露蓝莓只是其农业布局的突破口&#xff0c;将来会“寻…...

战略重组:联想的焦灼与希望

“谢谢你的鼓励与支持。”陈绍鹏如是回复《第一财经日报》记者的短信。临危上阵的陈绍鹏一直在开会。昨天《第一财经日报》从联想大中华区一位高管处确认&#xff0c;联想集团今日将正式宣布重组消息&#xff0c;即联想亚太区将与联想大中华区、俄罗斯区合并为一个“亚太及俄罗…...

柳传志:我是这样做企业的

在联想有“复盘”的说法。这是围棋的术语&#xff0c;在这就是总结的意思&#xff0c;重新审视我们的工作&#xff0c;目的是 什么&#xff0c;采取了哪些方式方法&#xff0c;当时的内外部环境是什么&#xff0c;边界条件是什么&#xff0c;其中的必然因素和偶然因素是什么等等…...

当人们流行“炮轰”联想时:没想到的联想

如果你看懂了联想&#xff0c;你就看懂了中国IT企业。如果你了解联想的过去&#xff0c;就一定理解联想的今天。生于忧患&#xff0c;死于安乐。联想的忧患意识使她日渐成熟。今天的业绩表明&#xff0c;联想还是一个好公司&#xff0c;她依然强大&#xff0c;依然生气勃勃。从…...

下一个大势:新兴市场的“中国化”

小事凭“是”&#xff0c;大事凭“势”。小事只要做对了就行&#xff0c;而要成就大事&#xff0c;非得借势不可。 电子产业从模拟向数字技术的大转移&#xff0c;造就了三星和LG。“电信的黄金十年”成就了Nokia&#xff0c;也铸就了华为的辉煌。而全球制造业的大迁徙&#xf…...

李彦宏在北大2008本科生毕业典礼上的发言

尊敬的闵书记、许校长&#xff0c;各位老师&#xff0c;各位家长&#xff0c;亲爱的学弟学妹们&#xff0c;大家上午好。 今天&#xff0c;站在各位同学毕业典礼的讲台上&#xff0c;我最大的感受就是觉得非常的荣幸&#xff0c;在各位生命中最值得纪念的时刻与你们在一起&…...

李彦宏在北大2008本科生毕业典礼上的发言(图)

http://blog.csdn.net/ackarlix/article/details/3207931 李彦宏在北大2008本科生毕业典礼上的发言(图) 尊敬的闵书记、许校长&#xff0c;各位老师&#xff0c;各位家长&#xff0c;亲爱的学弟学妹们&#xff0c;大家上午好。 今天&#xff0c;站在各位同学毕业典礼的讲台…...

柳传志:如果一味保护国产 行业就没法弄

加入WTO10年&#xff0c;国内各行各业的经济图景都被或多或少地改写&#xff0c;IT业或许算得上冲击最大的一个行业之一。入世前&#xff0c;国外品牌电脑要进入中国&#xff0c;需要缴纳超过100%的关税&#xff0c;还要有政府批条&#xff1b;而在入世之后&#xff0c;惠普、戴…...

联想业务调整:Think重回高端 刘军重掌核心业务

刘军在此次调整中重掌了联想核心业务&#xff0c;距离联想接班人的位置又近了一步&#xff0c;若能将Lenovo集团的业务迅速提升&#xff0c;那么很有可能在未来接过杨元庆目前兼任的CEO职位。 转播到腾讯微博联想三大管理层&#xff1a;从右至左依次为Lenovo业务负责人刘军、联…...

致敬柳传志三网合一的佳沃品牌之路

昨天&#xff0c;柳传志正式宣布卸任联想控股第二届董事会董事长、执行董事及提名委员会主席职务&#xff0c;2020年1月1日正式生效。 历经35年纵横驰骋&#xff0c;按照柳青的话说&#xff0c;柳传志光荣退休了&#xff01; 功成身退&#xff0c;但思想依然在闪光。对于小米…...