个人介绍
可以使用 C/C++/Golang 编程语言进行开发,熟悉 C/C++/golang 基本语法以及编程思想。 熟悉 STL 以及 go 标准库,能够熟练使用 STL 中大部分容器,例如 vector,map 等。 熟悉 golang,了解 channel、map、slice、context 等底层原理,了解 GC、GMP,熟悉 gin、 grpc 等开源框架,熟悉 k8s,了解 k8s 调度器底层原理。 熟悉 Linux 网络编程,了解并使用过 Linux I/O 复用机制:select、poll、epoll。 熟悉 Linux 系统编程,熟悉多线程、多进程编程技术,熟悉 IPC,了解虚拟内存、进程调度等。 掌握常用数据结构,如栈、队列、链表、二叉树等;掌握基本的排序算法,如快排、堆排等。 熟悉 TCP/IP 五层模型,熟悉常见的网络协议如 TCP/IP、UDP、HTTP、HTTPS 等网络协议。
喜欢钻研,对学习和编程中遇到的问题能够和同学一起交流,相互学习,既具备独立思考和独 立解决问题的能力,也能和同事一起探讨,共同探究难题。具备良好的交流能力和团队合作能力,理解能 力强,学习能力强,善于思考
工作经历
2023-07-03 -至今虹软科技云原生开发
1.负责golang后端开发; 2.负责AI平台K8s调度器开发; 3.负责AI平台集群运行以及维护;
教育经历
2020-09-01 - 2023-07-01西安邮电大学电子信息硕士
2016-09-01 - 2020-07-01西安邮电大学物联网本科
技能
1.负责AI平台监控报警; 2.对于client-go进行k8s集群管理; 3.监控集群GPU状态; 应用程序通过实现Prometheus的metrics接口,可实现Prometheus采集自定义指标,通过prometheus-adapter转化为K8S可以识别的格式,prometheus采集到的metrics并不能直接给k8s用,因为两者数据格式不兼容,这时就需要另外一个组件(prometheus-adapter),将prometheus的metrics 数据格式转换成k8s API接口能识别的格式,因为prometheus-adapter是自定义API Service,所以还需要用Kubernetes aggregator在主API服务器中注册,以便直接通过/apis/来访问。
基于Reactor模型多线程C++ Web服务器 1.实现channel类根据事件注册回调函数,事件驱动,有响应事件触发回调函数; 2.抽象连接类Connection,继承实现Httpconn类; 3.采用主从Reactor模式,一个mainReactor,多subReactor,mainRector负责监听连接,建立连接,采用阻塞Epoll水平触发防止丢失连接,subreactor采用非阻塞Epoll边沿触发处理请求,采用round robin将每个连接均匀分配给subRector,subRector负责读写以及业务逻辑; 4.利用RAII以及单例模式实现数据库连接池; 5.日志分前后端,后端线程负责将日志写入磁盘,前端采用阻塞线程安全的队列收集日志; 6.利用状态机以及正则表达式实现Http报文解析; 7.采用智能指针防止内存泄漏; 8.利用小根堆实现连接超时定时器,每个eventloop有一个连接定时器,连接超时清除多余连接;