有哪些不错的Golang开源项目?

目前人在字节做 Go 开发。

如果你也想来字节写 Go,我可以帮你内推(也可以提供简历修改建议),当然内推非开发岗也是可以的,内推请戳下面这个链接:

寻找 Golang 开源项目学习目的可能是:

  • 想学习或者提高自己对 Go 项目的组织和编排能力;
  • 想学习 Go 项目的框架设计;
  • 想在一些 Go 语法上细节的优化和进阶。

我推荐两个项目:

一、tinode

这是一个开源的即时通讯软件,既然是即时通讯软件,学习的时候基本上无任何业务负担,可以专注地学习程序逻辑本身。

服务端代码(使用 Go 开发)地址:

tinode/chat

搭建出来的服务部分截图:

有哪些不错的Golang开源项目?插图3
有哪些不错的Golang开源项目?插图5
有哪些不错的Golang开源项目?插图7
有哪些不错的Golang开源项目?插图9

二、斗鱼直播的朱庇特

项目官网:Jupiter

项目源码地址:douyu/jupiter

通过这个项目,你可以学习到如何使用 Go 开发:

  • 支持 HTTP 请求
  • 支持 RPC 请求、RPC 实现
  • 服务注册与发现
  • 长短任务设计
  • 负载均衡
  • 指标采集/链路追踪/日志埋点
  • 慢响应拦截
  • 熔断限流
  • 接入各种消息中间件(如 Kafka、RocketMQ 等)
  • 接入各种缓存服务(如 Redis)
  • 其他功能

三、学习 Go 的建议

Go 语法虽然容易上手,但是学好 Go 并不是特别容易,也需要了解很多语言细节和加以实战。

如果你是一个 Go 新人,建议先系统地把 Go 的常用语法特性和内置库先过一遍,推荐《Go 程序设计语言》,或者看看许式伟老师的《Go 语言编程》。

当你有一定基础之后,可以看看雨痕大佬的《Go 语言学习笔记》和 《Go 专家编程》进行查漏补缺和提升。

国外有一本《Distributed Computing with Go》(Go 分布式计算)。

网上有同学分享出来相关电子书(喜欢的请购买正版哦):

链接:https://pan.baidu.com/s/1hLm2Re6LNJdeNEyq1_vTUg密码: thgs

然后研究学习一些开源项目,假以时日,一定能拥有不错的 Go 水平了。

四、回答读者一些提问吧

有读者看到这篇文章私信我,问了类似这样的问题,自己是其他语言(C/C++/Java/Python),没有 Go 基础能否投递字节的 Go 岗位,我这里想说的是,据我所知,字节的 Go 岗位一般对 Go 本身没有多少要求,如果你不熟悉 Go,基本上面试不会问 Go 的任何问题。而是安排相应的面试官问你之前的语言相关的,最重要的是,对于校招和工作年限不长的社招一般算法和数据结构是硬性要求。

而且对于校招,通常这块答的不好,基本就被一票否决了。这也是我建议那些参加校招的同学要好好准备算法和数据结构的题目了。 说到这里,为一些学历不错但是因为在校招前不认真准备这块、最终无缘字节的同学感到惋惜,懒惰两个月,影响职业生涯一辈子。

我分享一下我的算法题库 + 整理了一些常见的大厂算法题与面经:

链接:https://pan.baidu.com/s/1Igq2ZG06cFE0BRMxM_T6Sg提取码: tjok

通常算法这块的题目并不难,但是一定要在面试前好好准备一下。

原创不易,有帮助的请点赞和关注@张小方

原创文章 有哪些不错的Golang开源项目?,版权所有
如若转载,请注明出处:https://www.itxiaozhan.cn/202210571.html

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注