【学习笔记】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学习笔记——深层神经网络的整理
维基百科对深度学习的精确定义为“一类通过多层非线性变换对高复杂性数据建模算法的合集”.因为深层神经网络是实现“多层非线性变换”最常用的一种方法,所以在实际中可以认为深度学习就是深度神经网络的代名词.从 ...
随机推荐
- 透过F5获取服务器真实内网IP
渗透测试过程中,经常会遇到目标服务器使用F5 LTM做负载均衡. 如果能获取到目标服务器的真实IP地址,会给后续渗透带来一定便利. 本文既是最近渗透遇到的一点点经验分享. F5修改cookie机制 F ...
- 计算a^b==a+b在(l,r)的对数Codeforces Round #597 (Div. 2)
题:https://codeforces.com/contest/1245/problem/F 分析:转化为:求区间内满足a&b==0的对数(解释见代码) ///求满足a&b==0在区 ...
- python语法基础-并发编程-协程-长期维护
############### 协程 ############## # 协程 # 小知识点, # 协程和进程和线程一样都是实现并发的手段, # 开启一个线程,创建一个线程,还是需要开销, ...
- rest framework-解析器和渲染器-长期维护
############### 解析器 ############### # 解析器----数据解析器, # # 前端发送了json数据,在request的body里面, # 我们需要把json ...
- 高性能JAVA开发之内存管理
这几天在找一个程序的bug,主要是java虚拟机内存溢出的问题,调研了一些java内存管理的资料,现整理如下: 一.JVM中的对象生命周期 对象的生命周期一般分为7个阶段:创建阶段,应用阶段,不可视阶 ...
- Jmeter阶梯式压测
https://www.cnblogs.com/Zfc-Cjk/p/11639219.html 什么是阶梯式压测? 阶梯式压测,就是对系统的压力呈现阶梯性增加的过程,每个阶段压力值都要增加一个数量值, ...
- Computing Essentials_第一章习题
- rxjava2 dependency
<dependency> <groupId>io.reactivex.rxjava2</groupId> <artifactId>rxjava</ ...
- Null Hypotheses| Alternative Hypotheses|Hypothesis Test|Significance Level|two tailed |one tailed|
9.1 The Nature of Hypothesis Testing Over the years, however, null hypothesis has come to mean simpl ...
- [LC] 64. Minimum Path Sum
Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right which ...