实践经历介绍
实践经历介绍
前言
本人本科阶段的第一段实习在月初结束,最近需要准备简历去投递秋招,在这里对实习经历中的工作内容介绍、技术点介绍、困难点介绍进行总结,方便后续简历的编写。
实习内容
职务:服务器开发(go) 工作时间:2025年3月-2025年7月
- 负责两款游戏服务器开发,全程参与游戏需求的抽象、protobuf协议设计、游戏逻辑开发、测试验收至上线部署全过程;
- 部分游戏采用快照同步的模式,能够根据需求抽象快照结构,制定状态同步方案;部分游戏采用帧同步的模式,能够根据需求制定帧同步方案,完成帧同步的后端框架。游戏逻辑开发采用阶段化的思路,同客户端的交互采用服务器权威的请求-响应模式。
- 参与通用服务器网络框架的重构优化工作,借鉴actor模型思想,利用单协程任务队列和订阅发布设计模式对框架的请求处理机制进行优化,实现逻辑无锁化,使得服务器能够承受万级并发请求。
- 负责部分游戏的背包系统的后端功能迭代,采用微服务思想对背包系统进行独立服务化,采用DDD领域驱动设计思想设计,gRpc实现背包系统服务;明确背包系统接口,选用Mysql进行储存层开发,设计通用的道具表结构、装备表结构;采用ViewDto设计背包结构,实现客户端渲染结构和表结构解耦;利用gRpc使得背包服务同时具备内嵌能力和独立部署能力;
- 负责部分游戏的道具系统的后端功能迭代,道具状态同步,使用Json配置表实现道具的可自定义配置;负责线上道具发放用户反馈问题的排查和修复。
- 负责道具发放分布式通知功能开发,采用nats消息队列中间件和订阅广播模式实现道具发放消息的跨服务器通知,使用redis缓存消息实现用户离线下的消息通知;
- 负责实时积分排行榜独立服务开发,采用gRpc实现,使用Mysql实现日榜、周榜、总榜的排行榜功能和数据存储;
- 负责客户端报错日志上传服务开发,采用gin框架作为网络框架,zap日志库作为日志器,支持客户端日志打印和日志文件上传至Oss对象存储;
在对简历中的个人能力模块进行修改完善 【1】熟悉golang编程语言,掌握slice、map、channel、context等基础语法,了解go并发模型和GMP模型; 【2】掌握Cpp,了解Cpp面向对象、内存管理、STL、现代特性等; 【3】熟悉Gin,Gorm,gRPC等常用的Golang框架和中间件,熟悉protobuf协议库的使用;熟悉redis、Mysql等常用的数据库中间件的使用,了解nats等消息队列中间件的使用; 【4】了解actor模型,了解常见的游戏状态同步方案,如快照同步、帧同步等; 【5】熟悉数据结构与算法、计算机网络、操作系统 【6】了解Linux网络编程,Linux Epoll多路复用模型,能够进行网络服务框架开发;了解Linux内核、TCPIP网络协议栈模型; 【7】熟悉git协作开发,具备参与开源社区贡献的经验
This post is licensed under CC BY 4.0 by the author.