1)精通Java语言,熟练掌握集合,I/O,多线程;
2)熟悉JVM原理,有线上GC调优经验;
3)熟悉常用数据结构和算法;
4)熟悉常用设计模式;
5)熟悉分布式系统常用组件(Zookeeper、Dubbo、Redis、Kafka),并对其原理有所了解,有线上排查调优经验;
6)熟练使用Mysql,有线上调优经验,熟悉mysql索引原理、事务隔离等相关知识;
7)熟悉推荐系统流程,了解部分推荐算法;
8)熟悉Spring,有过Spring项目开发经验;
9)熟悉常用Linux命令,能独立在Linux服务器上排查问题;
10)熟悉shell脚本语言;
11)熟悉Git代码托管工具;
12)熟悉JNI,有用JAVA通过JNI调用C++的经验;
13)使用过hadoop、hive等大数据框架,了解MapReduce工作原理;
14)了解docker,使用过docker搭建召回插件
项目经验项目1:推荐系统API——BOSS直聘
项目简述:推荐系统API被定位为推荐接入和控制中心。推荐API作为整个推荐系统的入口,平时需要和产品/算法同事对接需求,和server端对接接口,和测试对接测试任务;推荐API作为控制中心,负责流量分发调度、数据中转处理、各种兜底预案处理。
➢工作职责:负责与产品和算法对接需求,需求评审,方案设计,代码开发,推荐内部沟通协调、提测;负责推荐中台第三方服务接入,接入规范,QPS预估,机器申请等;负责API各种降级预案设计开发,包括非法请求校验过滤、流量卸载、缓存故障降级、调用精排或召回超时降级、调用卡片服务超时降级等等;负责项目日常维护,例如线上耗时排查,GC调优等;项目重构
➢工作业绩:对外作为推荐系统的门面,对内作为推荐系统控制中心,能够很好地与他人沟通协调,积极配合其他部门工作,协调组内员工快速修复线下各种环境或空列表问题,留下好口碑;积极配合道具组、店长组、F2推荐服务接入推荐中台,为整个公司搭建整合一个推荐中台奠定好基础;推荐API各个环节的降级预案设计落地,使得API更加健壮,能在其他服务或存储不可用时,依旧能保证线上不空列表;推荐API的整体重构,优化了接口数据结构,采用了多种设计模式,使得代码简洁更容易阅读,极大地提高了开发效率
项目2:推荐系统卡片服务——BOSS直聘
➢项目简述:卡片服务主要负责根据推荐系统推出来的ID列表,渲染成APP上需要展示的文字描述。卡片服务不做查库操作,所有低层数据均是调用server端接口或者推荐的特征服务。整个渲染过程包含大量的产品业务逻辑和策略产品的实验逻辑,并且项目大量调用其他服务,线程并行度高。
➢工作职责:负责对接版本需求和策略产品需求,需求评审,方案设计,开发提测等;负责卡片服务各个环节的降级预案设计开发,包括查配置表超时、调server端接口超时等;卡片策略插件化,将所有产品策略或实验抽象成插件,做成可插拔式,对接AB系统,由平台控制使用哪些插件渲染列表
➢工作业绩:配合策略产品优化工作经历展示,在不同的场景下均取得极好效果,BOSS的开聊达成均有不小提升;整个卡片服务较为健壮;卡片策略插件化后,极大地降低了开发时间,有些需求甚至可以做到0开发,直接在实验平台上配置参数即可测试上线
项目3:TDM子召回——BOSS直聘
➢项目简述:TDM(Tree-basedDeepModel)是阿里妈妈为解决在召回阶段使用深度模型打分的推荐算法解决方案,已被用于淘宝广告系统。调研TDM是为了解决多个问题:1.流量增长时,申请机器的代价和提升的召回效果不成正比;2.目前召回阶段无法使用深度模型,基本是全量召回再过滤;3.召回和排序无法做联合优化。➢工作职责:
调研TDM,判断是否能使用BOSS直聘推荐场景;使用docker搭建TDM环境;排查TDM性能问题,从开始的三四百毫秒优化到50ms;搭建TDMClient项目,项目使用JNI调用TDMserving的C++接口,实现HA,并添加过滤层,做召回后的必要过滤
➢工作业绩:在网上参考资料有限的情况下,能快速了解TDM背景并独立搭建TDM环境;在不熟悉C++语言的情况下,排查TDM性能问题并解决;提前完成TDM的最小版本上线
项目4:国网双创线上平台——北京重点普华
➢项目简述:国家电网计划打造一个面向全社会的线上平台,平台上可以发布需求,选择合作伙伴合作转化成成果,成果可以进一步孵化产品进行销售。
➢工作职责:项目前期担任前端组长,使用vue搭建前端开发环境,编写页面,添加前端拦截器限制页面的访问权限以及根据后端返回的状态码跳转到相应界面,前端项目的打包及部署工作;项目中期担任构建组组长,主要负责前后端项目的打包与构建工作。项目后期担任后台开发人员,主要负责集团发布的临时任务所需要的接口编写,比如:指标库中指标的增删查改功能,使用JPA批量删除,使用postman测试接口,以及前后端联调,改BUG等。
➢工作业绩:快速掌握vue、jquery等前端使用,并在项目排期内带领组员完成前端所有开发工作;积极配合后端开发人员联调测试,使得项目提前完成测试上线;
boss直聘首页推荐,整个推荐系统较为复杂,本人设计开发过其中大部分子系统,包括召回、精排、推荐API、卡片服务、AB实验等等
国家电网双创线上平台,前期担任前端组长,后期参与运维和后端开发。前端使用vue框架,后端使用springboot微服务