Skip to content

Latest commit

 

History

History
65 lines (40 loc) · 5.65 KB

resume.md

File metadata and controls

65 lines (40 loc) · 5.65 KB

个人信息

  • ***/男/1993
  • 本科/山东大学
  • 工作年限:3年
  • Github:https:/razor1895
  • 期望职位:前端开发工程师

联系方式

  • 手机:177********
  • 邮箱:****@gmail.com

技能

  • 熟练掌握 HTML5/CSS3/JavaScript
  • 掌握常见数据结构与算法
  • 熟悉 React、React Native
  • 熟悉 Node.js
  • 熟悉基本的 Linux 命令
  • 熟练使用 svn、git 等版本控制工具进行开发与团队协作

工作经历

北京***科技有限公司 ( 2017年10月—2018年12月 )

*** iOS (2017.07—2018.09)

项目使用 React Native + React Navigation + Mobx 技术栈,我主要负责性能优化以及解决疑难 bug,发布测试版以及提交 App Store审核。主要解决了频繁的闪退问题,在中度使用情况下,崩溃率从5分钟内100%,降低到了20分钟内0.4%,崩溃的主因是过高的内存使用,所以在这方便做了一些优化:采用 LRU 缓存策略来缓存内容,通过拼接图片裁剪参数使 CDN 返回合适大小的图片,剔除 Mobx Store 中不合理追踪的数据,升级 React Native 到最新版本,尽可能使用 FlatList 来替代 ListView。同时也解决了页面转场进入动画掉帧,React Native Swiper 初始渲染 bug,React Native Modal 弹窗关闭内容闪烁的问题以及一些性能问题。使用 Detox 进行 E2E 测试并且将测试加入到打包及上线流程中。

*** 后台 (2017.08—2018.12)

项目采用 Node.js + Express + Keystone.js + MongoDB 技术栈。我在其中主要负责优惠券,砍价模块的开发与维护。其中做的比较重要的事情是将整个后台代码迁移到了 TypeScript,通过 Gulp + Nodemon 实现了在开发中实时编译修改过的代码文件。迁移到 TypeScript 之后显著提升了开发效率,减少了因为低级失误导致重大线上事故的概率。

*** 小程序 (2018.08—2018.12)

我在项目中期接手小程序项目并独立开发维护,主要实现了砍价和优惠券相关模块,并通过技术选型后在小程序中接入了腾讯 mta 统计,根据对业务的理解独自设计了转化漏斗和事件上报方案。同时根据统计的数据向老板提出问题和解决方案,辅助做出决策,比如搜索事件触发次数较高,但是搜索页面位于二级页面中,因而建议将搜索栏放在搜索栏中,有效提高了用户留存率。因为在小程序开发过程中表现优异,在公司全体会议上得到了老板的表扬。通过小程序项目,公司决定将有限的资源全部投入小程序开发中,不再迭代获客成本昂贵的 iOS 和 Android 客户端。

北京***有限公司 ( 2015年7月—2017年9月 )

***图片直播项目 (2017.03—2017.7)

项目地址

这是一个微信端的 Web App 项目,使用 vue + vue router + vui 技术栈。我在这个项目中负责前期的技术选型、项目结构搭建,以及首页、创建直播页面、发布及编辑直播内容页面、支付页面,帮助页面的实现。这项目中遇到的困难基本都与微信相关,因为对于微信 JS SDK 的不熟悉导致最后踩了比较多的坑。其中的一点就是微信的 chooseImage 接口最后返回的是 localIds 数组,无法用来上传图片,虽然微信有上传图片的接口,但是该接口只能上传到微信自己的服务器上,而我们希望直接上传到我们自己的服务器而不是通过微信服务器中转。最后才找到有个接口 getLocalImgData 可以通过 localId 返回 base64 字符串,然而在实践中发现该接口也是有问题的,返回的 base64 字符串不是标准的,并且不能批量处理,最后只能通过递归来达到我们想要的效果。最后这个项目很成功,获取到了大量客户,并作为公司的主力项目对外推广。

***文档编辑项目(2016.11—2017.02)

项目技术栈为 Vue + Vuex + Vue Router,同时使用 Eslint 来规范团队成员的代码。我在这个项目中负责前端技术选型,以及搭建项目结构。封装了可以在多个项目中复用的基础组件,如 Modal、Notice、Message。 我同时负责撤销、恢复、删除、插入、编辑、上移、下移等编辑功能的实现。

*** 畜牧项目 iOS Android (2016.07—2016.09)

***是一个移动端项目,用来向甲方的客户展示客户的库存,鸡舍状况等。技术栈为 React Native + NavigationExperimental + Redux。我在这个项目中负责搭建项目基础;性能优化;封装原生组件,如同事写的 Android 端视频播放代码,使得安卓端可以观看鸡舍的直播视频。同时我也负责与甲方沟通,及时解决甲方在使用中提出的问题,如卡顿,闪退,数据展示不够理想等。


开源项目

  • [react-native-gifted-html](#):一个将 HTML 转化为 React Native 原生组件的库。与同类型的库相比,支持使用 class 来为转化后的组件添加样式,而同类型的库大多只能通过 HTML 标签来添加样式。
  • [react-native-refreshable-flatlist](#):React Native组件库,支持 FlatList 的下拉刷新与上拉加载。FlatList 本身支持配合 RefreshControl 来实现下拉刷新,但是RefreshControl 在 iOS 和 Android 平台上面表现不一致也并不能有更多的自定义行为。该组件支持下拉刷新、上拉加载,自定义样式以及更丰富的回调,在 iOS 和 Android 平台上的表现都很不错。