个人信息
- 毕业院校:哈尔滨理工大学(2013.09 - 2017.07)
- 邮箱:rayson951005@gmail.com
- GitHub:RaysonMeng
- 期望工作地点:北京
工作经历
一土(北京)网络科技有限公司(在职)
【一土时空】是一土学校内部老师及家长使用的一款APP,用来记录学生的每一条成长及教学记录,同时也包含学生管理等功能。
Python 开发
2017.07 — 至今
主要工作内容及经历
晨犀老师版及家长版相关后台微服务API接口开发
晨犀(原一土时空)是一款基于线下学校的家校沟通 App
主要包含【行为记录】【课程表】【试听课】【测评】【报告】【请假处理】【班组管理】等功能
- 基于 Django 及 Django REST framework 框架和 Flask 框架及 SQLAlchemy 开发了【请假】【收藏】【评论】【点赞】【测评】【报告中心】【题库】等微服务的 RESTful 风格的接口。
- 在从 Django框架 (Python2)迁移到 Flask框架(Python3)时,解决了 supervisor 及 mysql-python 无法在 Python3 下运行的问题,重新定制了 Dockerfile 和相关配置文件。
- 实现基于 celery 框架以及 RabbitMQ 的异步操作以及 celery beat 的定时任务操作。
- 基于 Redis 数据库实现了数据库对象的缓存以优化耗时的数据库对象查询。
- 基于 pyspider 框架实现了豆瓣电影以及票牛网相关的活动抓取。
- 日常项目优化
- 对接口性能进行优化,减少不必要的字段返回。
- 优化代码逻辑,减少数据库查询。
- 数据库优化表结构,增加索引。
- 增加缓存。
技术栈
Flask | SQLAlchemy | Django | Django REST framework | MySQL
北京科浪扑科技发展有限公司(实习)
Python 开发
2016.11 — 2017.04
工作内容
- 负责内部使用的 API 数据录入功能,将机械化的工作代码化
- 负责 ES 搜索接口的 RESTful 风格的 API 的封装
- 实现基本增删改查接口,数据验证,数据下载功能
- 完成基本的单元测试及多线程并发的性能测试
- 编写 docker-compose
- 服务器环境部署(uWSGI,Nginx)
技术栈
Docker | Falcon | Cassandra | uWsgi | Nginx | pytest
个人项目
免费Shadowsocks账号分享
通过爬虫,获取网络上公开的SS,SSR账号,使用 Flask 配合一个 JS 的二维码渲染库的将二维码展示出来,以供公开使用
技术栈
Flask | Redis | MySQL | Docker | uWSGI | Nginx
实现功能
- 多爬虫多线程同时爬取不同的网站
- 将爬取到的账号信息按 SS 协议的规则进行编码
- 使用MySQL记录爬取的日志
- 使用Redis记录爬取到的账号,实时更新
- 测试爬取到的账号速度,质量,并进行评分
鳄鱼词典
User Story:女朋友俄语系,日常有很大的查单词需求,可是一个非常好用的查单词的 APP 只在 Android 系统有 APP,没有 iOS 端,所以写了一个小 iOS APP 来给她查单词用
实现:通过 Charles 抓包,找到了安卓端 APP 请求的 API,顺藤摸瓜找到了 web 页面,找到了请求地址。接口实现了自动判断是句子还是单词,句子的话调用 Google 的翻译接口,单词的话调用了之前抓到的请求接口。并且句子的话会把每个词切割处理啊,同时多线程发请求来调用单词接口,再将每个词的翻译查出来
结果:🤦然而最后并没有使用我自己写的 API,而是直接将接口的返回值嵌入了 webview。
个人评价
工作态度:
- 不用百度,自带梯子
- 技术服务业务
- 代码规范
- 注重性能
- 尽量在工作效率和代码效率上达到平衡
- 重视 Code Review,对于同事提出的问题虚心接受,同时也能认真负责的 Review 他人代码。
个人定位:主攻后端开发,不局限于语言,愿意了解各种后端组件及数据库等,乐于折腾各种架构环境
我的优势:有良好的沟通能力以更好地了解业务需求,热爱技术,乐于学习和了解各种语言和框架,例如当下比较火的Golang,遇到问题不过分依赖其他人,能够主动独立的解决,哪怕查穿 Google 翻遍官方文档和 Stack Overflow 或者到 GitHub 上提 issue。除了国内的一些技术大牛,每天也通过 Twitter,Github Trending,Reddit 等主动了解最新的技术,保持视野开阔。
我的劣势:算法相关不是很熟练,目前是通过经常刷 leetcode,仔细理解优质回答来进行提高。
技能清单
以下技能中的子项按熟练程度排列
- Python Web
- Flask
- Django,Django REST framework
- SQLAlchemy
- Falcon
- Python 爬虫
- requests + lxml
- Selenium + PhantomJS + lxml
- DB
- MySQL
- MongoDB
- Redis
- 单元测试
- pytest
- 服务器
- uWSGI
- Nginx
- 其他
- Docker
- kubernetes
开发环境及工具
- Mac
- VScode
or
PyCharm - iTerm2 + zsh
- Postman
or
Paw - DB Browser
- SourceTree