1.项目主要工作
就职于商业化前端部门,开发面向公司所有一线销售使用的双端销售平台“智子”。主要负责活动,线索,试驾业务的需求开发以及工程化改造。
2.项目的前端设计方式
3.项目中遇到的难点及解决方案
1.线索与活动微前端的拆分
1.为什么是微前端
一开始商业化前端各业务的代码在一个大工程,很容易互相覆盖。且上线困难。使用微前端能够让各业务解耦,独立开发。同时可以快速的嵌套其他平台的能力(如雷神平台的数据看班,擎天柱的c端管理平台等等)
iframe缺点: dom结构不共享,通信靠postMessage比较麻烦
2.微前端配置中心(nest)
3.试驾日历排程组件
1.一开始进入:canvas绘制骨架屏时间块。
2.点选事件后,获得对应的横纵坐标,拿到具体哪一个“块”,之后触发对应事件。如果时间已过,就阻止事件冒泡。
4.h5详情页虚拟列表
5.sentry性能与错误监控报警
4.介绍一个你认为不错的项目
5.你在项目中用到的项目优化有哪些
1.如何拿到fcp,lcp这些数据的
sentry通过performanceObserver这个原生api获得
if (window.PerformanceObserver && window.performance.getEntriesByType) {
// 创建一个新的 PerformanceObserver 实例
const observer = new PerformanceObserver((list) => {
for (const entry of list.getEntries()) {
// 检查条目类型是否为 'largest-contentful-paint'
if (entry.entryType === 'largest-contentful-paint') {
// 输出 LCP 时间(以毫秒为单位)
console.log('LCP:', entry.startTime);
// 如果你不再需要监听,可以取消观察
// observer.disconnect();
}
}
});
// 设置观察器选项以监听 'largest-contentful-paint' 事件
const options = {
entryTypes: ['largest-contentful-paint'],
};
// 开始观察
observer.observe(window.performance, options);
} else {
// 不支持 PerformanceObserver 或 getEntriesByType 的浏览器回退
console.log('Your browser does not support PerformanceObserver or getEntriesByType.');
}
我们也可以通过web-vital这种第三方库获得。
2.具体在项目中是如何缩短lcp的呢
- 图片比较大,压缩图片,将图片转为JPEG或SVG格式(文件较小),然后将图片上传到百度云,减小项目总打包体积。
- cdn,一些较为静态的资源如index.js和图片等通常是不变的,频繁的向源服务器请求可能会造成服务器的负载。可以将这些存储在边缘节点(cdn)上供后续请求使用。
- preload,prefetxh,preconnect,dns-prefetch
preload会预先加载当前页面高优先级的资源,prefetch会在空闲时加载后续可能会用到的资源
4.vite的gzip和esbuild的treeShaking
- 虚拟列表(app),多选框全选卡顿(遍历树反选),异步组件加载
{ path: '/xx', component: () => import(/* webpackChunkName: "xx" */ '@/views/xx.vue') }
- 可能引起reflow重排的操作
- 改变元素尺寸,比如边距、填充、边框、宽度和高度等
- 改变元素内容,比如文字数量,图片大小等
- 改变元素字体大小
- 改变浏览器窗口尺寸,比如resize事件发生时
- 激活CSS伪类(例如:
:hover)
减少reflow的操作
使用css3动画代替js动画
合并样式修改,将多个属性写为一个类,合并多个方向的padding,margin。在尽量在父元素设置好font属性等
减少calc的使用
8.离线包的使用(待定)
1.目前工作两年半,希望在市场验证一下自身定位和水平。同时公司暂不提供晋升与涨薪途径
2.工作是开发jidu汽车双端商业化系统,主要负责所有售前业务(营销,线索,试驾),为公司1000+一线销售人员服务,提供可靠的web端和app端页面。为他们提供从接触新用户到试驾完成的全链路操作。同时也需要负责业务与中台基础架构的对接(微前端,加密,灰度,js桥等等)。
uv800,pv60000
主要成长: 微前端XXX,性能优化XXX,js桥,封装组件,骨架屏等等
评价的话:愿意接受挑战的事,负责肯干。