能够正常阅读英文技术文档;
熟练使用Wireshark/tcpdump抓包工具,并进行分析;
工作中也会涉及一些shell编程;
一直在使用SSH框架;
对Java并发有一定掌握,阅读过JDK相关源码;
熟悉Hadoop以及基于其上的Nutch;
做过七个月的网络爬虫,负责一个基于Scrapy的分布式爬虫方案;
使用过Python的异步驱动框架Twisted;
2017.12-2018.2 验证码识别
针对安居客网站,主要负责图片切割部分,使用的算法包括垂直投影、连通域、传统滴水算法,另外还有使用PIL类库进行图片预处理以及机器学习相关,包括建立素材库,相似度对比等。
2017.6-2017.10 基于Scrapy的分布式爬虫系统
我是这个项目的负责人,主要工作包括方案的编写,核心代码的实现以及给项目组的其他成员分派任务并协助其实现。该项目主要包括两个部分:分布式爬虫和用于爬虫任务管理的WEB系统。其中分布式爬虫借助于Scrapy实现的,并使用Scrapy-redis取代原有队列模块以实现分布式的功能。任务管理模块是基于Django和Scrapyd实现的,因为Scrapyd的局限性,比如服务重启会丢失历史任务,任务列表不含版本号等,我们针对这些问题进行了二次开发。
2016.7-2017.5 渲染系统REST API
接口文档编写;tomcat/spring/hibernate/cxf等环境等搭建;请求解析、参数验证及响应模块等设计和实现;异常或错误处理机制等设计和实现;资源限制策略;消息推送等。
2015.10-2016.7 渲染系统后台开发
主要负责权限管理、节点机管理和用户信息管理三个模块。其中权限是根据部门以及在部门中的职位来区分的;节点机管理是通过网页实现节点机的批量重启、修改属性以及做一些维修记录等;用户信息管理主要是用户信息的查询和修改,包括用户操作记录等。