TBWORKs Full-stack Labour/全栈民工

项目经历

2007-09-01
Tommy.Tesla

Note: 该列表用于总结性的描述了个人在每家公司的主要工作内容,不包含零碎参与的项目。博客为公开访问,内容若有不妥之处,请联系本人(18217023008)。

字段说明

项目类型:

“业务”代表为纯业务项目 “技术”代表纯技术项目(包括框架、平台、工具等) “偏业务”代表业务开发量较多 “偏技术”代表技术开发量较多 “算法”代表纯算法的项目(数据结构优化、核心算法优化等) “偏算法”代表算法开发为主的项目

项目规模

最高为五星,五星代表大型以及以上项目:如从0到1搭建综合业务电商网站主体、复杂的业务系统(比如订单交易、优惠、库存、财务、核算等)、又或者是某个单一功能中间件的研发、大型网络应用系统(优惠系统、营销系统,POI系统等)的重构等;从项目人日看超过120人日的项目。

技术难度

最高为五星,五星的定义是:项目涉及的技术难点在行业内没有成熟的解决方案,需要靠团队进行摸索和钻研,这意味着大量的自驱的复杂学习和不在预期内的工作量。

在职期间

2018.10-2019.05 卖座SaaS稳定性建设 阿里巴巴-现场娱乐事业部

项目职务:架构师
项目类型:技术
项目规模:☆☆☆☆
技术难度:☆☆☆
项目描述:卖座SaaS系统是可用性级别极高的SaaS系统,承接了2019年男篮世界杯、第七届中国军人运动会等重要赛事,因此稳定性是重中之重,我负责了稳定性建设的总架构设计和实施方案制订(二方包开发、接入文档编写,设计思想宣导等),让整个系统达到高可用、可监控、可降级(按照租户)。 项目职责:总架构师
项目人数:5

2017.11-2018.06 魔轮4S店管理SaaS系统 乐车邦

项目职务:技术总监,项目负责人
项目类型:业务+技术
项目规模:☆☆☆☆☆
技术难度:☆☆☆☆☆
项目描述:整个项目分为线索爬虫、4S店销售流程化和保险机器人三大模块。以4S店销售流程化为主线,线索爬虫模块负责抓取太平洋汽车、易车网、汽车之家上潜在购车用户的信息,并通过魔轮SaaS系统展示给4S店人员。系统收到新的线索后自动创建待执行任务工单,派给电销人员执行。然后一步步的到用户购车。整个过程完全信息化,可以统计每个员工的任务完成率,还能通过专家们总结的程序化的意见指导普通员工完成任务。保险机器人是为保险业务服务的,4S店通过保险机器人可以下各个保险公司的保险单,意在为顾客提供各种不同的方案。
项目职责:项目负责人,总架构师
项目人数:30+

2016.06-2017.05 乐车邦SOA技术栈建设 乐车邦

项目职务:资深架构师,项目负责人
项目类型:技术改造
项目规模:☆☆☆☆☆
技术难度:☆☆☆☆☆
项目描述:早期乐车邦技术栈很简单,就是一个单体tomcat应用+mysql数据库。随着业务逐步发展,已经无法应对日益增长的业务带来的需求爆炸。由CTO发起,由我牵头,带领架构组在乐车邦建设微服务体系架构。主要工作内容有:基于Dubbo RPC的微服务架构建设;基于SpringBoot和MVC的网关应用建设;基于Jenkins的CI持续交付;基于ELK日志搜集、查询和报警;基于Zipkin的链路追踪;基于Swagger的API文档;自研的实时配置中间件Anole;基础业务组件研发(验证码、发票系统);统一二方包建设等。
项目职责:项目负责人,微服务体系二方包建设,基于Zipkin的链路追踪,方案编写和实施进度管理等。
项目人数:10+

2016.01-2016.05 彩虹到店综合营销配置系统 大众点评

项目职务:Web应用负责
项目类型:业务
项目规模:☆☆☆☆☆
技术难度:☆☆
语言工具:JAVA、Eclipse
项目描述:该配置后台用于美团-大众点评除餐饮外的所有产品营销活动的配置。目标为美团-大众点评的非餐饮营销提供高效解决方案,未来还将加入BI支持,做个性化营销。
项目职责:系统整体遵循了SOA思想,本人负责其中的web应用,具体的数据服务由其他10+个service应用支持。整个团队负责长期的系统维护和功能升级。
项目人数:10+人

