# 王祥的简历 [github下载pdf版本](https://raw.githubusercontent.com/ramwin/resume/master/王祥的简历-上海交通大学-全栈工程师-10年.pdf) [github访问](https://github.com/ramwin/resume/) [国内下载pdf版本](./王祥的简历-上海交通大学-全栈工程师-10年.pdf) [国内访问](http://resume.ramwin.com/README.html) ## 基础信息 * 姓名: 王祥 * 性别: 男 * 电话: 18801903271 * 邮箱: [*ramwin@qq.com*](mailto:ramwin@qq.com) * 出生年月: 1992.01 * [stackoverflow: 6333分](https://stackoverflow.com/users/3601654/ramwin) * [github: 58 followers](https://github.com/ramwin) * [pypi: 40个项目](https://pypi.org/user/ramwin/) ## 教育经历 时间 | 学校 | 专业 ---------- | ----------- | ----------- 2010.09 - 2014.07 | 上海交通大学 | *化学化工学院* ## 工作经历 时间 | 公司名称 | 岗位 | 技术挑战 ------------ | ------------- | ------------- | ------ 2014.07 至
2015.06 | 中天科技集团 | *工艺员* | 自学密码学,算法原理,linux运维 2015.06 至
2016.07 | 南京振古信息科技有限公司 | *全栈工程师* | 项目前后端开发部署运维
管理10人团队 2016.08 至
2017.07 | 上海希格斯智能科技有限公司 | *全栈工程师* | 深入理解DRF
完成会议室系统,招聘系统 2017.08 至
2020.04 | 上海小荐网络科技有限公司 | *全栈工程师* | 大量拆分模块项目
千万级数据计算,秒级计算 2020.04 至
2021.07 | 上海锐天投资管理有限公司 | *全栈工程师* | 几十TB交易数据处理
数据并发处理分析框架 2021.07 至
今 | 上海华为技术有限公司 | *全栈工程师* | 测试框架,每日自动化测试
上亿级别数据处理 ## 项目经验 ### 上海华为技术有限公司 #### 无线网络产品设计部(2025.04~今) * 个人职责: 无线芯片优化方案设计 设计芯片内性能,功耗优化方案, 根据仿真日志推算收益对比各个方案的合理性. * 项目简介: 无线基站产品芯片SOC的性能和功耗优化设计. * 项目难点: 需要思维异常敏捷,能挑战一切不可能的约束,提出创新型的想法. 需要快速验证的能力,能利用可用的资源和日志尽可能推算真实场景. #### LTE 4G无线产品部测试系统(2022.12~2025.04) * 个人职责: 项目负责人, 全栈工程师, 负责产品方案设计, 任务流程规划, 技术选型, 新人指导 * 带队人数: 5人 * 项目简介: 综合其他模块功能数据, 完成用例设计, 策略规划, 用例执行的完整流程. 设计整个项目框架, 提供统一规范的API和适配流程给其他子系统 * 项目难点: **千万级用例**方便用户随时筛选,各种模式匹配 百万级任务如何分批调度**上千**台执行机**并发**测试. 合理规划升级路径, 执行流程. 万物留痕, 方便复盘每个bug的出现. #### LTE 4G无线产品部性能网站(2021.07~2022.12) * 个人职责: 项目负责人, 全栈工程师 * 项目简介: 实现每日版本的性能数据全自动测试,归档,对比分析. 提供通用工具方便开发测试各种编译参数的性能(CPU占用率,IPC,内存占比,cache miss率) 分析内存访问记录,提供优化指导 * 项目难点: 流程非常长, 需要 申请虚拟机 -- 挂载磁盘 -- 同步代码仓 -- 适配编译工具 -- 清理缓存 -- 编译软件 -- 同步可执行文件 -- 下发执行任务 -- 同步性能测试结果 -- 保存对比数据 -- 访问日志分析 1. 代码仓巨大, 如何快速同步(使用共享磁盘挂载,并加锁避免多个虚拟机同时使用,编译后释放) 2. 编译很慢,如何快速测试(根据代码仓url生成hash保存到指定文件夹,以commit来保存二进制文件,避免重复编译. 保存编译状态, 小版本之间充分利用缓存) 3. 日志文件上百G, 光结构体信息和全局变量信息就占用了几十个G内存. 如何快速准确解析.(设计文件保存格式, 支持分批多进程解析, 尽量让每个进程只载入部分结构体和全局变量) 4. 任务流程非常长,执行可靠新差,容易报错怎么办(利用后端保存各个任务进度,支持每个任务的单独执行) ### 上海锐天投资管理有限公司 主要做公司内部OA系统和数据清洗对比工作 * 基金调整项目 对一个组内的多个同类基金进行资产判断,保证他们的收益曲线接近. 当持仓差异过大时生成可自定义的交易列表提醒交易员 * 项目难点: 多个基金的数据联动变化,需要找到最小操作次数让多个基金的持仓误差小于执行范围 * 投资人合规审查系统 保存所有投资人的基础信息穿透信息,对不合规的投资人进行剔除 * 分红系统 根据分红方式,分红频率,分红基准,利用分红记录, 实现对每个客户/每个基金分红的计算 * 难点 每种分红的方式都不一致, 需要设计一套通用的分红框架给不同分红方式 * 打新系统 根据邮件推送,及时提醒运营人员满足条件,即将打新的股票 根据交易策略,及时提醒运营人员确认打新份额,卖出时机 根据交易员下发的打新价格,快速生成交易所的打新规范文件 * 数据清洗 对不同券商上TB级别的tick数据和价格数据进行统一处理, 互相之间进行验证,确保数据的可靠性. 设计了一套批量任务处理框架, 利用ceph文件系统+redis部署任务, 利用公司k8s服务进行快速计算 设计了一套针对pandas处理的框架, 只用修改配置就能实现不同券商数据的归一化. ### 上海小荐网络科技有限公司 -- 对上智能商汇 * 简介: 一款商务社交软件,用户可以在这里匹配到最适合的商业伙伴,轻松拓宽自己的人脉。 * 利用django-rest-framework做基本的crud接口 * 主要技术: django-rest-framework, python * 个人职责: 1. 全部的后台接口 2. 利用websocket做了整套的聊天机制,和网页的实时互动系统 3. **利用redis, celery, rabbitmq处理了四千万数量级的匹配数量的任务队列和查询机制。实现了系统的推荐机制** ### 上海希格斯智能科技有限公司 [内网系统](https://github.com/ramwin/resume/blob/master/higgs/) * 简介: 给公司内部使用的系统 * 主要技术: django django-rest-framework vue * 个人职责: 1. 后台系统。包含论坛,周报,代办事项等模块 2. 设计了公司的业务流程后台,从而能实现业务流程的自定义,设置流程的前置条件和后置任务 3. 利用redis实现了网页上类似tower, teambition的代办事项功能。 4. 前端页面, 主要用vue。做过会议室管理系统,做了时间表,可以通过图表一眼看到哪个会议室什么时候在被人使用. [图片链接](https://github.com/ramwin/resume/blob/master/higgs/img/会议室管理系统.png) 5. **独立实现了公司的oauth系统, 接口格式照抄了微信公众号的登录认证模式** [图片链接](https://github.com/ramwin/resume/blob/master/higgs/img/oauth2.0认证系统_1.png) 6. 和公司的exchange系统里的会议室功能联动,实现了在内网上查询预定会议室以及发送邮件通知的功能。 ### 南京振古信息科技有限公司 [数据邦](https://github.com/ramwin/resume/blob/master/zettage/README.md) * 简介: 一个云计算,云共享平台,用户可以把他们自己写的脚本,数据放入该平台,可以实现数据脚本共享,交易,在线分析等功能 * 主要技术: django, python, docker, mysql * 个人职责: 0. git服务器的搭建 1. 数据库设计 2. 后台逻辑业务的实现 3. 部分前端页面。用递归写了文件的目录树以及对应的操作功能 3. 调用底层docker的接口, 对相应的服务进行操作 4. 利用redis, kafka, flask实现了一个提供了增删改查api接口的应用,让用户可以上传并查看他们的传感器数据/流式数据。 5. 调用支付宝API,实现用户充值支付功能 ### 其他项目 * 振古公司主页。 * 船舶管理平台。这个平台的接口太多了,所以我写了[django-rest-extensions](https://github.com/ramwin/django-reference/blob/master/rest-framework/README.md)代码,通过注册model,就能生成api接口 * 音乐管理项目。充分利用git,实现了用代码去写重复代码。 * 爬虫项目。用scrapy爬过十几种网站。最多只涉及cookie,header的模拟,没涉及过反验证码。 #### solana交易系统 实现solana交易数据的全监听, 归档流程. * 项目难点 1. 上TB级别的数据存储. 2. 10+台服务器的规划 3. 实现1000+qps的websocket推送 4. 实现2000+qps的交易处理 5. 实现ms级的交易触发 ## 工作技能 * [python](https://github.com/ramwin/python-reference/) * [发布过40个项目](https://pypi.org/user/ramwin/) * 理解面向对象编程,编写易懂,可复用的代码 * [django](https://github.com/ramwin/django-reference/) & [django-rest-framework](https://github.com/ramwin/django-reference/blob/master/rest-framework/README.md) 点击上面的django链接可以看我学习django的笔记,我是django开发学习群的群主(群号: 461214756),欢迎您加入。 * 深入了解了django-rest-framework的源码,了解里面的[serializer](https://github.com/ramwin/django-reference/blob/master/rest-framework/serializer.md), [view](https://github.com/ramwin/django-reference/blob/master/rest-framework/view.md), mixin的原理 * 写了[django-rest-extensions](https://github.com/ramwin/django-rest-extensions),可以快速生成一个model的api * 写了[viewflow-rest](https://github.com/ramwin/viewflow-rest) * 能做到APP的充分隔离,APP复用 * [web前端](https://github.com/ramwin/html-reference) & [vue](https://github.com/ramwin/html-reference/blob/master/vue/README.md), [小程序](https://github.com/ramwin/mini-program-reference) * 喜欢flex布局,写代码时喜欢考虑自适应 * 熟练运用vue。习惯于组件化页面代码。 * 主导开发了对上智能商汇小程序。 * 利用vue-router, ant-design做了音乐项目后台系统 * [redis](https://github.com/ramwin/linux-reference/blob/master/redis.md) * 处理过超过四千万的数据表,充分利用rabbitmq, redis, celery做了用户匹配后台的异步系统和缓存系统。 * [linux](https://github.com/ramwin/linux-reference/) * 一直负责公司的运维工作 * 经常使用git, github * 英语 * 能无压力地看大部分英文文档。直接阅读了django, celery, redis, mysql的英文文档 * 上很多coursera的英文课程 * 一直在tutorabc(原vipabc)上英语课,当前等级level11 * 大学过了四六级 * 算法 * [leetcode链接](https://leetcode.com/ramwin/) * 录制过一些算法视频,都是现编的算法,无前期准备。[视频链接](https://space.bilibili.com/498198) * coursera上了算法课程, 斯坦福大学,纯英文授课。[课程链接](https://www.coursera.org/course/algo) [课程证书](https://github.com/ramwin/resume/blob/master/算法证书_algorithm_certificate.pdf) * 密码学 * coursera上了密码学的课程, 斯坦福大学,纯英文授课。[课程链接](https://www.coursera.org/learn/crypto/home/welcome) [课程证书](https://github.com/ramwin/resume/blob/master/密码学证书_crypto_certificate.pdf) * 计算机证书 * 2019年上半年考了计算机初级 - 程序员 * 2019年下半年考了计算机中级 - 软件设计师 * JAVA 不熟, 曾使用 [guacamole](http://guacamole.incubator.apache.org/) 的API制作过一个[servlet应用](https://github.com/ramwin/my_guacamole_sample/),实现网页上远程操作局域网内部的电脑的功能。[图片链接](https://github.com/ramwin/resume/blob/master/zettage/img/工作台.png) ## 自学的课程 * [Linux](https://courses.edx.org/courses/course-v1:LinuxFoundationX+LFS101x.2+1T2015/info) * [密码学](https://www.coursera.org/learn/crypto) * [算法导论](https://www.coursera.org/learn/algorithm-design-analysis) * [计算机导论与C语言基础](https://www.coursera.org/learn/jisuanji-biancheng) ## 贡献过的项目 * [hot redis](https://github.com/ramwin/hot-redis) 在redis基础上设计了python的缓存,实现数据的快速查询 * [django commands](https://github.com/ramwin/django-command) 常用的django命令框架,永久运行,指定时间,指定次数运行命令,支持软退出, 支持超大数据集合的分批获取 * [**wechatpy** python的微信API项目](https://github.com/jxtech/wechatpy/) * [修改文档: 引到用户在合适的场景下使用session storage](https://github.com/jxtech/wechatpy/pull/362) * [添加新功能: 获取用户列表的generator](https://github.com/jxtech/wechatpy/pull/387) * [修改生成二维码的文档](https://github.com/jxtech/wechatpy/pull/434) * [添加支付回调时获取appid的函数](https://github.com/jxtech/wechatpy/pull/494) * [修复django的bug](https://github.com/django/django/pull/10497) * [tldr](https://github.com/tldr-pages/tldr) 快速文档查看项目 * [https://github.com/tldr-pages/tldr/pull/1063](https://github.com/tldr-pages/tldr/pull/1063) * [https://github.com/tldr-pages/tldr/pull/1289](https://github.com/tldr-pages/tldr/pull/1289) * [https://github.com/tldr-pages/tldr/pull/2101](https://github.com/tldr-pages/tldr/pull/2101) * [https://github.com/stonebig/sqlite_bro](https://github.com/stonebig/sqlite_bro/pull/3) * [https://github.com/Sopage/china-city](https://github.com/Sopage/china-city/pull/1) * [https://github.com/joke2k/faker 模拟数据生成](https://github.com/joke2k/faker/pull/769#event-1701596869) * [给javascript项目barrager(一个能在网页显示弹幕的项目)添加自定义字体大小功能](https://github.com/yaseng/jquery.barrager.js/pull/27) ## 自我评价 * 自学能力强(自学django, mysql, javascript); * 热爱编程,善于动手; * 英语不错,可以无障碍地看英文资料,文档; * 冷静思考,善于沟通;