如何提升自己?
这里,总结一下上文链接:
【1】写优雅的代码:
- 提升代码质量(从设计模式方面考虑),
- 并且学会封装
【2】关注业务:
- 主动了解需求背景,主动理解;
- 并且做完需求后,主动了解结果;
- 并且理解需求,并主动优化。
【3】关注源码:
面试中引导面试官来问,学会表现出你擅长的点,比如:
如果你用了 Element UI 你可以说写了什么自定义 Element UI 表单组件,Element UI 表单源码是什么原理,怎么通信的?
用了 Axios 可以说 Axios 的原理,它的拦截器怎么实现的?
用了编辑器 diff 那你知道 diff 算法是什么吗?
用了 ECharts 那你知道他底层是用什么绘制的吗?
用了 husky ?husky 的原理是什么?
用了 Vite,它为什么快?是怎么打包的?写过插件吗?
【4】前端基建:
和做的业务无关,是提升自己的思路。
- 前端工程化,
- 前端监控,
- 工作流,
- 部署,
- 性能等等。
[1]技术选型:
(了解优缺点,为什么有这些特点,原理。。给出合理的理由。)
技术栈选 Vue 还是 React?
Vue 选 Vue2 还是 Vue3?
组件库选 ElementUI 还是 Ant Design?
微前端有没有使用过?
打包工具用 Vite 还是 Webpack?
有那么多表单怎么实现的,有没有什么表达配置化方案,比如 Formily?
[2]开发规范
创建项目的时候,配置下 ESlint,stylelint, prettier, commitlint 等。
[3]前端监控
前端程序中记录一些信息并上报,一般是错误信息,来方便我们及时发现问题并解决问题。
除此之外也会有性能监控,用户行为的监控(埋点)等。
之前也听过有些团队分享前端监控,为了出现问题明确责任(方便甩锅)。
-
实现方案,无论使用第三方库还是自己实现,重要的都是理解实现原理。
-
错误监控,可以了解一下 Sentry,原理简单来说就是通过 window.onerror 和 window.addEventListener('unhandledrejection', ...) 去分别捕获同步和异步错误,然后通过错误信息和 sourceMap 来定位到源码。
-
性能监控,我们可以通过 window.performance、PerformanceObserver 等 API 收集页面性能相关的指标,除此之外,还需要关注接口的响应时间。
-
收集到信息之后,还要考虑数据上报的方案,比如使用 navigator.sendBeacon 还是 Fetch、AJAX?是批量上报,实时上报,还是延迟上报?上报的数据格式等等。
[4]CI/CD
持续集成(Continuous Integration, CI)和 持续部署(Continuous Deployment, CD),
主要包括:
- 版本控制,
- 代码合并,
- 构建,
- 单测,
- 部署等一系列前端工作流。
场景的工作流有:
- Jenkins、
- Gitlab CI 等。
我们可以配置:
- 在合并代码时,自动打包部署,
- 在提交代码时,自动构建并发布包等。
亲自动手试一下,才能知道细节,比如:
- GitLab CI
中,Pipeline
、Stage
和Job
分别是什么,怎么配置,如何在不同环境配置不同工作流等。
【5】了解技术动态
依赖信息收集能力
[1]比如低代码:
- 用过就问细节,
- 没用过问有什么设计思路。
[2]还有 AI,又或者 Vue React 的最新功能,WebAssembly,还有一些新的打包工具 Vite Bun 什么的,还有鸿蒙开发……
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库