简历

张啸

xiao.zhang.peter@gmail.com | 13001160661
三年工作经验 | 男 | 28岁
Github: zhang-xiao | Blog: varnull.cn


求学之路

2009.09-2013.03 马来西亚国立大学 | 计算机科学与技术一等荣誉学士学位
2013.09-2014.12 香港大学 | 计算机科学理科硕士


工作经历

2015.10-2017.03 滴滴出行科技有限公司 | 用户体验管理中心(EMC)
职位:web前端开发工程师

2015.03-2015.09 北京大厨网络科技有限公司 | BI项目组
职位:web开发工程师


项目经验

2015.03-2015.09

大厨网BI分析系统

项目介绍:收集展示并分析商城相关数据,开发模块包括:数据统计、订单分时、客户分析、SKU分析、品类分析、竞品分析等。技术栈采用LNMP。前端以Bootstrap+jQuery为主,后端采用CI框架。

主要贡献:业务数据接口的开发、数据静态化开发、数据报表和可视化开发。在快速迭代中,迅速熟悉了CI框架,完成数据接口的开发,并在数据量日益增大接口性能变差时,通过定时脚本的方式按日增量静态化数据到数据层。利用Sphinx建立了对爬虫数据的分词检索服务。在展示层进行了以套嵌模板为主,jQuery及其插件为辅的开发。

大厨网商城系统 | PMS

项目介绍:面向客户的商城系统包含了用户选择商品和下单的整个交易。PMS是后台的商品管理系统,主要进行商品相关的操作,例如分类和改价等。技术栈采用LNMP。后端采用CI框架,前端采用AngularJs框架开发,脚手架:Yeoman,构建工具:Gulp,包管理:Bower,集成了Bootstrap/Stylus以及js校验压缩打包的一系列前后端分离的开发环境。

主要贡献:在完全不熟悉前端构建和AngularJs的情况下,快速学习并进入开发状态,顺利完成各项前端开发任务。包括商城微信支付的前端开发,其中支持扫描二维码支付。以及PMS里商品改价功能的实现。

2015.10-2017.03

滴滴VOC舆情分析 H5版

项目介绍:分析从微博等第三方平台上抓取的舆情数据,通过微信的滴滴VOC公众号展示。主要模块包括:舆情列表、竞品对比、问题榜单和热门声音。

主要贡献:独自整个项目的前端开发。首次开发较复杂移动端,所以自己走了不少弯路。第一版技术选用zepto+doT,数据渲染放在前端,路由还是放在后端控制,进行不完全的前后端开发。后来由于项目需求更改非常频繁,面条式的代码很难维护,加之整个项目以数据展示交互为主,基于之前对AngularJs使用感受,随即调研了MVVM框架,选用了适用于移动端并且侵入性小的vue作为展示层。基于切换成本和时间考虑,并没有采用vue全家桶进行单页应用的开发,最终把vue仅作为一个展示库进行使用,路由扔由后端控制,每个页面对应一个vue实例,初次使用也没有进行组件化的开发方式,每个页面共享的vue模板和js代码均通过php的include方式动态共享。这种开发方式有些混用,但快速完成了一版维护性更强开发效率更高的代码。

滴滴客户端用户反馈收集 H5版+小程序版

项目介绍:用户意见反馈的通道。整个项目有三个主页面,提交页、提交历史列表页和提交历史详情页。主要功能点有:提交文字、选择业务线和上传三张照片;可以接收app端的截图自动填入照片栏的第一张,并可接收log信息以便传给后端;回复提醒以及对回复进行打分等。

主要贡献:独自开发整个项目。首次开发与app端有交互的页面,采用了jsBridge进行交互,截图数据以base64的方式进行传递。技术栈采用vue+zepto的方式,路由由后端控制。对上传照片进行了一系列的处理:压缩照片、还原照片的方向、照片读取不到类型的兼容处理等。开发完成后,相继维护和接入了滴滴不同的n个业务线。滴滴打车支持小程序后,意见反馈也相应的支持了小程序版本,作为一个独立的模块开发,主程序通过调用子程序来使用开发的意见反馈小程序,技术栈采用了wepy框架,各个功能顺利迁移到小程序的版本。