2015.11-2015.12 扫码无密码支付 大众点评

项目职务:主要开发
项目类型:偏技术
项目规模:☆☆☆☆☆
技术难度:☆☆
语言工具:JAVA、Eclipse
项目描述:点评闪惠早先不提供扫码支付功能,该项目就是实现了扫码支付功能,起初绑定的支付方式包括微信无密码支付、快捷支付(腾讯系微众支付)。参与开发的团队有:支付APP团队、支付渠道开发团队、闪惠开发团队。项目由支付渠道开发团队主导。大致的过程为:用户打开大众点评APP之后,打开了扫码支付二维码,商家进行扫码,这将调用闪惠系统进行下单,然后调用支付渠道系统进行自动扣款。如果用户未绑定自动扣款的支付方式,将提示用户进行绑定,绑定过程由APP与支付渠道系统的交互来完成。
项目职责:由于项目起初的负责人请了陪产假不在公司,便担任了项目实际开发负责人。负责与APP团队和闪惠开发团队的接口契约设计和对接,与产品经理的需求重审,解决方案的设计,负责项目的进度跟踪。同时还承担部分接口的开发和实现。
项目人数:10+人

2015.10-2015.11 快钱支付渠道 大众点评

项目职务:算法设计
项目类型:偏技术
项目规模:☆☆☆☆
技术难度:☆☆
语言工具:JAVA、Eclipse
项目描述:为点评增加微众银行的快钱支付渠道,用户绑定了微众银行后,以后的支付可以不需要输入密码直接支付(小额)。
项目职责:负责项目中银行卡识别算法设计,由于根据银行卡号查询银行卡类型是个高频操作(尤其在对外发布后一段时间内)采用使用了十叉树数据结构储存卡号和卡类型对照,而不是HashMap,使得查询效率大大增加。
项目人数:10+人

2015.09-2015.10 系统入云摘绿帽子 大众点评

项目职务:开发
项目类型:技术
项目规模:☆☆☆☆☆
技术难度:☆
语言工具:JAVA、Eclipse
项目描述:公司层面要求所有服务入腾讯云,第一步要做的就是解耦不通部门或者业务间的数据库依赖(比如A部门的服务a依赖了B部门的数据库,这时候就应该解耦为a调用B部门的服务b,由b提供数据库操作服务给a)和服务间的依赖耦合,由于历史原因,点评内部的服务和数据库依赖十分混杂,代码整理和改动也特别复杂,这个项目持续了一个多月。
项目职责:负责优惠相关的十多个服务之间以及和外部其他服务的数据依赖和解耦。
项目人数:>50人

2015.07-2015.09 订单水平拆分实践 大众点评

项目职务:开发
项目类型:技术
项目规模:☆☆☆☆☆
技术难度:☆☆☆☆
语言工具:JAVA、Eclipse
项目描述:2014年以前,点评的大促瓶颈主要在商品详情页上,后来通过动静分离、静态页面、商品详情系统拆分(若干微服务)的方式缓解了商品详情页的困局。随之而来的是订单系统的瓶颈,14年10月起,交易系统也开始拆分微服务,包括订单系统、促销系统和支付系统共200多个微服务。每日支撑的订单在百万级。
这是垂直拆分,支撑每秒3000单左右。2015年917活动之前,预估了订单流量峰值大概几万,所以决定在之前进行改造,我们把订单系统涉及到的数据库按照用户ID变为2进制后的后10位拆分为32个库32张表共1024张表,最终订单TPS大概在5W左右,达到了要求。
项目职责:负责订单微服务的改造和多数据源、多表查询支持。
项目人数:>10人

2015.07-2015.07 优惠数据模型改造 大众点评

项目职务:开发
项目类型:业务
项目规模:☆☆☆☆☆
技术难度:☆
语言工具:JAVA、Eclipse
项目描述:由于早起的点评优惠系统的数据模型存在着大量冗余,以及数据库设计的不合理,该项目的目标在于重新设计数据模型和数据库,大大简化不必要的服务调用和数据库访问。优惠系统的较为庞大,因此项目分2个阶段,第一阶段动库不动服务,第二阶段把不必要的服务也摘掉,简化调用链。
项目职责:相关服务的改造。
项目人数:5

