Skip to content

百度前端面试题汇总 (2025/2026)

整理自牛客网多位作者的面经,涵盖了基础理论、框架应用、架构设计及实战算法。


📂 1. 个人与项目

  1. 技术难点:实习或项目过程中遇到的最难、最有成就感的技术点及解决方案。
  2. 项目深挖:挑选一个核心项目,详细介绍其技术选型、架构设计与核心逻辑。
  3. 权限管理:前端层面如何实现权限控制(路由、按钮、菜单)。
  4. 秒杀系统:前端如何配合实现秒杀功能(限流、排队引导等)。
  5. 二维码登录:简述二维码登录的完整实现流程。

🎨 2. HTML & CSS

  1. BFC (Block Formatting Context):什么是 BFC?如何创建 BFC?它的作用是什么?
  2. 层叠上下文 (Stacking Context):介绍 CSS 的层叠顺序与上下文概念。
  3. 样式隔离:在微前端或大型项目中,如何实现样式隔离(Scope CSS, CSS Modules, Shadow DOM 等)?
  4. GPU 加速:如何开启 GPU 硬件加速?常用的属性有哪些(如 transform, opacity)?
  5. 锚点定位与平滑滚动:如何实现百度百科式的“目录跳转”?如何处理固定导航栏导致的定位偏移?
  6. 暗黑模式:组件库中如何实现暗黑模式切换(CSS 变量、类名切换等)?

🛡️ 3. JavaScript 基础

  1. 闭包:什么是闭包?请手写一个简单的闭包。
  2. 原型链
    • 介绍原型链的概念。
    • 对象字面量的原型是什么?Object 的原型是什么?
  3. Promise 深度理解
    • Promise 的基本原理。
    • 手写题:Promise 串行调用 vs 并行调用。
    • 如果不使用 Promise.all,如何实现并行处理并捕获异常?
    • 如何将 Promise 改写为 async/await 场景?
  4. 事件循环 (Event Loop)
    • 宏任务与微任务的区别。
    • 看代码写出执行结果(Promise、setTimeOut、async 混写场景)。
  5. V8 垃圾回收 (GC)
    • 新生代与老生代的回收算法有何差异?
    • 如何在复杂页面中排查并解决内存泄漏(如百度贴吧长帖页)?
  6. 响应式原理Object.defineProperty 如何弥补数组响应式的不足?
  7. 跨域方案:列举常见的跨域解决方法(CORS, JSONP, Proxy 等)。
  8. 事件机制:详解冒泡与捕获过程及其应用。

⚙️ 4. 框架与工程化

  1. Vue 2 vs Vue 3
    • 核心差异有哪些(Composition API, Proxy vs defineProperty, Tree-shaking)?
  2. Webpack 工程化
    • 代码分割 (Code Splitting) 的实现方式有哪些?
    • 如何通过代码分割优化首屏加载体积(例如百度地图 Web 端)?
  3. 前端工程化实践:简述你对前端工程化的理解(规范、构建、部署、监控)。
  4. Git 常用命令git rebase 的作用是什么?它与 merge 的区别?

🌐 5. 浏览器与网络

  1. 浏览器渲染原理:从输入 URL 到页面显示的完整过程。
  2. 回流 (Reflow) 与重绘 (Repaint)
    • 两者的区别是什么?
    • 在“无限滚动加载”功能中,如何避免频繁操作导致的回流问题?
  3. HTTPS 握手过程
    • 证书验证的具体流程是什么?
    • 为何金融类页面(如百度金融)必须禁用 HTTP 降级?
  4. 状态管理与实时场景
    • 百度翻译:如何设计前端状态管理方案来支持多语言、翻译历史和离线缓存?
    • 百度直播:基于 WebSocket 设计可靠的消息推送方案,如何在 100ms 延迟内保证高并发下消息不丢不重?
  5. 存储与缓存
    • cookielocalStorage 的区别?在哪些场景下 cookie 更好?
    • 服务器端会保存哪一个?什么是 HttpOnly
  6. 图形学基础CanvasSVG 的优劣对比及适用场景。
  7. RequestAnimationFrame:介绍其作用及相比于 setInterval 的优势。

⚡ 6. 性能优化 (Performance)

  1. 图片优化策略
    • 不同后缀图片(WebP, AVIF, PNG, JPG)的区别。
    • 有损压缩与无损压缩。
    • 图片懒加载的具体实现。
  2. 大数据量渲染
    • 如何优化 1 万张图片的轮播图?
    • 若用户疯狂点击切换且图片较大,应如何 design 防抖/节流及请求撤回策略?

🧩 7. 算法与手写题 (Algorithms)

  1. 数据流中的中位数:描述算法思路或手写实现。
  2. 二维数组搜索:在有序二维数组中寻找目标值索引并进行性能优化。
  3. 字符串高亮:给定字符串及关键词数组,返回高亮后的字符串(需注意关键词重叠/公共部分的处理)。
  4. 对象遍历:非递归方式实现对象的深度优先遍历(DFS),对象包含 namechildren 数组。
  5. 逻辑改写:将多个 Promise 函数改为串行执行。