【学习笔记】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学习笔记——深层神经网络的整理
维基百科对深度学习的精确定义为“一类通过多层非线性变换对高复杂性数据建模算法的合集”.因为深层神经网络是实现“多层非线性变换”最常用的一种方法,所以在实际中可以认为深度学习就是深度神经网络的代名词.从 ...
随机推荐
- laravel如何输出最后一条执行的SQL
\DB::connection()->enableQueryLog(); // 开启查询日志 \DB::table('xxx'); // 要查看的sql $queries = \DB::getQ ...
- idea,2018版破解方法
1.准备安装文件 2.安装 ideaIU-2018.3.5.exe ,如这里是安装到IDEA这个文件夹: 3.复制JetbrainsIdesCrack-4.2-releasexxx.jar放到IDEA ...
- JavaScript创建函数的方式
在JavaScript中,创建函数是比较常见的操作,但是JavaScript中怎么创建函数呢,有几种方式可以创建函数呢?在JavaScript一般有三种方式创建对象1.函数声明方式格式:functio ...
- python语法基础-函数-内置函数和匿名函数-长期维护
################## 内置函数 ####################### """ 一共是 68个内置函数: 反射相关的内置函 ...
- C语言占位符(待完善)
%c 读入一个字符 %s 读入一个字符串,遇到空格制表符或者换行符时结束. %d 读入一个十进制整数 %x或者%X 读入一个十六进制整数(读出时,%x:小写,%X:大写) %o 读入一个八进制 ...
- [LC] 257. Binary Tree Paths
Given a binary tree, return all root-to-leaf paths. Note: A leaf is a node with no children. Example ...
- Win32双缓冲画图原理
网上有许多文章讲述了如何使用Visual C++程序实现双缓冲,都是用C++面向对象语言写的,可能对很多没有接触过面向对象语言的C语言初学者来说理解起来有些困难,并且有些好心人也只是把源代码贴上去,不 ...
- 配置gitlab(备忘)
已经配置好github的基础上,clone gitlab 地址git status 显示改变了的文件但是webstorm文件颜色不改变问题的解决:VCS->git-->remotes--& ...
- 用VS2013进行调试
首先新建一个简单的C++程序 打开VS2013-文件-新建-项目-选择Win32 控制台程序 添加-新建项-选择C++源文件 编写如下代码 #include<iostream> using ...
- node新人
node 使用 http和express创建服务器环境 如 apache iis等 不需要配置一堆文件 为啥使用node 省事 v8引擎 异步js 不影响浏览者浏览网站 redis ...