小红书前端秋招面经
流程
8月24日投递,8月28日笔试,9月30日约面,10月12日一面。
一面
全程 80 min
自我介绍
实习介绍
说说对前端监控的理解
埋点上报的原理
业务埋点和错误上报有何不同
了解哪些首屏优化的方式
prefetch 和 preload 的区别和使用场景
怎么优化包的体积
知道哪些性能指标
FP 是指什么
什么是 FCP
怎么计算 FCP 和 FMP
TTI 怎么计算
强缓存和协商缓存的区别
ETag 的计算规则
Babel 的工作流程
嘴撕一个 Babel 插件
了解哪些 Hooks
useMemo 和 useCallback 的区别
如何实现三栏布局
RN 容器和浏览器容器的区别
ESM 和 CJS 的区别
HTTPS 的加密过程
HTTP/2 的新特性
输出题
const p1 = new Promise((resolve) => { setTimeout(() => { resolve('resolve3'); console.log('timer1'); }, 0); resolve('resolve1'); resolve('resolve2'); }).then(res => { console.log(res); setTimeout(() => { console.log(p1); }, 1000); }).finally(res => { console.log('finally', res); });
算法题:46. 全排列
实现一个批量请求函数 multiRequest(urls, maxNum),要求如下:
- 要求最大并发数 maxNum
- 每当有一个请求返回,就留下一个空位,可以增加新的请求
- 所有请求完成后,结果按照 urls 里面的顺序一次打印
反问