GOLANG ROADMAP

专注Gopher学习👉求职之路

😀 计算机基础
u1_seg0 u1_seg1

专注Gopher学习👉求职之路

u3_seg0 u3_seg1
冯诺伊曼体系
计算机网络
操作系统
数据结构与算法

用二进制进行计算和存储

基本结构

了解网络协议

了解序列化协议

了解七层体系结构

了解四层体系结构

u14_seg0 u14_seg1
u15_seg0 u15_seg1
u16_seg0 u16_seg1
u17_seg0 u17_seg1
u18_seg0 u18_seg1
u19_seg0 u19_seg1
u20_seg0 u20_seg1

了解进程、线程、协程的区别

u22_seg0 u22_seg1
u23_seg0 u23_seg1
u24_seg0 u24_seg1
u26_seg0 u26_seg1
Internet

互联网是如何工作的

HTTP是什么

浏览器以及浏览器如何运作

域名是什么

hosting是什么

数据库
关系型数据库
NoSQL
MariaDB
Mysql
Oracle
Redis
MongoDB
LevelDB
Memcache
u43_seg0 u43_seg1
u44_seg0 u44_seg1
u45_seg0 u45_seg1
u46_seg0 u46_seg1
u47_seg0 u47_seg1
u48_seg0 u48_seg1
u49_seg0 u49_seg1
u50_seg0 u50_seg1
u51_seg0 u51_seg1
u52_seg0 u52_seg1
u53_seg0 u53_seg1
u54_seg0 u54_seg1
u55_seg0 u55_seg1
u56_seg0 u56_seg1
u57_seg0 u57_seg1
u58_seg0 u58_seg1
u59_seg0 u59_seg1

CPU

存储器

总线

输入设备

输出设备

u65_seg0 u65_seg1
u66_seg0 u66_seg1
u67_seg0 u67_seg1
u68_seg0 u68_seg1
u69_seg0 u69_seg1
u70_seg0 u70_seg1
u72_seg0 u72_seg1
IDE
GoLang
版本控制
Git

设计模式六大原则

23钟常见设计模式

开闭原则

里氏替换原则

依赖倒转原则

接口隔离原则

迪米特法则

单一职责原则

u85_seg0 u85_seg1
u86_seg0 u86_seg1
u87_seg0 u87_seg1
u88_seg0 u88_seg1
Go编程进阶

中高级·薪资:15k-25k 知识梳理

岗位要求:负责一个方向

u92_seg0 u92_seg1

资深·薪资:25k-40k 知识梳理

岗位要求:负责一个领域

u95_seg0 u95_seg1
u97_seg0 u97_seg1
u98_seg0 u98_seg1
u99_seg0 u99_seg1
u100_seg0 u100_seg1
SVN
VsCode
Go编程基础
代码组织

go安装

go环境变量

开发环境
u108_seg0 u108_seg1

工作区

代码包

源码文件

代码块

u113_seg0 u113_seg1
u114_seg0 u114_seg1
u115_seg0 u115_seg1
u116_seg0 u116_seg1
u117_seg0 u117_seg1
标准库

字面量

常量

变量

类型

操作符

表达式

语句

错误处理

u128_seg0 u128_seg1

功能型

输入输出型

net

errors

os

sync

time

u136_seg0 u136_seg1
u137_seg0 u137_seg1
u138_seg0 u138_seg1
u139_seg0 u139_seg1
u140_seg0 u140_seg1

io

fmt

log

了解进程间常用的通信方式

了解5种网络IO模型

了解并发与并行的区别

了解同步与异步的区别

了解阻塞与非阻塞的区别

了解常见缓存淘汰算法

u150_seg0 u150_seg1
u151_seg0 u151_seg1
u152_seg0 u152_seg1
u153_seg0 u153_seg1
u154_seg0 u154_seg1
u155_seg0 u155_seg1

了解时间/空间复杂度

熟悉常用数据结构

字符串

数组

链表

队列

二叉树

u166_seg0 u166_seg1
u167_seg0 u167_seg1
u168_seg0 u168_seg1

熟悉常用算法

双指针

左右指针

排序

二叉查找

递归

回溯

贪心

动态规划

