云哥分享一套介绍前端项目经验的话术,供大家参考。
学会结构化表达,一方面有助于我们在面试中高水平地完成面试,另一方面有助于我们深入拆解、深度思考一个前端项目(从中萃取出别人无法看见的隐性知识)。
一、如何介绍一个ToC 的Web产品(webapp、官网、小程序)?
1、项目简单介绍:是什么行业的产品?有哪些主要功能?开发团队是怎样的?上线多久了?
2、罗列技术栈:用到哪些技术?样式布局是怎样设计的?用到了哪些第三方的UI组件库?
3、你做了哪些事儿(一些值得说的方面)
- 用户体验(健康性、兼容性、媒体查询与响应式、参与C端交互设计);
- 性能优化(图片优化、静态文件、首页服务渲染、代码层面);
- SEO优化策略(参考QF官网);CSS、JS、jQuery,非常考虑前端基本功。
4、其它贡献:你在推动产品更好发展的方面做了哪些努力和探索?你有哪些开发优化建议和思考?
二、如何高水平地介绍一个管理系统的项目?
1、项目简单介绍:什么行业?什么类型的管理系统?解决什么问题的?开发团队是怎样的、前端多少人?
2、罗列技术栈:用的是什么脚手架?构架是什么?(最好精确到各个技术的版本号)第三方UI组件用到了哪些?第三方功能库用到了哪些?
3、有哪些核心功能以及是如何实现的:权限管理是如何设计的?国际化是如何设计的?是否用到了地图、图表等可视化技术?是否用到了 WebSocket 服务?还有哪些特殊需求?你封装过哪些有代表性的业务组件?
4、项目有哪些难点
- 权限是否复杂?在权限方面是否经常出Bug?登录流程设计得够合理吗?
- 接口多不多?接口文档是否规范?公司发布需求的流程是否够敏捷?
- 项目中的表单、表格多吗?增删改查的交互复杂吗?表单、表格有二次封装吗?
- 有没有一些其它特殊需求?比如响应式兼容等?表格下载功能?打印功能等?
5、拓展思考与议题:在工程架构的稳定性方面,你有什么优化建议?在权限路由的设计方面,你有怎样的合理建议?对状态管理工具的使用规范,你哪些反思?在协同开发中,组件文档、MD文档、代码规范与统一,该如何高效管理?
三、如何优雅地介绍一个 uniapp 项目?
1、项目介绍与背景介绍:是什么行业的产品?要解决什么问题?前端几个人?做了多久?为什么会选择 uniapp ?
2、技术栈介绍与功能介绍:技术栈(uniapp)做了哪些功能?支付?定位?分享?地图?用到了哪些组件和API。用到哪些技术?地理定位、地图距离计算、用户登录、下拉刷新、触底加载等。
3、建设性的总结:总结性地评价一下uniapp的特点和优势;建设性评价一下 uniapp 的缺点(3个点左右);概括性表达一下自己的 uniapp 开发心得,工作态度和改善行动。
四、如何高水平地介绍一个 RN 项目?
- 项目背景(什么行业、为什么选择RN、几个人、做了多久,用的是什么开发环境?)
- 有哪些功能,用到了哪些第三方的RN插件?(3~5条技术)
- 评价:描述恶劣的开发环境,遇到过哪些困难,最后是如何解决的。
写在最后:
生产实践中的大多数前端项目,都不是一个人完成的。我们需要一定的“拆解”能力,从各个方面展开对项目的思考,只有这样才能不断提升项目经验,成为一个爱思考、勤总结的程序员。
平时里多研究自己所见到的前端项目,多问问自己:这个功能是怎么做的?如果是我,我能用什么前端技术去实现它?这个产品有哪些值得我学习借鉴的?或者有哪些需要改进的?
除了研究真实的前端项目以外,还可以多找前端开源项目代码,从代码的角度倒推思考项目的方方面面,积累更加扎实的前端项目经验。