一面
你在百度做过不少优化方面的事情,5min到9秒, 做了什么
webpack 或者 vite 是不是可以打包成二进制在系统上执行呢
js 有协程吗,webpack 打包的时候用了几个线程
webworker怎么通讯
协程、线程、进程怎么理解
线程和进程的区别是什么
体积优化做的什么
怎么实现的动态加载特定业务的bundle
拆和不拆对前端的性能有什么影响
关注哪些前端的性能指标, 分别是怎么测算的
前端使用的什么打点的库
前端的js执行异常怎么上报,资源加载的异常怎么捕获
try catch 可以捕获到什么样的异常
怎么对错误的ajax请求进行改写,应该怎么做,拦截请求
代码题: 移动零
http 协议的几个版本 1.1 2.0 3.0
udp 怎么保证可靠性
tcp 连接的可靠性怎么保证
拥塞控制
React 怎么防止子组件重新渲染,子组件传递方法
二面
提升哪些业务指标,怎么确认是通过你的这个动作提升的指标
自己写sql主要是用来聚类的,这些sql是离线的还是实时的
你的印象整体的 ctr 和 cvr 提升了多少
pv 是日均的 PV 吗
1100 台实例时你们自己维护的服务还是公司公共的服务
你们的服务会提供一些node的接口吗
你们的服务时如何做容灾的 BNS
是通过什么运维 1100 台服务的
日志的回流之前为什么时间比较长
bls agent 怎么实现的
日志的量级较大的时候会使用什么工具对日志进行消费呢
为什么可以通过 esbuild 和 swc 对打包时长优化这么多(充分利用多核)
vite 和 webpack 都能开启多核,为什么他们不能很快
怎么使用 python 进行数据分析,会对预测吗
十万节点的优化,如果一开始就展开所有,并且展示所有节点,怎么做
十万节点是一次性渲染到DOM上的,还是分批插入页面上的。一次渲染多少,耗时是怎么把控的
简答题:为什么 setInterval 不准
浏览器 render 进程里面都会有什么线程
v8 是怎么把 js 代码运行的
- js 主线程,定时器设计成线程还是进程,event loop 是进程还是线程
js 主线程有 v8,所以他们可以读得懂 js 代码,但是定时器和 event loop 可以读得懂js 代码吗
微任务呢,微任务是放在主线程中的,
代码题: 二分查找(递归和迭代)
三面
开发时自学的吗,没有参加培训班吗,网络和操作系统没有系统学过么
性能优化可以讲一讲怎么做的吗,做的哪些事情
外域的图片是作者上传的吗,图片有鉴权的话怎么做
拦截的图片有监控吗,有多少百分比的图片拉不回来
图片抓取不成功,url无法生成,无法转储到自己的 oss 上
会经历两次 round trip,别的厂商也是这么做的吗。别的搜索引擎是怎么做的,失败率是多少
前端失败了,怎么判断是CDN 失败了还是抓取失败了呢
百度有通用的采集和性能数据分析的平台,用的是大搜通用的数据埋点吗
技术埋点平台,数据分析。你们用的是什么平台
采样率,性能分析走的是实验流程
5% 大概是什么量级的数据
幸存者偏差,有些页面都没有上报,或者js没有加载完成。这个是怎么判断。触达率怎么统计
首屏指标是用什么计算的,为什么选择 FP 和 LCP 这两个指标,这两个指标是否可以反应性能的页面性能。
展示型页面和交互型页面
- 图片多js多,要有自己的思考
商业搜索有点击率等等的商业指标,为什么不能关注这些
单因子归因到实验对商业数据没有显著的提升
有其他更显著提升的办法吗
还有其他单因子归因的方式吗
你的node是运行在什么规格的容器中
你们的服务这么多,稳定性保证是怎么实现的
监控报警是第一步,整体服务的sla是几个9
流量中台对服务的探活有问题
整个服务的容灾,南北向链路的容灾,LB,服务发现机制
整个服务发现和微服务是你们做的吗
容灾做了什么样的事情
如果有一批机器恶意攻击造成服务挂了,BNS可以做到服务端限流吗,还是会误伤用户的正常访问,整体策略
下游的服务怎么做保护,有没有做全链路压测和数据库熔断
服务报警行业有很多指标,故障召回率、故障发现时间、故障止损时间