u179_seg0 u179_seg1
u180_seg0 u180_seg1
u181_seg0 u181_seg1
u182_seg0 u182_seg1
u183_seg0 u183_seg1
u184_seg0 u184_seg1
u185_seg0 u185_seg1
u186_seg0 u186_seg1
u187_seg0 u187_seg1
u188_seg0 u188_seg1
u189_seg0 u189_seg1
u190_seg0 u190_seg1
u191_seg0 u191_seg1
u192_seg0 u192_seg1
u193_seg0 u193_seg1
u194_seg0 u194_seg1
u195_seg0 u195_seg1
u196_seg0 u196_seg1
u197_seg0 u197_seg1
u198_seg0 u198_seg1
u199_seg0 u199_seg1
u200_seg0 u200_seg1
u201_seg0 u201_seg1
原理

map

channel

goroutine

slice

runtime

u209_seg0 u209_seg1
u210_seg0 u210_seg1
GMP模型
并发编程
u213_seg0 u213_seg1

goroutine调度

channel调度

waitGroup

context

sync

原子操作 atomic

u221_seg0 u221_seg1
u222_seg0 u222_seg1
u223_seg0 u223_seg1
u224_seg0 u224_seg1
u225_seg0 u225_seg1
u226_seg0 u226_seg1
u227_seg0 u227_seg1

mutex

rwmutex

u230_seg0 u230_seg1
u231_seg0 u231_seg1
GC
CGO
反射
测试
u236_seg0 u236_seg1
u237_seg0 u237_seg1
u238_seg0 u238_seg1
u239_seg0 u239_seg1

单元测试

压力测试

覆盖测试

性能测试

u244_seg0 u244_seg1
u245_seg0 u245_seg1
u246_seg0 u246_seg1
u247_seg0 u247_seg1
u248_seg0 u248_seg1
u249_seg0 u249_seg1
数据结构与算法
操作系统

熟悉5种网络IO模型原理

熟悉IO多路复用技术原理

熟悉socket和多线程编程

u255_seg0 u255_seg1
u256_seg0 u256_seg1
u257_seg0 u257_seg1
u258_seg0 u258_seg1
计算机原理与网络

熟悉常见网络协议原理

熟悉常见序列化协议原理

u262_seg0 u262_seg1
u263_seg0 u263_seg1
缓存

深入理解Redis核心数据类型使用场景和内部实现

深入理解Redis线程模型

熟悉持久化方式

熟悉数据过期策略

熟悉数据淘汰策略

熟悉分布式锁实现

熟悉缓存高并发场景

u272_seg0 u272_seg1
u273_seg0 u273_seg1
u274_seg0 u274_seg1
u275_seg0 u275_seg1
u276_seg0 u276_seg1
u277_seg0 u277_seg1
u278_seg0 u278_seg1
u279_seg0 u279_seg1
数据库
u281_seg0 u281_seg1
u282_seg0 u282_seg1

熟悉数据库存储引擎

熟悉数据库索引实现原理

熟悉数据库锁

熟悉数据库事务实现机制

熟悉数据库主从复制

熟悉数据库读写分离

熟悉数据库分库分表

掌握数据库常用调优手段

u291_seg0 u291_seg1
u292_seg0 u292_seg1
u293_seg0 u293_seg1
u294_seg0 u294_seg1
u295_seg0 u295_seg1
u296_seg0 u296_seg1
u297_seg0 u297_seg1
u298_seg0 u298_seg1
u299_seg0 u299_seg1
设计模式

熟练掌握

熟悉常用设计模式

u303_seg0 u303_seg1
u304_seg0 u304_seg1
u305_seg0 u305_seg1
Linux

熟练掌握相关命令

熟练掌握网络编程

系统命令工具

基础命令工具

网络参数工具

磁盘参数工具

u313_seg0 u313_seg1
u314_seg0 u314_seg1
u315_seg0 u315_seg1
u316_seg0 u316_seg1
u317_seg0 u317_seg1
u318_seg0 u318_seg1
u319_seg0 u319_seg1
工程化
微服务

go-zero

web框架

gin

中间件
日志
服务发现
消息队列
缓存
数据库
搜索引擎
rpc
链路追踪

logrus

zookeeper

kafka

redis

mysql

ElasticSearch

apollo

gRPC

jaeger