2014.12-2015.04 竞品全自动销售 携程

项目职务:开发和模块设计
项目类型:偏技术
项目规模:☆☆☆
技术难度:☆☆☆☆☆
语言工具:JAVA、Eclipse
项目描述: 爬取国内主流团购网站的产品,自动上架,销售。项目包括竟品爬取、竟品上架售卖,竟品自动下单、支付准备和退款,竟品订单支付等模块。携程用户在携程团购页面下单后,调用竟品下单接口,竟品下单模块收到任务后到目标网站下单后返回结果;用户支付后,调用竟品支付接口,竟品支付模块收到任务后立即返回给上游确认收到,然后到目标网站爬取支付准备数据,拼接成支付宝支付链接后,持久化到到数据库;自动支付系统(对应的硬件为独立操作系统的若干机器人)轮询数据库,发现任务后执行支付(支付宝采用了Native密码框,这里用到了JNA通过发送Windows消息来模拟点击技术)。
项目职责: 项目由团购业务开发团队以及技术专家组团队参与。团购业务开发团队负责原携程商品售卖对竟品的支持。技术专家组负责解决竟品爬取,自动下单、支付和退款。本人负责竟品的自动下单、支付准备和退款,上游是携程售卖系统(通过Restful接口),下游是自动支付机器人。
项目人数:5人

2014.06-2015.02 肿瘤在线诊断治疗辅助决策系统 贝綦信息

项目职务:技术负责
项目类型:偏技术
项目规模:☆☆☆
技术难度:☆☆☆☆
语言工具:JAVA、Eclipse
项目描述: 该项目由原始数据录入系统、在线诊断系统、MRI影像特征识别系统三个子系统组成。原始数据录入系统用于管理员导入肿瘤病例和影像图,通过特征抽取算法抽取特征保存在数据库。用户可以在线输入自己的基本信息以及上传自己的肿瘤影像图。然后交给后台的MRI影像识别系统根据经验数据分析影像提取出来的特征,得到诊断结果。
项目职责: 贝綦信息是一家创业期公司,当时找到我的时候让我作为技术总监加入,空闲时间(主要是周末)负责公司的技术规划、产品设计、项目实施计划、软件DEMO项目架构设计等。
团队人数: 4人

2014.06-2014.10 几个关键算法的设计 携程

项目职务:算法设计
项目类型:算法
项目规模:☆☆☆
技术难度:☆☆☆☆
语言工具:C#、Visual Studio
项目描述:在携程工作期间,领导知道我对计算机算法应用有兴趣,所以经常把一些开发中实际遇到的性能问题或者算法扔给我。其中,个人觉得比较有意义(其实也是存有记忆的)的有两个:
有序表筛选算法 :团购列表页,用户可以选择不同的价格范围或者类型,其本质都是一个得分范围。问题简化成从百万级有序数据数组,中数据筛选出指定范围内的数据。输入为一个得分范围比如a~b,常规的方法是从数组开头往后遍历,找到第一个大于等于a的数据,然后一直到第一个得分大于b的数据停止,算法复杂度为o(n)。而我使用了二分查找。二分查找的本意是查找某个数组中目标数字k所在的位置,或者证明k不在数组中。同时二分查找的结果还可以显示如果k不在数组中,k应该插入到哪个位置使得整个数组还是有序的。利用这个特性,算法复杂度降为o(log n)。
团购券生成算法 :伪随机,无规律,无重复,千亿级券号生成算法。算法本质是利用了与数组长度互为素数的数字可以用来循环遍历一个数组,这样就保证了不重复,另外利用卷号缓存(这个方法现在似乎已经成为分布式序列号生成的标准用法)、数据库和并发控制实现了分布式券号生成。算法复杂度是o(1),已为携程申请专利。
在大众点评其实也解决过几个算法问题,客观的评价,自身对算法应用比较敏锐,虽然对高等算法的研究已经停止了,但是一直都很热爱应用已学的算法。
项目职责: 算法设计和实现。
项目业绩: 获得2014年度携程专利奖(第一作者)。如果你正在使用携程团购,那么券号就是这个算法生成的。
项目人数:10人以上 (所属项目)

