专业技能

  • Java: 2012 年学习/使用至今; 掌握集合框架, IO/NIO, 多线程编程, 网络编程; 熟悉 JSP, Servlet, MyBatis, Spring, Spring Boot, SpringMVC 等常用框架; 了解 JVM 原理/规范;

  • Kotlin: 2017 年学习/使用至今; 熟悉 Kotlin 编程语言, Kotlin 与 Java 混合编程; 有基于 Kotlin 的 Web 项目工作经验, 及 Android 业余项目经验;

  • Python: 2017 年学习/使用至今; 熟练使用 Python 爬虫框架 Scrapy, 有基于 Scrapy 的多个工作项目经验, 及业余项目经验;

  • 爬虫: 2017 年学习/使用至今; 熟悉各种类型的反爬虫机制及其应对策略, 熟练使用 CSS 选择器, XPATH 选择器正则表达式抽取网站数据内容, 有 Web 网站及 App 抓包经验;

  • 编程理论: 熟悉常用数据结构及算法, 面向对象编程思想, 常用设计模式;

  • 其他技能: 善于使用 Bash Shell 命令行提高工作效率, 熟练使用 Git 版本控制系统, Maven/Gradle 编译构建工具, VIM, Docker, Nginx, Redis 等;

求职意向

  • Java 工程师

  • 爬虫工程师

工作经历

广州市云动科技有限公司 - 爬虫工程师 / 后台研发工程师

2016 年 12 月 - 2018 年 04 月

Newsjet: Newsjet 是一款基于数据挖掘的新闻内容推荐 App 产品

  • 负责项目新闻数据的爬取, 解析, 去重, 入库存储等工作;

  • 使用 Kafka 作为消息队列, 将爬取和解析后的新闻数据分发, 供其他进程消费;

  • 使用 Solr 接口提供检索功能;

  • 使用 HBase 持久化/备份新闻数据;

Music FM: Music FM 是一款基于 YouTube 进行二次开发的音乐播放产品

  • 使用 Jsoup 负责项目歌单, 歌曲等内容的爬取工作;

  • 使用 Spring Boot, Spring MVC, Spring JPA 等框架, 负责项目后台接口开发;

  • 使用 MockMVC 编写项目单元测试, 并使用 Spring REST Docs 生成 API 文档;

  • 使用 Nginx 进行负载均衡, 使用 Redis 进行缓存, 优化后台服务器, 保证服务稳定;

Groupy: Groupy 是一款让粉丝随时查看爱豆的即时状态和让爱豆拍摄各种精彩短视频的 App 产品

  • 使用 Netty, Spring, MyBatis 进行项目的后台接口开发;

  • 主动学习并引入 Kotlin 语言进行服务端编程, 提高编程效率;

  • 搭建和维护 ELK 数据统计平台, 收集用户行为数据和服务器日志, 帮助运营人员决策及故障排查;

  • 多次参与公司新技术预研, 选型, 实现和分享;

  • 有代码重构, 数据库优化, 缓存系统设计实践经验;

个人总结

  • 本人对计算机科学有浓厚兴趣, 主要兴趣方向为 Java 程序设计语言及其相关技术栈;

  • 对前端, iOS, Android 开发等都有涉猎, 可与其他技术人员无障碍沟通;

  • 在平时的工作和学习中对代码要求质量极高, 实现功能的同时追求代码的简洁, 优雅, 自文档化, 并在完成功能后对代码进行 Review;

  • 会利用业余时间学习和研究新的技术, 思考使用场景并积极在实践中应用;

  • 热爱开源, 乐于分享; 利用业余时间阅读开源项目源码, 参与开源项目; 阅读过 MyBatis 源码, 在读 Netty 源码;

语言能力

  • 获得大学英语四级/六级证书, 无障碍阅读/观看英文技术文档/视频;

  • 全英环境(字幕/作业)学习在线课程机器学习, 并以 96.1% 的成绩获得认证证书;