创见博客
阿里云前端一面(3.3 10:00)
七崽爱吃小饼干2026/03/04阅读 0专栏 前端面经
codeType
1. 讲一下自己做过的项目以及有哪些值得提的地方
2. 曝光埋点的活跃时间的记录
3. 发起一个http请求的全过程
4. 埋点请求后端接收到了,但是返回给前端的时候丢失了,怎么防止埋点数据重复
5. 页面关闭后的埋点请求怎么发送
6. 代码题 数组铺平
7. 代码题 发布订阅类的实现
8. 对agent架构有没有什么了解
9. 给我介绍了部门的情况,主要是做阿里云那边的监控平台,除了埋点以外还会监控前台的请求报错等等。

1. 曝光埋点的活跃时间的记录

主要是针对用户活跃时间进行一个计时,用户最后一次活跃时间之后timeout时间内没有操作,就暂停计时并进行上报。

同时用visibilitychange进行监听,在页面隐藏/关闭时绕过默认的批量上报逻辑,走单独上报。并且用fetch的keepalive代替sendBeacon进行上报,因为fetch有回调,上报失败也可以缓存失败数据到localStorage。

  • 曝光埋点数据有效性的改进

2.发起一个http请求的全过程

  • 从输入网址到页面显示完整过程

3. 埋点请求后端接收到了,但是返回给前端的时候丢失了,怎么防止埋点数据重复

前端发送埋点数据时需要给每一个埋点请求建立一个唯一的id,后端收到埋点请求时,检查id是否重复。如果重复了就不新增数据,并且返回ok(让前端能顺利去除失败埋点)。

4. 页面关闭后的埋点请求怎么发送

用beforeunload或者visibilitychange事件进行监听,然后用sendBeacon或者fetch的keepalive进行发送。

  • visibilitychange、beforeunload 与 keepalive、navigator.sendBeacon

5. 代码题 数组铺平

  • 数组铺平

6. 发布订阅类的实现

发布订阅的实现

评论
0/100