提交 0bb6c466 编写于 作者: 沉默王二's avatar 沉默王二 💬

面渣逆袭 rocketmq

上级 8bb3e0f1
---
title: 晋升 P7 了
shortTitle: 晋升 P7 了
description: 如何才能达到阿里 P7 水平,技术、业务和软技能,三者缺一不可,本文告诉你如何卷!
author: 楼仔
category:
- 微信公众号
head:
- - meta
- name: description
content: 如何才能达到阿里 P7 水平,技术、业务和软技能,三者缺一不可,本文告诉你如何卷!
---
大家好,我是楼仔!
前几天二哥找我,问我阿里 P7 是怎样的水平,在面试中如何才能拿到阿里 P7 的职级。
![](http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/nice-article/weixin-jinspl-f198aac8-6ec8-4cba-9491-17e5c3bb934b.jpg)
二哥是我兄弟,他的要求,那必须满足。
![](http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/nice-article/weixin-jinspl-0908da2e-4e77-4b0f-9db3-5a08a051d33f.jpg)
下面我们就从**阿里的职级体系、P7 薪资、P7 能力栈、如何才能达到 P7 水平**,全面给大家剖析。
## 阿里 P7 有多香?
大家谈到阿里 P7,第一反应可能就是年薪百万,我们先看一下阿里的职级体系。
![](http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/nice-article/weixin-jinspl-e90b700d-0b0f-4002-9280-2a316fe63f79.jpg)
P7 一般薪水在 70-100 万之间,超过 100 万的屈指可数,除非你是阿里 5 年以上的老 P7,薪资构成包括现金和股票:
* 现金部分:大概的月薪应该是 35K-45K 左右,年薪在 50-60W 左右;
* 股票部分:平均每年能拿到 25 万左右,不过最近股票行情下跌,所以对这部分收入影响较大。
**所以一个新阿里 P7 的平均年收入是 80 W 左右**,如果是待了 5 年以上老 P7,妥妥年薪 100 万往上,这金钱的味道,真 TM 香!
![](http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/nice-article/weixin-jinspl-f241cc8c-425c-4000-bcf5-57140ebd3895.jpg)
既然聊 P6 到 P7 这道坎,我们先看一下两者的要求。
## 阿里 P6/P7 要求
P6(高级工程师,工作 3~5 年,团队核心)其实是熟练的执行者,单兵作战强,能按照上级分拆的任务高效完成;P6+ 表示已经具备非常熟练的任务执行能力,**但还稍微缺乏对于复杂项目的阅读能力与大局观。**
P7(技术专家,工作 5~10 年,团队核心 or TL)可能带人,也可能不带,取决于是业务导向还是技术导向,如果是技术导向,其专业方向在业界横向对比中要有较深见解,对困难的技术任务有较强的**攻坚能力**;如果是业务导向,则具备较好的团队正向影响力,能将中等规模的项目梳理与分解,**协调若干 P6 一起高效完成工作。**
假如我们接到一个紧急项目,需要在 1 个月时间内上线一个电商网站。
P6 的要求就是能独立完成某个业务模块的设计与实现,比如登录注册这样的用户模块,按时完成,不出致命 bug 并避免性能、安全、运维风险。
P7 的要求就是可以把整个电商各业务模块合理拆分和研发人力分工排期,并且考虑到可能的**性能、安全、运维**风险,也考虑到哪些模块可能有**项目进度**问题,hold 得住**业务需求评审**,能担当整个项目的技术 Owner,**沟通与协调**能力达标,能和产品、运营、设计、测试、运维等部门以共同步调去**拿结果**
简单来说,P7 就是在 P6 的基础上,除了**技术更过硬**,还需加上**团队管理能力、项目管理能力、业务意识能力。**
下面附上 P6 和 P7 的要求(仅供参考):
```
P6(高级工程师,工作 3~5 年,团队核心): - 公司:大厂工作经验/或者有一定知名度的公司; - 学校:985/211 加分项; - 专业技能:语言基础、使用过的技术框架和中间件,架构设计,技术选型; - 具备专业领域能力,深入的知识和技能,能够培训和教导初级员工; - 对自己所从事的职业具备一定前瞻性了了解; - 基于分析思考,有效执行,领导非跨部门项目; - 掌握分析解决问题的能力,主动协调资源,独⽴处理复杂问题,拿到有效结果。 P7(技术专家,工作 5~10 年,团队核心 or TL): - 公司:最好有大厂工作经验/或者有一定知名度的公司; - 学校:985/211 加分项; - 专业技能:语言基础、使用过的技术框架和中间件,架构设计,技术选型,架构认知; - 专业领域的丰富积累,具备专业影响力,是他人的咨询对象; - 在专业领域中,对公司内外及业界的相关资源及水平⽐较了解; - 基于分析思考,有效执行,领导跨部门项⽬,培养新员工; - 良好的分析解决问题的能力,有创新想法,能改进业务流程; - 团队协作中具备利他精神,能以积极正⾯的心态去影响团队; - ⾏业外或公司内培养周期较⻓。
```
## 如何能达到阿里 P7 ?
对于 P7 这个级别来说,需要的是综合能力的体现。
**技术能力**(广度、深度、领域)+ **业务能力**(懂行) + **管理能力**(带项目、管团队)+ **沟通协调**(会扯皮、会来事)+ 工作态度(皮实、肯加班)
![](http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/nice-article/weixin-jinspl-84b5a7fb-f645-44a1-9cbe-ee74653c60ff.jpg)
#### 1\. 技术
需要构建自己的**技术体系,有广度、有深度**,下能撸代码、改 Bug,上能**出方案、搞架构**
1)负责一个领域的技术,能定义该领域的核心问题,有思考规划能力和迭代演进,提供具有行业竞争力的技术方案落地,具备一定的技术深度和广度。
什么是技术体系,举个例子,你说自己会 MySQL 数据库,但是除了日常写 SQL 进行 CURD 的业务开发外,你还知道 MySQL 的运行架构、主流存储引擎的区别、主从同步、主从复制、锁机制、分表分库、事务控制,围绕着技术名称的中心点,能像蜘蛛网那样扩散出去,**形成有条理的网状结构,就形成了自己的技术体系。**
然后是技术广度 + 深度。
**广度**上要熟悉 MySQL、Redis、JVM 原理、并发编程、高并发、设计模式、Spring 全家桶系列、消息队列、分布式原理、配置中心、注册中心、微服务、RPC 等等,甚至还需要了解架构设计三原则(合适、简单和演化原则),DDD,CAP 理论,Docker,K8S 等等。
**深度**方面比如 JVM,各种垃圾收集算法得了解吧,遇到 outofmemory 、YGC、 FullGC,可以速度定位到问题吧。遇到某一个 SQL 忽然不走索引了,得能分析出具体什么原因吧。应用服务器 CPU Load 突然增长到原来的几十倍,你需要具备第一时间定位问题的能力。
2)跨 1 到 2 个技术栈开发和**方案设计能力**,具备良好的技术自驱力和业务思考力。了解整个系统,具备核心模块的编码能力,有很强的**分析和解决问题的能力**,是关键问题终结者。
这里其实主要体现对系统的方案设计上,具备多领域知识,我们解决问题的思路和办法会开阔很多,然后我们负责的系统所有的技术难题都可以快速解决,妥妥的扛把子!
3)能针对复杂问题和多样环境设计良好的技术架构,对于一类业务/技术问题具备良好的扩展性和鲁棒性,具备很强的数据分析意识。
这里就体现较强的**系统、架构设计能力**,比如抽象共性、化繁为简、模块和组件化等。小的来说,缓存集群挂了系统不会挂,立马故障转移;大的来说,一个机房挂了,照样不影响正常业务运转。
4)业务发展背后思考技术策略和洞察技术需求,形成对应的技术产品支撑系统,**驱动业务**的持续发展。
据我所知,绝大多数的公司技术都是支撑公司业务发展,技术驱动公司业务是极少数。
#### 2\. 业务
所有开发者都要记住一点,开发者具有双重的行业属性:软件行业属性和软件所要**解决的问题所属行业的属性。**
软件所要解决的问题,就是我们通常所说的业务,比如支付宝的业务是支付问题,京东商城的业务是电子商务问题。
精通业务,可以成为开发者的优势,这是开发者在问题域构建起来的优势,即所谓的**懂行**
如果业务积累方面的优势和开发技能方面的优势能叠加起来,那这位开发者,就具有秒杀 85% 以上开发者的能力。
P7 需要具备的业务技能:
* 具有协调多条业务的技术 PM 能力,有较强的技术整合能力,对负责业务上下游链路技术风险具备识别能力,**且能提供合理的满足各方诉求的总体解决方案,并且能拿到业务结果。**
* **有结构化思维和定义指标能力**,贴合业务大目标清晰地理解自己团队的定位和核心发力点,具有架构演进和规划落地的能力,并取得有数据佐证的业务结果。
* 负责一小型业务线,能够拆解产品需求并进行平台化沉淀,同时具有**反向驱动业务发展**
#### 3\. 软技能
![](http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/nice-article/weixin-jinspl-cec9fb32-3942-491f-b2ec-6a0410ea00ea.jpg)
这个金字塔能力模型,适用于绝大多数软件开发工程师,该模型提出的作者说:
> 大多数时候所谓的“技术之玻璃天花板”,其实只是缺乏软技能而已,这些技能可以学到,缺乏的知识可以通过决定改变的努力来弥补。
我们每位开发者都要牢记这句话,要清醒地意识到:
* 不深入钻研,缺乏开发技术等硬技能,你很难在初期的职业生涯(0 ~ 5 年)中做出成绩占据重要位置;
* 没有沟通、协商、领导力、语境切换、创新、认知等软技能,你很难在职场上走出高度。
所以,在你掌握了一定的开发技术可以搞定一些任务后,就要并行地去培养自己的软技能,**只有软技能匹配你的硬技能,你才能更好的发展。**
P7 需要具备的软技能:
* **跨部门领导项目**:P6 需要在一定的指导下才能跨部门领导项目,但是 P7 需要完全具备跨部门领导项目的能力;
* **构建团队的能力**:具备从 0 到 1 搭建一个 10 人左右团队的能力,或已经有 3/4 个老员工将团队搭建到 10 人左右的能力。
* **带领小型团队的能力**:可以根据业务的战略方向,给团队指明技术方向,同时可以带领团队完成既定的目标,同时可以根据每个下属的特点给予指导,让下属工作的同时还可以提升自己的能力;
* **有培养技术骨干的能力**:我见过非常多的技术经理或者 P7 的朋友,他们可以自己把一件很难的工作做好,但是对于培养新人,培养技术骨干(P6)缺乏经验,但是作为 P7,这项能力是必须具备的。
#### 4\. 小节
最后我们把阿里 P7 的胜任细则,再简单归纳一下:
* 技术广度和深度,绝对的扛把子(占比偏大)
* 架构设计能力,方案(占比偏大)
* 跨部门的推动,通过多部门的联合推动(占比偏大)
* 主导业务的能力,领导力(占比最大)
* 业务效果,上层业务的挖掘,为业务带来了哪些撬动点(占比偏大)
* Coding(占比最低)
这就是为什么 P6 到 P7 是一个槛,有没有 “世界虐我千百遍,我待世界如初恋” 的 gan juo ?
![](http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/nice-article/weixin-jinspl-bf0a49b1-44dc-453e-b54c-766bd82243a4.jpg)
## 写在最后
虽然阿里 P7 职称叫**专家**,但估计大家都不会把这个专家二字当真吧,在我心中起码阿里 P9 或者腾讯 T4 这种级别才能真正称得上行业中的专家。
所以阿里 P7,其实还不能称之为严格意义的专家,但即使不是真正的专家,那也是相当牛逼了!
阿里 P7 是行业的硬通货,也是一般程序员工作 5~10 年后的职业发展分水岭,如果是在阿里工作过几年没有得过低绩效的 P7,起码是**技术靠谱、勤奋度高**的工程师了,如果**情商**也 ok 的话,去中小公司做技术经理、架构师都是绰绰有余。
最后回到二哥开头给我提的问题,面试如何才能拿到阿里 P7 的职级 ?
这个不能只看面试,主要在于**平时的积累**,如果你只有 P6 的水平,无论掌握哪些面试技巧,都不可能达到 P7 的高度,但是可以通过一定的面试技巧,让自己的能力水平看起来要高一些。
比如你的能力值只有 70 分,你最多只能发挥到 80 分的水平,或者发挥失常,掉到 60 分的档位,但是基本不太可能跨越这个区间。
阿里 P7 很香,有能力又多金,谁都羡慕,但是我们只能一步一个脚印,干掉 95% 的同学,你也能成为那 5% 的精英。
* * *
##### 推荐阅读:
* [新来个技术总监,把 RabbitMQ 讲的那叫一个透彻,佩服!](https://mp.weixin.qq.com/s?__biz=Mzg3OTU5NzQ1Mw==&mid=2247489667&idx=1&sn=910f851309f822b9473d08e7f6d4ab6c&chksm=cf035a61f874d377dd08c9303655afe7a385e9dc2421fe61a377ac156d62a01bfb48bb12ec1b&token=331236693&lang=zh_CN&scene=21#wechat_redirect)
* [全网最强 JVM 来袭!](https://mp.weixin.qq.com/s?__biz=Mzg3OTU5NzQ1Mw==&mid=2247488282&idx=1&sn=a5247ff61e8379790b509e49b24199f2&chksm=cf0351f8f874d8ee21f2f6d7f8d4e3e96915cc028adf27caf6ff0be1747b11168e07e434b2e3&scene=21#wechat_redirect)
* [一文搞懂消息队列原理和选型](https://mp.weixin.qq.com/s?__biz=Mzg3OTU5NzQ1Mw==&mid=2247487669&idx=1&sn=7225d0d5613e33a1b1daf18083d04ca1&chksm=cf035257f874db411cb301382934d73bb1e4b8fc2f584335d65535e9c173f7e5e7e1d6b5286b&token=861276582&lang=zh_CN&scene=21#wechat_redirect)
* [肝了一个月的 DDD,一文带你掌握!](https://mp.weixin.qq.com/s?__biz=Mzg3OTU5NzQ1Mw==&mid=2247487929&idx=1&sn=e33ca9ee496ef4ecb159a719223259a7&chksm=cf03535bf874da4d72568c2e6235be9084bcd71227f33d588f1019e4a1a4f10e482d44e7bbb1&scene=21#wechat_redirect)
![](http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/nice-article/weixin-jinspl-93dbde70-7f75-461e-a78f-a9e3083e9e0a.jpg)
>转载链接:[https://mp.weixin.qq.com/s/lKQVYJBVioEV4blmAZxzSw](https://mp.weixin.qq.com/s/lKQVYJBVioEV4blmAZxzSw),出处:楼仔,整理:沉默王二
......@@ -691,6 +691,7 @@ if (e != null) { // existing mapping for key
- [面渣逆袭 MySQL 篇👍](https://tobebetterjavaer.com/sidebar/sanfene/mysql.html)
- [面渣逆袭操作系统篇👍](https://tobebetterjavaer.com/sidebar/sanfene/os.html)
- [面渣逆袭计算机网络篇👍](https://tobebetterjavaer.com/sidebar/sanfene/network.html)
- [面渣逆袭RocketMQ篇👍](https://tobebetterjavaer.com/sidebar/sanfene/rocketmq.html)
----
......
......@@ -1404,6 +1404,7 @@ reduced.ifPresent(System.out::println);
- [面渣逆袭 MySQL 篇👍](https://tobebetterjavaer.com/sidebar/sanfene/mysql.html)
- [面渣逆袭操作系统篇👍](https://tobebetterjavaer.com/sidebar/sanfene/os.html)
- [面渣逆袭计算机网络篇👍](https://tobebetterjavaer.com/sidebar/sanfene/network.html)
- [面渣逆袭RocketMQ篇👍](https://tobebetterjavaer.com/sidebar/sanfene/rocketmq.html)
----
......
......@@ -1986,6 +1986,7 @@ ForkJoinTask与一般Task的主要区别在于它需要实现compute方法,在
- [面渣逆袭 MySQL 篇👍](https://tobebetterjavaer.com/sidebar/sanfene/mysql.html)
- [面渣逆袭操作系统篇👍](https://tobebetterjavaer.com/sidebar/sanfene/os.html)
- [面渣逆袭计算机网络篇👍](https://tobebetterjavaer.com/sidebar/sanfene/network.html)
- [面渣逆袭RocketMQ篇👍](https://tobebetterjavaer.com/sidebar/sanfene/rocketmq.html)
----
......
......@@ -1129,6 +1129,7 @@ Tomact 是 web 容器,可能需要部署多个应用程序。不同的应用
- [面渣逆袭 MySQL 篇👍](https://tobebetterjavaer.com/sidebar/sanfene/mysql.html)
- [面渣逆袭操作系统篇👍](https://tobebetterjavaer.com/sidebar/sanfene/os.html)
- [面渣逆袭计算机网络篇👍](https://tobebetterjavaer.com/sidebar/sanfene/network.html)
- [面渣逆袭RocketMQ篇👍](https://tobebetterjavaer.com/sidebar/sanfene/rocketmq.html)
----
......
......@@ -1007,6 +1007,7 @@ MyBatis使用RowBounds对象进行分页,它是针对ResultSet结果集执行
- [面渣逆袭 MySQL 篇👍](https://tobebetterjavaer.com/sidebar/sanfene/mysql.html)
- [面渣逆袭操作系统篇👍](https://tobebetterjavaer.com/sidebar/sanfene/os.html)
- [面渣逆袭计算机网络篇👍](https://tobebetterjavaer.com/sidebar/sanfene/network.html)
- [面渣逆袭RocketMQ篇👍](https://tobebetterjavaer.com/sidebar/sanfene/rocketmq.html)
----
......
......@@ -1439,6 +1439,7 @@ Hash 路由设计的复杂点主要体现在初始表数量的选取上,表数
- [面渣逆袭 MySQL 篇👍](https://tobebetterjavaer.com/sidebar/sanfene/mysql.html)
- [面渣逆袭操作系统篇👍](https://tobebetterjavaer.com/sidebar/sanfene/os.html)
- [面渣逆袭计算机网络篇👍](https://tobebetterjavaer.com/sidebar/sanfene/network.html)
- [面渣逆袭RocketMQ篇👍](https://tobebetterjavaer.com/sidebar/sanfene/rocketmq.html)
----
......
......@@ -1535,6 +1535,7 @@ XSS 攻击一般分三种类型:**存储型 、反射型 、DOM 型 XSS**
- [面渣逆袭 MySQL 篇👍](https://tobebetterjavaer.com/sidebar/sanfene/mysql.html)
- [面渣逆袭操作系统篇👍](https://tobebetterjavaer.com/sidebar/sanfene/os.html)
- [面渣逆袭计算机网络篇👍](https://tobebetterjavaer.com/sidebar/sanfene/network.html)
- [面渣逆袭RocketMQ篇👍](https://tobebetterjavaer.com/sidebar/sanfene/rocketmq.html)
----
......
......@@ -654,6 +654,7 @@ epoll 的⽅式即使监听的 Socket 数量越多的时候,效率不会⼤幅
- [面渣逆袭 MySQL 篇👍](https://tobebetterjavaer.com/sidebar/sanfene/mysql.html)
- [面渣逆袭操作系统篇👍](https://tobebetterjavaer.com/sidebar/sanfene/os.html)
- [面渣逆袭计算机网络篇👍](https://tobebetterjavaer.com/sidebar/sanfene/network.html)
- [面渣逆袭RocketMQ篇👍](https://tobebetterjavaer.com/sidebar/sanfene/rocketmq.html)
----
......
......@@ -1283,6 +1283,7 @@ quicklist由list和ziplist结合而成,它是一个由ziplist充当节点的
- [面渣逆袭 MySQL 篇👍](https://tobebetterjavaer.com/sidebar/sanfene/mysql.html)
- [面渣逆袭操作系统篇👍](https://tobebetterjavaer.com/sidebar/sanfene/os.html)
- [面渣逆袭计算机网络篇👍](https://tobebetterjavaer.com/sidebar/sanfene/network.html)
- [面渣逆袭RocketMQ篇👍](https://tobebetterjavaer.com/sidebar/sanfene/rocketmq.html)
----
......
---
title: 面渣逆袭:RocketMQ二十三问
shortTitle: 面渣逆袭:RocketMQ二十三问
description: 面渣逆袭系列继续,两万字+三十图,详解RocketMQ二十三问!不会有人假期偷偷玩吧?
title: 面渣逆袭(RocketMQ面试题)必看👍
shortTitle: 面渣逆袭-RocketMQ
description: 面渣逆袭系列继续,两万字+三十图,详解RocketMQ面试高频题23 道,这次吊打面试官,我觉得稳了(手动 dog)
author: 三分恶
category:
- 微信公众号
- 面渣逆袭
tags:
- RocketMQ 面试题
- RocketMQ
head:
- - meta
- name: description
content: 面渣逆袭系列继续,两万字+三十图,详解RocketMQ二十三问!不会有人假期偷偷玩吧?
content: 面渣逆袭系列继续,两万字+三十图,详解RocketMQ面试高频题23 道,这次吊打面试官,我觉得稳了(手动 dog)
- name: keywords
content: RocketMQ 面试题,RocketMQ
---
> 图文详解 RocketMQ 面试高频题,这次吊打面试官,我觉得稳了(手动 dog)。整理:沉默王二,戳[转载链接](https://mp.weixin.qq.com/s/N6wq52pBGh8xkS-5uRcO2g),作者:三分恶,戳[原文链接](https://mp.weixin.qq.com/s/IvBt3tB_IWZgPjKv5WGS4A)。
## 基础
### 1.为什么要使用消息队列呢?
......@@ -31,9 +38,9 @@ head:
我们可以把请求扔到队列里面,只放出我们服务能处理的流量,这样就能抗住短时间的大流量了。
![](http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/nice-article/weixin-mianznxrocketmqessw-f028cb0c-b1a3-47ef-b290-f7d6f46512fb.jpg)
![消息队列削峰](http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/nice-article/weixin-mianznxrocketmqessw-f028cb0c-b1a3-47ef-b290-f7d6f46512fb.jpg)
消息队列削峰
解耦、异步、削峰,是消息队列最主要的三大作用。
......@@ -236,6 +243,8 @@ NameServer 是一个无状态的服务器,角色类似于 Kafka使用的 Zooke
* **Pull**:拉取型消费者(Pull Consumer)主动从消息服务器拉取信息,只要批量拉取到消息,用户应用就会启动消费过程,所以 Pull 称为主动消费型。
* **Push**:推送型消费者(Push Consumer)封装了消息的拉取、消费进度和其他的内部维护工作,将消息到达时执行的回调接口留给用户应用程序来实现。所以 Push 称为被动消费类型,但其实从实现上看还是从消息服务器中拉取消息,不同于 Pull 的是 Push 首先要注册消费监听器,当监听器处触发后才开始消费消息。
![](http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xingbiaogongzhonghao.png)
## 进阶
### 9.如何保证消息的可用性/可靠性/不丢失呢?
......@@ -481,6 +490,8 @@ Consumer 的配置文件中,并不需要设置是从 Master 读还是从 Slave
如何达到发送端写的高可用性呢?在创建 Topic 的时候,把 Topic 的多个Message Queue 创建在多个 Broker 组上(相同 Broker 名称,不同 brokerId机器组成 Broker 组),这样当 Broker 组的 Master 不可用后,其他组Master 仍然可用, Producer 仍然可以发送消息 RocketMQ 目前还不支持把Slave自动转成 Master ,如果机器资源不足,需要把 Slave 转成 Master ,则要手动停止 Slave 色的 Broker ,更改配置文件,用新的配置文件启动 Broker。
![](http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xingbiaogongzhonghao.png)
## 原理
### 18.说一下RocketMQ的整体工作流程?
......@@ -719,6 +730,27 @@ public void run() {
log.info("{} service end", this.getServiceName());
}
```
---
*没有什么使我停留——除了目的,纵然岸旁有玫瑰、有绿荫、有宁静的港湾,我是不系之舟*
**系列内容**
- [面渣逆袭 Java SE 篇👍](https://tobebetterjavaer.com/sidebar/sanfene/javase.html)
- [面渣逆袭 Java 集合框架篇👍](https://tobebetterjavaer.com/sidebar/sanfene/javathread.html)
- [面渣逆袭 Java 并发编程篇👍](https://tobebetterjavaer.com/sidebar/sanfene/collection.html)
- [面渣逆袭 JVM 篇👍](https://tobebetterjavaer.com/sidebar/sanfene/jvm.html)
- [面渣逆袭 Spring 篇👍](https://tobebetterjavaer.com/sidebar/sanfene/spring.html)
- [面渣逆袭 Redis 篇👍](https://tobebetterjavaer.com/sidebar/sanfene/redis.html)
- [面渣逆袭 MyBatis 篇👍](https://tobebetterjavaer.com/sidebar/sanfene/mybatis.html)
- [面渣逆袭 MySQL 篇👍](https://tobebetterjavaer.com/sidebar/sanfene/mysql.html)
- [面渣逆袭操作系统篇👍](https://tobebetterjavaer.com/sidebar/sanfene/os.html)
- [面渣逆袭计算机网络篇👍](https://tobebetterjavaer.com/sidebar/sanfene/network.html)
- [面渣逆袭 RocketMQ 篇👍](https://tobebetterjavaer.com/sidebar/sanfene/rocketmq.html)
----
![](http://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xingbiaogongzhonghao.png)
>转载链接:[https://mp.weixin.qq.com/s/IvBt3tB_IWZgPjKv5WGS4A](https://mp.weixin.qq.com/s/IvBt3tB_IWZgPjKv5WGS4A),出处:三分恶,整理:沉默王二
> 图文详解 RocketMQ 面试高频题,这次吊打面试官,我觉得稳了(手动 dog)。整理:沉默王二,戳[转载链接](https://mp.weixin.qq.com/s/N6wq52pBGh8xkS-5uRcO2g),作者:三分恶,戳[原文链接](https://mp.weixin.qq.com/s/IvBt3tB_IWZgPjKv5WGS4A)。
......@@ -1750,6 +1750,7 @@ PS:微服务后面有机会再扩展,其实面试一般都是结合项目去
- [面渣逆袭 MySQL 篇👍](https://tobebetterjavaer.com/sidebar/sanfene/mysql.html)
- [面渣逆袭操作系统篇👍](https://tobebetterjavaer.com/sidebar/sanfene/os.html)
- [面渣逆袭计算机网络篇👍](https://tobebetterjavaer.com/sidebar/sanfene/network.html)
- [面渣逆袭RocketMQ篇👍](https://tobebetterjavaer.com/sidebar/sanfene/rocketmq.html)
----
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册