2014.08-2014.10 看吧影视分享网站 非工作

项目职务:全栈
项目类型:偏技术
项目规模:☆☆☆☆
技术难度:☆☆
语言工具:JAVA、Eclipse
项目描述: 包括影视搜索网站、爬虫JOB、后台数据库管理系统三个子系统。爬虫JOB爬取几个比较热门的电影网站的电影资源,保存到数据库,影视搜索网站用于展示资源,还提供全局搜索的功能(基于二分搜索)。数据库管理系统负责对电影资源数据进行手动管理。网站的SEO也是自己做的,包括使用百度提供的一些工具,sitemap功能,关键词优化等,SSN营销等,最高的时候网页的日PV达到6000(不算高,是一次不错的营销尝试)。
项目职责: 全栈,负责搜索网站和爬虫JOB两个部分。数据库管理系统由我同学完成。
团队人数: 2人

2014.03-2014.10 竞争对手数据爬虫项目 携程

项目职务:开发
项目类型:偏技术
项目规模:☆☆☆☆
技术难度:☆☆
语言工具:JAVA、Eclipse
项目描述: 对团购行业的几家龙头互联网网站进行产品爬取,保存到数据库,并且负责持续的维护和更新。
项目职责: 爬虫设计和实现。
项目人数:3人

2014.07-2014.09 携程团购UI3.0 携程

项目职务:架构
项目类型:偏业务
项目规模:☆☆☆☆
技术难度:☆☆☆
语言工具:C#、Visual Studio
项目描述: 改版老的携程团购页面,最新UI3.0页面见携程团购首页。运营配置了页面的元素后,录入到数据库(数据库主从分离),然后由JOB服务将数据同步到缓存,用于展示。很有幸,我在加入携程半年多就有这次机会进行架构设计。当时的目标是千万级PV,大量读和少量写,一开始在老架构师的指导下设计了二级缓存(LocalCache+Memcached)设计架构。经过架构评审后,改为更加简单的一级缓存(LocalCache),因为千万级PV带来的服务器压力并不高LocalCache可以搞定。另外一个风险在于,如果缓存失败了,大量的请求就会直接推到数据库,针对这个问题,使用了漏斗设计,DCL标记请求,高并发情况下只允许个位数的请求能直接访问到数据库,其他请求将被置为无效。
项目职责:架构设计、高并发代码。
项目人数:8人

2014.04-2014.06 团购产品数据直连 携程

项目职务:契约设计、系统开发
项目类型:偏业务
项目规模:☆☆☆☆
技术难度:☆☆☆
语言工具:C#、Visual Studio
项目描述: 其他供应商(拉手,百大屋等)把部分产品与携程团购对接,采用供应商push产品的方式,携程方提供一个push接口给供应商,供应商把产品数据推送过来,该接口负责入库。然后有个JOB负责读取这些产品,根据契约转换协议将产品录入携程的产品库。用户在携程下单后,携程会根据供应商提供的下单接口同步到对应供应商系统上去下单,扣减库存,用户购买后获得券号,携程将会绑定携程券号和供应商对应产品的券号,用户使用券后,携程也会对应的调用供应商提供的验券接口,另外还有些对账等模块。
项目职责: 契约设计和维护,不同供应商契约和携程契约的互转。验证券模块开发等。
项目人数:10+人

在校期间

2013.06-2013.09 移动项目管理系统

项目职务:项目负责
项目类型:偏技术
项目规模:☆☆☆
技术难度:☆☆☆
语言工具:JAVA、Myeclipse
项目描述: 这个系统由网站和安卓App客户端。我主要负责网站的设计和在线甘特图(项目管理工具)的开发。这是一个比赛项目,昆山举办的全国性比赛。最后拿到了三等奖。
项目职责: 设计,甘特图开发。系统用于办公中的项目管理,设置了不同权限,项目经理可以创建项目并且安排工时,员工可以登入系统查看自己的任务和时间点,App上的功能同理。
团队人数:5人

2013.04-2013.06 公路交通诱导LED屏设计和控制系统

