【学习笔记】Golang学习方向整理
前言
作为一个Java开发,给大家说Golang方向,好吓人。。。溜了溜了。。。
哦对了,如有不对的地方,还请指出。感谢!
某面试平台golang技能要求简要摘录
- 掌握 GO 语言,熟悉常用 package,熟悉计算机网络编程,熟练掌握Tcp编程,熟悉并熟练使用 golang 原生数据类型
- go程序代码调优,系统具有高并发,高可用的特点。所以要求代码逻辑严谨,细心,注重性能
- 熟悉主流Go Web框架设计和实现原理(gin、beego等),了解gRPC;
- 具备良好的基本功,熟练使用基本的数据结构和算法,深入理解多线程、socket等相关技术;
- 熟悉分布式系统,微服务体系,熟练掌握一种以上服务框架和消息中间件,了解其实现原理。
- 熟悉Linux操作系统、了解网络原理,如果了解Docker,了解WebAssembly,了解Rust,优先考虑。
- grpc(Golang)、docker、k8s者优先;
- 熟悉golang基础数据结构,goruntime原理。
- 熟悉redis,local cache缓存框架技术。
- 熟悉MySQL数据库设计、查询性能优化和存储优化方面经验。
- 有良好的代码习惯,结构清晰,命名规范,逻辑性强,熟悉设计模式理论。
- 熟练使用 Docker / k8s,熟悉 k8s 运行机制;
- 熟练使用Mysql/MongoDB/Redis,Kafka或Rabbitmq,Elasticsearch
- 熟悉常见的Golang Web / ORM 编程框架
- 熟悉mysql, postgres, redis,elastic search等数据库的编程和使用方法
- 善于使用消息队列服务, 如 kafka, RabbitMQ
- 熟悉Docker,Swarm/K8S等容器云部署及开发者优先
- 熟悉 gRPC, protobuf, 以及微服务架构体系
- 熟悉IP/UDP/TCP/HTTP/HTTPS协议;
go web主流框架参考链接
https://blog.csdn.net/dev_csdn/article/details/78740990
go 微服务参考链接
https://studygolang.com/articles/22111?fr=sidebar
总结
- 【语言基础(面试必备)】
- go语言基础,goruntime原理,代码调优,对高并发有研究
- 熟练使用基本的数据结构和算法,深入理解多线程、socket等相关技术(面试必备)
- 熟悉IP/UDP/TCP/HTTP/HTTPS协议;
- 有良好的代码习惯,结构清晰,命名规范,逻辑性强,熟悉设计模式理论。
- 【web基础(工作必备)】
- 主流GO web框架设计和实现原理(gin、beego等) ,了解 gRPC & Restful
- 熟悉MySQL数据库设计、查询性能优化和存储优化方面经验。
- 【微服务基础(工作常用)】
- 熟悉分布式系统,微服务体系,熟练掌握一种以上微服务框架(Micro、Kite、Gizmo等)
- 熟悉docker、k8s优先(重点:好多都要求了)
- 熟悉redis,local cache缓存框架技术。
- 消息中间件 Kafka或Rabbitmq,Elasticsearch搜索引擎
- 【如果上面你都会了】
- github上应该至少有一个开源项目了吧
- 部分源码,原理可以研究了
【学习笔记】Golang学习方向整理的更多相关文章
- canvas学习笔记、小函数整理
http://bbs.csdn.net/topics/391493648 canvas实例分享 2016-3-16 http://bbs.csdn.net/topics/390582151 html5 ...
- java JDK8 学习笔记——助教学习博客汇总
java JDK8 学习笔记——助教学习博客汇总 1-6章 (by肖昱) Java学习笔记第一章——Java平台概论 Java学习笔记第二章——从JDK到IDEJava学习笔记第三章——基础语法Jav ...
- python3.4学习笔记(七) 学习网站博客推荐
python3.4学习笔记(七) 学习网站博客推荐 深入 Python 3http://sebug.net/paper/books/dive-into-python3/<深入 Python 3& ...
- 20155234 2016-2017-2第十周《Java学习笔记》学习总结
20155234第十周<Java学习笔记>学习总结 教材学习内容总结 网络编程 在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定的位置,或者接收到指定 ...
- 20155234 2610-2017-2第九周《Java学习笔记》学习总结
20155234第九周<Java学习笔记>学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC(Ja ...
- #学习笔记#e2e学习使用(二)
前言: <#学习笔记#e2e学习使用(一)>主要记录了Vue项目的创建到e2e环境的搭建,以及期间遇到的各种问题和解决方法.本文建立在基础测试环境搭建完毕能正确运行的情况下,编写测试代码, ...
- #学习笔记#e2e学习使用(一)
本文仅限于记录本人学习的过程,以及怎么踩的坑,是如何解决的.逻辑肯定是混乱的,有用之处会抽出共通另行发帖. 最终目标:要运用于Vue项目中,进行功能测试甚至自动化测试. 一.e2e概念 理解:end ...
- mybatis学习笔记之学习目录(1)
mybatis学习笔记之学习结构(1) 学习结构: 1.mybatis开发方法 原始dao开发方法(程序需要编写dao接口和dao实现类) mybatis的mapper接口(相当于dao接口)代理开发 ...
- Vue学习笔记-rest_framework_jwt 学习
一 使用环境 开发系统: windows 后端IDE: PyCharm 前端IDE: VSCode 数据库: msyql,navicat 编程语言: python3.7 (Windows x86- ...
- TensorFlow学习笔记——深层神经网络的整理
维基百科对深度学习的精确定义为“一类通过多层非线性变换对高复杂性数据建模算法的合集”.因为深层神经网络是实现“多层非线性变换”最常用的一种方法,所以在实际中可以认为深度学习就是深度神经网络的代名词.从 ...
随机推荐
- Django线上部署实战教程之Nginx+Gunicorn+Django篇
############################################# 推荐 nginx supervisor gunicorn 配置简单,运维方便. Nginx (engi ...
- python语法基础-异常操作-长期维护
############### python-异常的操作 ############### # 异常:python解释器遇到一个错误,会停止程序的执行,并且提示错误信息,这就是异常, # 抛出异 ...
- Socket设置超时时间
主要有以下两种方式,我们来看一下方式1: Socket s=new Socket(); s.connect(new InetSocketAddress(host,port),10000); 方式2: ...
- Windows可以往外ping,外部却ping不通本机
网络背景:192.168.1.17.192.168.1.19.192.168.1.20 三台机器都在一个exsi宿主机下网络非常简单 问题描述:17和19都可以ping通20:20却不能ping通17 ...
- 吴裕雄--天生自然 R语言开发学习:数据集和数据结构
数据集的概念 数据集通常是由数据构成的一个矩形数组,行表示观测,列表示变量.表2-1提供了一个假想的病例数据集. 不同的行业对于数据集的行和列叫法不同.统计学家称它们为观测(observation)和 ...
- ExecuteScalar()方法的使用
ExecuteScalar()方法的作用是: 执行查询,并返回查询所返回的结果集中第一行的第一列.所有其他的列和行将被忽略. 1.返回的是一个object类型,也就是说是所有数据类型的基类,可根据se ...
- Qt static关键字全局变量
创建全局变量.h文件 globalvariable.h #ifndef GLOBALVARIABLE_H #define GLOBALVARIABLE_H #include <QImage> ...
- Linux Ubuntu 常见的压缩命令
小知识: Linux上常见的压缩命令就是gzip与bzip2,compress已经不再流行.gzip是有GNU计划所开发出来的压缩命令,该命令已经替换了compress命令.后来GNU又开发出bzip ...
- Heartbeat(注意iptables和selinux的问题)
安装 yum –y install heartbeat libnet配置 通过yum安装配置文件目录/etc/ha.d目录下没有配置文件需要从doc目录中复制三个文件.ha.cf.authkeys.h ...
- IT男频繁猝死背后的心理探秘
"深圳36岁IT男猝死酒店马桶上"这条新闻再次成为人们眼球的焦点,每每发生这样的事情,难免让人扼腕唏嘘,他们本该是风华正茂的年纪,家有老母贤妻爱子,甚至房子车子票子都不缺,该是一边 ...