u343_seg0 u343_seg1
u344_seg0 u344_seg1
u345_seg0 u345_seg1
u346_seg0 u346_seg1
u347_seg0 u347_seg1
u348_seg0 u348_seg1
u349_seg0 u349_seg1
u350_seg0 u350_seg1
u351_seg0 u351_seg1
u352_seg0 u352_seg1
u353_seg0 u353_seg1
u354_seg0 u354_seg1
u355_seg0 u355_seg1
u356_seg0 u356_seg1
u357_seg0 u357_seg1
u358_seg0 u358_seg1
u359_seg0 u359_seg1
u360_seg0 u360_seg1
u361_seg0 u361_seg1
u362_seg0 u362_seg1
u363_seg0 u363_seg1
u364_seg0 u364_seg1
u365_seg0 u365_seg1
u366_seg0 u366_seg1
Go源码分析

runtime源码

net源码

io源码

map源码

slice源码

channel源码

mutex源码

gc源码

u377_seg0 u377_seg1
u378_seg0 u378_seg1
u379_seg0 u379_seg1

MySQL源码

Redis源码

Kafka源码

Elasticsearch源码

ZooKeeper源码

Flink源码

RabbitMq源码

Etcd源码

u389_seg0 u389_seg1
性能优化

熟练掌握常用优化手段

熟练掌握常见问题排查手段

pprof

go tool trace

火焰图

gdb

perf

u398_seg0 u398_seg1
u399_seg0 u399_seg1
u400_seg0 u400_seg1
u401_seg0 u401_seg1
u402_seg0 u402_seg1
u403_seg0 u403_seg1
u404_seg0 u404_seg1
u405_seg0 u405_seg1
系统设计

分布式ID生成器

电商下单减库存支付

秒杀系统

短链接系统

微博

u412_seg0 u412_seg1
u413_seg0 u413_seg1
u414_seg0 u414_seg1
u415_seg0 u415_seg1
u416_seg0 u416_seg1
u417_seg0 u417_seg1
服务稳定性

限流

熔断

降级

隔离

重试

超时控制

监控

报警

预案

u428_seg0 u428_seg1
u429_seg0 u429_seg1
u430_seg0 u430_seg1
u431_seg0 u431_seg1
u432_seg0 u432_seg1
u433_seg0 u433_seg1
u434_seg0 u434_seg1
u435_seg0 u435_seg1
u436_seg0 u436_seg1
u437_seg0 u437_seg1
高并发实战
无状态设计
多线程
连接池
异步化
并发
缓存
数据库

表优化

索引优化

读写分离

分库分表

集群

u451_seg0 u451_seg1
u452_seg0 u452_seg1
u453_seg0 u453_seg1
u454_seg0 u454_seg1
u455_seg0 u455_seg1
u456_seg0 u456_seg1
分布式
u458_seg0 u458_seg1
常见问题

如何避免缓存”穿透”的问题?

u461_seg0 u461_seg1
u462_seg0 u462_seg1
u463_seg0 u463_seg1
u464_seg0 u464_seg1
u465_seg0 u465_seg1
u466_seg0 u466_seg1
u467_seg0 u467_seg1

如何避免缓存”雪崩”的问题?

如何避免缓存”击穿”的问题?

缓存和 DB 的一致性如何保证?

u471_seg0 u471_seg1
u472_seg0 u472_seg1
u473_seg0 u473_seg1
u474_seg0 u474_seg1
分布式原理与实战
分布式理论

CAP

BASE

ACID

u480_seg0 u480_seg1
u481_seg0 u481_seg1
u482_seg0 u482_seg1
u483_seg0 u483_seg1
u484_seg0 u484_seg1
分布式事务解决方案

TCC

2PC/XA

3PC

Seata

u490_seg0 u490_seg1
u491_seg0 u491_seg1
u492_seg0 u492_seg1
u493_seg0 u493_seg1
u494_seg0 u494_seg1
分布式缓存

Paxos算法

Raft算法

一致性哈希算法

Gossip协议

Quorum NWR算法

PBFT算法

PoW算法

ZAB协议

u505_seg0 u505_seg1
分布式数据库

Redis

TiDB

分布式协调

Zookeeper

Etcd

Consul

u513_seg0 u513_seg1
u514_seg0 u514_seg1
u515_seg0 u515_seg1
u516_seg0 u516_seg1
u517_seg0 u517_seg1
u518_seg0 u518_seg1
u519_seg0 u519_seg1
u520_seg0 u520_seg1
分布式锁

