golang 是谷歌推出的编程语言,它既有java,c等语言的高性能,又有python,php等动态语言开发的高效率,因此收到了很多人的喜欢。
golang 的明星项目
- 绝大多数的云原生项目都是用 Go 语言编写的,比如 Docker、etcd、Istio、Kubernetes、Prometheus;
- Go 将会成为云计算时代的基础设施编程语言,比如区块链明星项目 Hyperledger、NewSQL 明星项目 TiDB 都是基于 Go 的;
- Go 已经成为下一个企业级编程语言,包括字节跳动、滴滴、腾讯、阿里巴巴在内的很多公司都已经在大规模使用 Go。
golang高级工程师的要求
- 熟练掌握 Go 语言,熟悉 Goroutine、Channel、锁、GC 等核心特性;
- 具备 3 年以上后端开发经验,并具有 1 年以上 Go 语言服务端开发经验;
- 熟练掌握 Golang 常用框架,深入了解框架提供的特性及其实现原理细节;
- 熟悉常见的中间件技术,包括但不限于 MySQL、RPC、MQ、Redis 等;
- 了解分布式技术,具备扎实的工程经验和软件设计能力;
- 熟悉微服务架构,具有高并发或大型 Go 项目经验者优先。
学习golang,需要掌握各种微服务和微架构能力,包括微服务治理、可用性设计、数据一致性设计、缓存、消息队列、监控、日志、负载均衡,以及 RPC 框架等。
学习方向
从 Golang 语言规则 和 Golang 实现原理进行学习,专研源代码。
了解中间件的作用,熟练掌握各种框架,知道它们的底层原理,能够对应进行性能优化。
从宏观和微观两方面理解系统设计,能够设计出高并发,高可用的架构。
4.理解微服务,可以实现微服务。