滴滴体验管理中心PC版

项目介绍:涵盖和滴滴用户体验相关的所有数据的分析与展示,以及用户体验反馈收集到回复指派等一系列的流程。典型的后台管理系统,技术栈:LNMP。前端:jQuery+vue, 构建工具:gulp, 后端:yii。

主要贡献:接手项目时是基于jQuery构建的, 为了提高开发效率和可维护性加入了vue, 并且基于了组件的开发模式,因为开发人力问题,前期开发组件以包装jQuery插件为vue指令或组件的方式快速进行,后期经过摸索开发了通用组件和业务组件,尤其在开发table通用组件时遇到了不少问题,例如自定义组件列时data作用域的问题,后通过构建table时动态注入data给自定义列的方式完成,在系统上使用良好扩展性加强。在项目构建上改变了之前一穷二白的方式,通过利用空白时间调研,选用了gulp作为管理工具,在不影响原有开发模式的情况下渐进式增加了:sass预编译及压缩 + autoprefixer + css热更新 + browsync + mock data server + webpack打包js + sourcemap + 精灵图构建 + md5版本号 + js压缩混淆等十余项基本功能。在支持其他人员继续原有开发的情况下,可以选用更高效的开发模式。

滴滴VOC App版

项目介绍:滴滴用户之声App, 一款内部原生应用,包含用户声音、用户反馈、微观洞见以及日报周报等数据分析。

主要贡献:作为滴滴VOC应用的所有内嵌H5页面的前端开发,缓解了初期App人力不足的问题、加快了需要快速上线需求的开发进度、对于需要分享的页面进行了良好支持。前端技术栈zepto+vue,与原生应用交互选用WebViewJSBridge库。主要开发的模块:声音、舆情、反馈等模块的详情页;微观指标页;大赛数据pdf分享页等。在开发过程中,由于页面布局相对复杂以及设计要求较高,摒弃了之前移动端百分比适配的方案,经过调研建立了一套基于flexible库为基础,scss编写rem为辅的开发流程,在高效准确地还原设计稿得到设计师认可的同时,大大减少了移动端适配的开发成本。

滴滴体验管理中心PC版新版 + 调研系统

项目介绍:为了提高原有项目的可用性、复用性和提升开发效率,对旧版完全重写,由于项目初期只有我一个人,技术选型上继续沿用了vue,变后端主导的多页应用为前端主导的多入口单页应用。技术栈:vue + vue-router + vuex + element-ui。并在此框架基础上新增了一个调研系统的模块入口,主要功能是对调研的新建,发起,去重,通知等一系列之前手工完成的工作进行了系统化的集成,提高了有用户调研需求的人的调研效率。

主要贡献:从0到1的建设整个前端框架,例如:脚手架生成及自定义多入口方式、开发环境和生成环境的搭建、线上打包系统的集成、后期webpack打包的优化、抽象请求层、新老系统登录融合、抽象自定义公用组件等等开发工作。系统上线后和旧系统同时存在,保证可用性的同时,逐步迁移老功能,并在新框架下开发新功能。整个开发效率得到了显著提升,可用性和易用性也得到了使用者的肯定。


专业技能
  • 熟悉掌握html/css/js,能精确还原设计稿和基本交互
  • 熟悉掌握jQuery/Bootstrap/Vue,可独立编写插件和组件
  • 熟悉掌握vue技术栈,可独立搭建用于生产的框架结构
  • 了解AngularJs/React,能快速学习上手
  • 了解Nodejs,有自己折腾过
  • 可独立定制Gulp、webpack等项目构建,了解打包优化等过程
  • 熟悉掌握LNMP技术栈,熟悉CI/Yii,有独立开发后端php业务接口的能力

关于我
  • 我很靠谱
  • 很强的自我驱动学习,喜欢技术氛围
  • 喜欢新技术但不盲从,非常喜欢能解决业务痛点的技术
  • 非常想加入靠谱的前端团队