@panhonhang
2020-03-23T19:12:29.000000Z
字数 1462
阅读 470
打印项目相关
面试
- 技术选型
考虑到多端平台【QQ,微信,h5】
模块拆分,相似模块只需要一个人开发。
typescript:方便后续更新维护
- 项目背景
解决校园打印店排队问题,解放商家人力,节约学生时间
- 项目难点
上传文件权限问题,采用webview,嵌入h5解决IOS权限问题。
h5与小程序通信问题,引入微信提供的sdk
上传中断问题,断点续传,分片上传
- 成果
联系商家,跑通沟通项目,各端沟通协调,进度把控,组织项目联。
背景:解决远程打印问题
前期市场调研
商家沟通
需求讨论-》原型图
接口文档-》开发-》测试-》支付流程跑通
寻找合作商家
- 项目失败原因
团队可信度不够,前期推广很难,没有资金注入
- 改进
项目方面:
选择合适的合伙人,比如老师,借助合伙人的力量去谈商家合作。前期项目拿去参加创新比赛吸引注意力,争取得到资金注入。
技术方面:
###工程方面
- 逻辑解耦,比如组件分解更细,用数据驱动。
- 模块解耦,项目模块拆分更细,避免强绑定。【工具函数发布npm包】
- 性能优化【cdn、图片、网络、骨架屏】
- 容错处理,考虑更加复杂的情况【站在用户的角度、比如切入后台、网络中断、错误操作】
- 引入新技术,ts、immutable.js、docker等【】
- 安全处理【xss,csrf攻击】【XSS测试平台】
- 故意攻击、恶意请求。【后端限制IP请求次数、阿里云短信服务】
- 预留接口,二次改版或者项目迭代。
- 开发文档【语雀、石墨文档、Wiki】
- 埋点,线上监控。【阿里云的ARMS系统、zanePerfor、fundedbug】
###体验方面:
- 交互体验
- 产品流程
- 性能优化:代码压缩,图片压缩,gzip,cdn,缓存,预解析
### 工程化
- 自动化工具,jenkins,docker
- 代码规范:eslint,typescript
- 发布审核,codereview【GitHub:"Pull Request"】,git工具
- 开发:css预处理,mock数据【easy-mock、Yapi】
图片优化:
- 图片裁剪大小,可以通过七牛云等cdn来实现自动裁剪
- 雪碧图,通过gopng网站,或者webpack的插件webpack-spritesmith自动实现。
- 转化为webp【谷歌支持】,通过cdn实现。兼容性考虑,七牛云可以自动转化,只需要判断accept请求头支持的图片格式。
- 图片懒加载。
- 用代码实现效果,比如光晕用box-shadow实现
- 本地图片压缩使用webpack的loader,image-webpack-loader。
- 使用字体图标,在阿里巴巴图标库当中生成自己的图标库。
- 避免使用GIF,同等条件小GIF比MP4大,所以用MP4代替。
其他:
- suspense,react.lazy
- 分清楚资源顺序
- 预加载
- 开启gzip
- 使用缓存:
- webpack的tree shaking
- react 代码逻辑优化,使用shouldComponentUpdate,pureComponent,usememo,usecallback等
- 动画优化:使用requestAnimationFrame()
- 动画开启硬件加速,复合层
团队日常
- 勤奋蜂代码规范,配置eslint。
- 代码复盘会,审核机制。沉淀文档。
- code review 代码审核,根据GitHub的提交记录。【审核人根据沉淀的文档来进行】
- eslint 配置。
- 分享会
- 打印项目推动。
- 勤奋蜂影响力计划【目的:带动学校同学学习】
- 出山计划【湖南商学院,湖南工商大学】
- 前端小册,精读书籍计划
- 语雀沉淀,招新、培养方案等
- 钉钉日报,周报。
- 团建
- 招新
团队成员合作冲突解决
- 面对面交流【问题说清楚】、沉淀项目bug文档、与项目负责人沟通