项目职务:项目负责
项目类型:偏技术
项目规模:☆☆☆
技术难度:☆☆☆
语言工具:C++ Builder 6.0
项目描述:目前的公路电子诱导LED屏大部分都是用铁板挡起来,然后在铁板上写字来实现的。我们开发该系统,可以允许管理人员绘制复杂的诱导提示屏图案,并且可以实时的发送到电子屏。另外,管理者还可以根据当前道路情况设置每条道路的通畅状态(用颜色代表),并且发出提示信息。
项目职责:设计程序逻辑和具体模块,编写代码。
项目业绩:已申请专利
团队人数:1人

2011.09-2012.10 江苏省气象农业设施预警系统

项目职务: 项目负责
项目类型:偏技术
项目规模:☆☆☆
技术难度:☆☆☆
开发语言:C++、JAVA
项目描述: 该项目包含数据处理中心、网站系统、GIS图片处理系统三个部分。数据处理中心从数据库中加载数据,处理后把结果数据存放到数据库。网站服务器只需要负责从数据库读取数据并显示。GIS模块用来生成地理信息图片。
项目职责: 设计程序逻辑和具体模块,分配任务,开发后台数据处理系统。
团队人数: 8人

2012.03-2012.05 “OK-Travel”商旅网站。

项目职务:项目负责
项目类型:偏技术
项目规模:☆☆
技术难度:☆☆
开发语言:C++、JAVA
项目描述:这个网站是为一个商旅公司定制的。该网站为公司门户网站并且提供机票查询服务,查询接口对接的是中航信(国内所有航班查询的总提供商)。网站目前已经关闭。比较有意思的是前端的设计,我们采用了卡通地图的形式,全球几个主要国家都标注了出来。
项目职责:设计、部分前端、部分后台。
团队人数:3人

2011.06-2011.08 密码宝

项目职务:个人项目
项目类型:偏技术
项目规模:☆☆
技术难度:☆☆
开发语言:Visual Studio MFC
项目描述: 相信很多人都使用过网易笔记、或者印象笔记。这是早年还没有使用这两个笔记的时候我为自己开发的密码和重要簿,提供了丰富的快捷键添加、模糊搜索对应的密码。个人至今还在使用。使用了全文加密,因此只适合小文本重要内容的加密。
项目职责: 全栈

2011.02-2011.05 TBPrintScreen静态截屏软件

项目职务:个人项目
项目类型:偏技术
项目规模:☆☆☆
技术难度:☆☆☆☆☆
语言工具:C++ Builder 6.0
项目描述: 这个软件功能简单(共7371行代码),但要做到高效,要熟悉Windows绘图机制,Windows消息机制,数据结构等。当年完成时,性能媲美甚至超越QQ截屏,并且指出了QQ截屏的多个BUG。
项目职责: 全栈

2011.03-2011.04 英文电子商务网站

项目职务:项目负责
项目类型:业务
项目规模:☆☆☆
技术难度:☆
语言工具:JAVA、Myeclipse
项目描述:三个小型英文电子商务网站,分别为卖书、卖手机、卖宠物。
项目职责:全栈
团队人数:2人

2008.03-2010.03 局域网监控管理系统

项目职务:个人项目
项目类型:业务
项目规模:☆☆☆☆☆
技术难度:☆☆☆☆☆
语言工具:C++ Builder 6.0
项目描述: 这个系统由邮件模块,局域网聊天模块,员工监控模块,员工信息模块,员工服务模块和应用程序管制模块。邮件模块可以配置邮箱服务器,接受和发送邮件;局域网聊天模块允许员工之间一对一聊天;在应用程序管制模块中(实质是一个主动防御模块),员工主机上的应用程序将被内核模式下的一个服务进程HOOK到,如果一个员工想运行一个未知程序,我们的服务将会阻止他并且提示信息。员工信息模块用于管理员工信息;员工服务模块用于员工提交申请和管理员审批等。员工监控模块中,管理员可以随时查看员工的屏幕截图以及实时屏幕变化。另外员工电脑插入USB存储设备时,将自动禁止,除非员工发送使用USB存储设备的申请,并且管理员同意后,再次插入USB储存设备进行使用。
项目职责: 设计,文档,编码,测试。


上一篇 获奖和荣誉

评论留言

目 录