Redis实现

Zookeeper实现

MySQL实现

u525_seg0 u525_seg1
u526_seg0 u526_seg1
u527_seg0 u527_seg1
u528_seg0 u528_seg1
分布式搜索引擎

ElasticSearch

分布式存储

Ceph

分布式文件系统

Hadoop

分布式队列
分布式计算

Kafka

Spark

Storm

Flink

u541_seg0 u541_seg1
u542_seg0 u542_seg1
u543_seg0 u543_seg1
u544_seg0 u544_seg1
u545_seg0 u545_seg1
u546_seg0 u546_seg1
u547_seg0 u547_seg1
u548_seg0 u548_seg1
u549_seg0 u549_seg1
u550_seg0 u550_seg1
u551_seg0 u551_seg1
u552_seg0 u552_seg1
u553_seg0 u553_seg1
容器化
Docker
Kubernetes
u557_seg0 u557_seg1
u558_seg0 u558_seg1

专家·薪资:40k以上 知识梳理

岗位要求:负责多个领域

拥有一定的架构设计能力

深入掌握,并有一定实际经验

u562_seg0 u562_seg1
u564_seg0 u564_seg1
行业砥柱

图像编解码

直播

视频编解码

游戏

金融

云原生

u572_seg0 u572_seg1
u573_seg0 u573_seg1
u574_seg0 u574_seg1
u575_seg0 u575_seg1
u576_seg0 u576_seg1
u577_seg0 u577_seg1
u578_seg0 u578_seg1

开源社区-开源贡献-开源项目

u580_seg0 u580_seg1
u581_seg0 u581_seg1
架构设计
领域架构设计
微服务
服务网格
云原生

一定的架构落地能力

istio

u590_seg0 u590_seg1
u591_seg0 u591_seg1
u592_seg0 u592_seg1
u593_seg0 u593_seg1
u594_seg0 u594_seg1
u595_seg0 u595_seg1
u596_seg0 u596_seg1

具备从零搭建大型分布式系统能力

引领团队

公司业务执行落地

具备行业城市方案

u601_seg0 u601_seg1
u602_seg0 u602_seg1
u603_seg0 u603_seg1
u604_seg0 u604_seg1
解决方案
\

实际解决过问题

有线上事故的处理经验

深入行业,具备实施行业领先解决方案的能力

u609_seg0 u609_seg1
u610_seg0 u610_seg1
u611_seg0 u611_seg1
u612_seg0 u612_seg1
u613_seg0 u613_seg1
开源项目

主导或参与过开源项目

为知名开源项目贡献过源码

u617_seg0 u617_seg1
u618_seg0 u618_seg1
u619_seg0 u619_seg1
u621_seg0 u621_seg1
高并发

具备应对高并发的能力

对计算机、网络基础设施、数据库都需要有深入了解

容器技术

深入源码

具备改造能力

具备造轮子能力

Kubernetes

Docker

u631_seg0 u631_seg1
u632_seg0 u632_seg1
u633_seg0 u633_seg1
u634_seg0 u634_seg1
u635_seg0 u635_seg1
u636_seg0 u636_seg1
u637_seg0 u637_seg1
u638_seg0 u638_seg1
u639_seg0 u639_seg1
u640_seg0 u640_seg1
保持学习 keep learning
u642_seg0 u642_seg1
设计模式
行为型模式
结构型模式
创建型模式
配置

初 级 - 知识梳理

必 会

懂得话最好

中高级 - 知识梳理

资 深 - 知识梳理

专 家 - 知识梳理

图例说明

中间件源码分析
分布式协议与算法
Go开发核心:深入理解计算机原理、计算机网络协议以及主流协议、数据结构与算法、Linux、MySql、Redis、MQ、RPC、微服务、k8s、docker、架构认识、分布式落地

总 结

u664_seg0 u664_seg1
u665_seg0 u665_seg1

关注官方微信公众号Bilibili抖音,定期分享Go面经、Go面试、Go岗位等信息。回复「企业题库」还可开启手机刷题模式。

初级·薪资:10k-15k 知识梳理

岗位要求:负责一个模块

u677_seg0 u677_seg1
u678_seg0 u678_seg1
u679_seg0 u679_seg1

RabbitMq