1.如何学习新技术栈

2.(项目相关)无限滚动列表的优化措施

包括,如何实现无限滚动,Intersection Observer判断是否需要加载,如果滑动很多下,数据量很大了怎么办,缓存如何实现,等等

3.url输入到展示的流程

见[[前端面试常见题-网络和工程化篇]]

4.重排和重绘分别是什么,区别是什么

见[[前端面试常见题-网络和工程化篇]]

5.<script>标签为什么要放在<body>底部,放在<head>中会有什么影响

解析HTML文档是同步的,遇到<script>标签就会暂停解析去下载脚本文件;

也就是,会发生脚本阻塞

放在 <head> 中就会出现,下载脚本文件完成之后才继续解析 <body> 部分的HTML,导致白屏时间变长等问题;

放在 <body>底部就可以保证先构建完成DOM树,页面内容已经完整地显示在屏幕上了,此时再开始下载脚本;

现代的解决方案有 asyncdefer, 这两个都放在 <head> 中使用;

defer:脚本在HTML文档完全解析之后执行;一般首选

async:异步下载脚本,脚本下载完成后立即执行;对于独立脚本,比如第三方分析和广告可以使用

6.实习和项目中的收获,团队协作的经验

7.实现LRU,最长公共子序列

LRU见[[前端面试常见题-计算机基础篇]]

快手主站一面

作者

MeorinLime 梦灵

发布日期

2025 - 08 - 13