当前位置: 首页 > article >正文

面向实习的Golang服务端技能分析

背景:

这个文章就当总纲看吧,没什么内容,大概是我的一个学习计划

首先,该文章是我希望大二暑期能够找到Go后端开发岗位实习机会,结合boss、2024版go学习路线以及我一个go萌新的现有技能做出的大约四个月时间掌握开发技能的规划。随后我也会做一下自己关于这些技术栈的学习笔记,希望各位大佬多多分享学习资料,写的不对的地方还望多多纠正。

为什么是Go:

  1. 作为一个没有审美的工科生,我认为前端开发真干不了一点。前端对我而言是一个需要了解和会使用简单框架的了解向技能,大约掌握一下三件套、vue和如何和后端交互就差不多了。

  2. 对于开发岗位而言,我个人认为本科阶段就业或者企业实习,后端开发岗位都是性价比最高的岗位。在后端岗位中我了解到的go后端开发相对而言需求量和内卷程度都是适中的。

  3. 结合我个人写的一些Java和go代码,我认为go语言是更好上手和理解的。我个人浅显理解,Java好比是一个严谨的组织结构,每个类和方法等都可以画出清晰的结构图;而go就好像是搭积木,无论是接口或者"类",都可以使用简单的结构体来实现,需要属性就新建属性,需要方法就绑定一个新方法,就像搭积木一样。

  4. 然而,相比于Java成熟的体系,基本要学的每一项技术栈都有一个或者多个优秀的教程,go的资源可能就很有限了,这也是学习Golang不太爽的地方。

技术栈:

我认为需要学习的技术栈大致分为一下几类(不分先后):

开发项:

  1. 基础编程: 这一块主要是Go的基础语法以及Gin框架的简单使用,算是入门内容了。我认为这个大概做一个go的xx管理系统就大致过关了,可以看一下我之前写的Gin项目
  2. 网络编程: 主要是TCP/IP协议的使用,这个基本上实习岗位都会要求的。
  3. 并发编程: 这一块我认为需要大概了解一下如何开辟go协程,大概就是写一些锁。我认为这部分仿写不难,但是理解清楚如何设计是很重要的(建议多画图),这个看一下刘丹冰老师的8小时转职课后面的项目就好
  4. 数据库: 这个主要是Mysql和redis,其他一些DB据我的了解掌握这两个就很好上手。而go为这两类数据库提供了Gorm框架,直接搜文档cv就可以(不过感觉底层还是了解一下为好,我是找了Mysql技术内幕和Redis实现原理两本书看)

会使用项:

  1. 操作系统: 会用Linux,会在云服务器上部署项目感觉就差不多了
  2. 微服务: 很多时候要求的是“理解微服务结构”,我个人了解很少,只是会用grpc,我感觉找第一份实习的话这个其实要求并不高(乱说的啊)
  3. 工具: 会使用K8s和docker感觉也是很多岗位的要求,不过这个要求也就是会用即可

加分项:

  1. 大数据: 这个其实是整个后端开发的加分项,刚好寒假的字节青训营有这部分的课,我学了之后写一写学习笔记吧
  2. 云原生: 就像使用go的第一个程序是聊天程序一样(最有特点),云原生绝对是go的一个热门应用
  3. IM即时通讯: 这个我不太了解

学习资料

这个是牛客网给的学习路线:
在这里插入图片描述

基础语法

  1. 基础内容建议看一下刘丹冰老师的八小时转职go的课程;李文塔的《go语言核心编程》也是一本很好的入门书
  2. 几个经典的包也要看一看(runtime sync net io time reflect)这个看go语言中文文档就好(我接下来也会出一下自己对方法的总结和理解)
  3. Gin框架,这个我感觉做项目是最直接的方法,这是我写的一个小项目

数据库

  1. 数据库的内容建议先学习Gorm框架
  2. 之后尝试搭建一下redis的环境,简单操作
  3. 接下来就是看Mysql技术内幕和Redis实现原理(其他书也是可以的),了解一下底层的原理

并发

  1. 这个我觉得就是先做(抄)一个聊天类的项目
  2. 然后自己画出来这个程序信息的传输路径,这样最清楚

网络

  1. Tcpip这个我之后出一下自己的学习笔记(感觉这个也是了解底层的)
  2. http感觉也是要学的

面试

  1. 这个可以找一些面经,或者刷一些b站上几面几面的短视频,不过这个不着急,先把基础内容学会再看

http://www.kler.cn/a/469225.html

相关文章:

  • 网页数据如何正确copy到postman中
  • 苍穹外卖 项目记录 day03
  • 设计模式 行为型 策略模式(Strategy Pattern)与 常见技术框架应用 解析
  • MCGS学习记录
  • 数据挖掘——集成学习
  • 【顶刊TPAMI 2025】多头编码(MHE)之极限分类 Part 4:MHE表示能力
  • MATLAB语言的函数实现
  • [桌面运维]windows自动设置浅深色主题
  • 基于Springboot +Vue 实验课程预约管理系统
  • [CTF/网络安全] 攻防世界 simple_php 解题详析
  • 决策树和随机森林
  • 云手机 —— 手机矩阵的 “超级外挂
  • JAVA解析Excel复杂表头
  • HTML——66.单选框
  • Unity3D 搭建ILRuntime开发环境详解
  • security框架的安全登录
  • 【Cesium】九、Cesium点击地图获取点击位置的坐标,并在地图上添加图标
  • Chrome 查看 session 信息
  • 后端Java开发:第七天
  • ref() 和 reactive() 区别
  • Genome Research | 俄亥俄州立于忠堂组-结合深度学习与蛋白质数据库系统探究反刍动物真核微生物...
  • 解决docker: Error response from daemon: Get “https://registry-1.docker.io/v2/“: net/http: request canc
  • 如何在 Ubuntu 22.04 上安装 Cassandra NoSQL 数据库教程
  • SQL Server 中生成等差数列的方法研究
  • 【操作系统不挂科】<内存管理-文件系统-磁盘调度(19)>选择题+简答题(带答案与解析)
  • 挖掘建模之分类与预测