展望 & 进阶 & 求职
# 展望 & 进阶 & 求职
在本小册一开始,就说学习 Go 语言就是在“面向未来”学习。从 TIOBE 网站上可以看到 Go 语言自 2009 至今的热门程度走势图如下:
大家不要觉得 1.x% 的百分点很不起眼,目前热度排名第一位的是 Python,其占比也仅为 12.74%,如下图所示:
可见,Go 语言目前在热度榜上第 14 位,较去年同期上涨 2 名。
Go 语言主要面向服务器应用,对于大多数企业级应用来说,有 C++ 不具备的 GC(垃圾回收机制),比 Java 语法更简洁更易学,比 Python 运行性能更高。是一个暂时看不出什么短板的编程语言。
目前三大头部云服务器提供商 AWS、GCP 和 Azure 对 Go 语言非常青睐,容器软件 Docker 和 K8s 也是适用 Go 语言进行开发的。在国内,七牛云整体平台已经迁移至 Go 语言实现,今日头条适用 Go 语言构建了自己的微服务系统。
然而,如果学习一门语言仅停留在语法基础和基本使用上是不够的。更重要的是要从软件工程的角度去理解某种语言,对某种语言独有的能力做深入的学习,充分理解这门语言的设计哲学。有些公司在选择技术方向的时候往往只看到了某种技术的优势,对其理解并不深入。即使语言本身的设计足够优秀,但是也阻挡不住劣质代码的产生。
诚然,本小册定位零基础。虽然大家经历了 34 讲正式课程的学习,而且从课程结构的思维导图上看,内容显得不少,但仍属基础范围。像 Web 框架、NoSQL 数据库、日志框架、分布式服务、分布式缓存等都没有涉及。
如果用一台车来举例,现在大家掌握的内容就好比买下了一台改装潜力巨大的原厂车,所有组件都是出厂调教,可以安分守己地行驶在城市道路上,日常代步、出门买菜是没有问题了。而进阶部分,就相当于对车辆的动力、操控等方面进行改装的组件,这里有原厂件,也有副厂件。改装后的车既可以安分守己地行驶在城市道路上,也可以下赛道和其它性能车一决高下。
若要挖掘 Go 这台原厂车的潜力,下面的《Go 开发者路线图》可以给大家一个进阶思路:
中文版本:golang-developer-roadmap-cn (github.com) (opens new window)
英文版本:golang-developer-roadmap (github.com) (opens new window)
目前,中文版本还停留在 2019 年。我的建议是大家结合英文版本(2021 版本)一起看,中文版本作为翻译补充材料参考。更鼓励大家将其保存,以备后用。
最后,如果朋友们想加入某个公司,下面这些面试题会助各位一臂之力:
机器学习/深度学习/Python/Go语言面试题笔试题(github.com) (opens new window)
最后的最后,如果大家访问 Github 不稳定,可以使用国内免费的 Gitee,将 Github 上的仓库复制一份过去,就可以畅通无阻地访问了。