前端工程师
***/男/1999.05
***/软件工程
本科/2024年毕业/团员
专业技能
- 熟悉HTML,CSS,JavaScript核心基础,掌握ES6常用语法使用,熟练使用 async/await 等异步编程技术
- 熟练掌握 TypeScript,熟悉类型系统、装饰器、泛型等语言特性
- 熟悉Vue2/3相关技术栈,独立使用Vue2/3开发web、h5项目,手写过vue核心功能模块 mini-vue
- 了解Nodejs、Koa框架以及常用中间件,搭建过后台管理系统API
- 了解TDD开发模式、单元测试以及Vitest测试框架
- 了解基本的数据结构与算法,并且自己部署过前后端应用。
- 关注前端发展趋向,对新技术保持热情,敢于学习并尝试新技术,有给开源项目vueuse提交pr的经历
工作经历
**有限公司
uniapp
uview
Vue3
vue-router
Sass
pinia
TypeScript
Vite
Pnpm
前端开发工程师
**小程序
- 主要负责小程序项目的登录模块、个人详情模块、购票模块等功能
- 使用uniapp进行项目搭建,支持多端开发。使用vuex进行状态管理,确保数据流向的清晰和稳定
- 对uview的form、table、button等组件进行二次封装,使之更符合公司ui需求,避免在多模块中重复编写相同代码,保证项目的可维护性
- 进行性能优化,减少不必要的HTTP请求、使用图片和路由懒加载、打包优化等,提高用户体验
**管理系统
- 使用Vue3作为基础框架进行开发,Vite作为构建工具,Element-Plus进行页面布局以及基础组件
- 使用Axios库和后端进行交互,并且对Axios进行封装,进行统一的请求拦截或者是响应拦截
- 对不同模块进行权限控制,根据当前登陆帐号的角色进行鉴权处理,保证系统的安全性
- 使用路由懒加载、Vite打包优化,保证项目的加载速度,提高用户体验
项目经历
mini-vue3
TypeScript
Rollup
Vitest
Pnpm
- GitHub项目地址
- mini-vue是崔晓瑞开源的一款帮助开发者深入学习vue3源码的项目,通过实现一个最简的Vue3模型,抛离大量的edge case,帮助想要学习源码的开发者入门
- 开源的mini-vue只是实现了一个最简易的vue3模型,再次基础上我实现了对多组件的渲染逻辑、KeepAlive组件、生命周期的注入及调用等逻辑。并且对原有的运行时、响应式、编译器进行了完善
- 项目采用monorepo架构,并且使用Vitest对逻辑进行测试,降低维护项目的心智负担,同时提高项目的开发效率
- 配置GitHub Actions,在合并到项目主分支之前保证测试通过
后台管理系统
Vue3.2
vue-router
vite
axios
pinia
TypeScript
Elemeui Plus
Sass
pnpm
- 经历过2次重构,注重性能优化与体验。使用pinia-plugin-persistedstate对pinia进行持久化,避免用户在依赖pinia的数据界面刷新的时候数据丢失导致白屏
- 统一采用了ES6的语法,采用axios请求统一处理,包括请求拦截添加对应的token、渠道标志符以及响应拦截等
- 针对常用组件进行封装,在封装的时候区分基础组件和项目组件,基础组件在封装的时候考虑多项目中使用的细节
后台管理系统(后端)
Node.JS
koa
MySQL
sequelize
- 项目包含商品模块、购物车模块、订单模块、用户模块、分类模块等
- 对业务异常进行统一处理,开发前敲定返回给前端的code,做到根据code就能推测出前端还是后端的那个模块出现异常
- 对抛出给前端的message进行高度颗粒化,保证前端看到状态码就知道是什么原因导致请求失败,降低前后端沟通成本,提高开发效率
- 在服务器使用pm2监控项目
教育经历