返回文章列表

数据结构 & 算法

  • 实现一个双向链表,具备添加节点、删除节点、在特定位置插入节点、查找节点、遍历等功能
  • 如何判断一个单向链表是否是循环链表?
  • 手写 Promise.allSettled
  • 倒计时工具的实现
  • 实现管道函数
  • 请在不使用 setTimeout 的前提下,实现 setInterval

网络

  • 跨域和 Preflight
  • 强缓存 vs 协商缓存
  • XSS / CSRF 网络攻击
  • Cookie 相关
  • HTTP 建立连接的过程?
  • HTTPS 中的 SSL/TLS 是什么?
  • HTTP3 中的 QUIC 是什么协议?
  • HTTP1.1 的持久连接和 HTTP2 的多路复用有什么区别?
  • TCP/IP 是如何保证数据包传输有序可靠的?
  • DNS 协议了解多少?
  • HTTP Header 中有哪些信息?关于缓存呢?
  • 304 状态码用于什么场景,好处和坏处分别是什么?
  • postMessage 是如何解决跨域问题的?
  • 在域名 A 的网站上,跨域请求域名 B 上的接口,怎么在跨域请求中携带域名 B 的 Cookie 呢?
  • OAuth2.0 是什么,是怎么实现授权第三方应用登录的?

CSS

  • CSS 伪类和伪元素有哪些,它们的区别和实际应用
  • margin auto 各种布局下的表现
  • margin / padding / width 设置百分比会相对于谁
  • 垂直居中实现方案
  • 组件库主题定制
  • PC 的 banner 组件怎么适配超宽屏幕
  • CSS 变量作用和理解
  • 现在要开发一个响应式的网站,怎么实现根据设备的尺寸和分辨率,加载不同尺寸的 banner?要求不使用 JavaScript

工程实践

  • SEO 优化
  • 埋点相关
  • 异常上报
  • 性能瓶颈:GPU 加速、will-change 提前告知、DevTools 分析、缓存策略
  • 事件冒泡 vs 事件捕获
  • 前端渲染 vs 服务端渲染
  • 深拷贝 vs 浅拷贝
  • 节流 vs 防抖
  • Webpack 和 Vite 优劣势
  • 常见 Loader / Plugin,自己实现
  • 大文件上传
  • 聊天 AI 怎么处理流式响应
  • AI 相关的前端库
  • 组件库如何打包支持 ESM + CJS + DTS
  • AI 工具中的 MCP 是什么
  • 请设计一个面向设计师的"AI 助手"前端界面,可以生成文本、图像并自动插入到设计稿中
  • 大模型 API 在前端调用需要注意哪些,如何统一封装
  • 前端倒计时误差以及减小误差方案
  • Pinia 和 Vuex 区别
  • 有一个新的前端项目需要部署到线上,你有什么思路?
  • Ajax 如何获取下载进度?
  • 使用了哪些 HTML5 / CSS3 特性
  • WebWorker、SharedWorker 和 ServiceWorker 有哪些区别?
  • 进程、线程、协程分别是什么概念?
  • 单线程的 Node.js 是如何充分利用计算机 CPU 资源的呢?
  • 什么情况下会导致 Webpack TreeShaking 失效?
  • DOM 渲染能使用 GPU 加速吗?
  • Webpack 分包的方式有哪些?
  • npm 中的"幽灵依赖"是什么?
  • Webpack 中 module、chunk、bundle 的区别是什么?
  • 如何优化大规模 DOM 操作的场景?
  • Base64 的编码原理是什么?
  • Token 过期后,页面如何实现无感刷新?
  • PostCSS 是什么,有什么作用?
  • package.json 里面 sideEffects 属性的作用是什么?
  • 如何搭建一套灰度系统?
  • Script 标签上有哪些属性,作用分别是什么?
  • 如何封装一个请求,让其多次调用的时候,实际只发起一个请求,返回同一份结果?
  • HTML 部分标签中的 crossorigin 属性,作用是什么?
  • 怎么统计页面的性能指标?
  • Web 网页如何禁止别人移除水印
  • JWT 中的 Token,是怎么进行身份验证的?
  • 后端一次性返回树形结构数据,数据量非常大,前端该如何处理?
  • Webpack 中的 webpack-dev-server 为什么不适用于线上环境?
  • JS 代码放在 head 里和放在 body 里有什么区别?
  • 前端应用上线后,怎么通知用户刷新当前页面?
  • 如果你有一个内容站点,怎么防止其他人爬虫?