Bootstrap

2025年前端面试题汇总

JavaScript核心

  1. 异步编程
    • Promise、async/await 的工作原理及应用场景。
    • 如何处理并发请求,使用Promise.all()Promise.race()等方法。
    • 解释事件循环机制,理解微任务(microtask)与宏任务(macrotask)的区别。
  2. 原型链
    • 深入理解JavaScript中的原型继承模型。
    • 举例说明如何通过修改原型对象影响所有实例。
  3. 闭包
    • 定义闭包及其作用,如实现私有变量和函数工厂模式。
    • 分析闭包可能导致内存泄漏的情况。
  4. 类和面向对象编程
    • ES6引入的class语法糖背后的原型链实现。
    • 静态方法、getter/setter、构造函数等特性。
  5. 错误处理
    • 使用try…catch捕获异常,以及finally的作用。
    • 自定义Error对象,创建特定类型的错误信息。

HTML/CSS基础

  • HTML语义化标签
    • <article><section><header><footer>等标签的正确使用场景。
    • 对SEO和可访问性的好处。
  • CSS选择器优先级
    • ID选择器、类选择器、元素选择器之间的权重关系。
    • 继承、层叠规则对样式的最终影响。
  • 响应式设计
    • 使用媒体查询适应不同设备尺寸。
    • 移动端特有的单位如vw、vh的应用。

框架与工具

Vue.js
  • 组件通信
    • 父子组件间的数据传递方式(props、events)。
    • 非父子组件间的沟通策略,例如Vuex状态管理模式。
  • 生命周期钩子
    • 不同阶段触发的钩子函数及其用途。
    • 如何利用这些钩子进行初始化、清理操作。
React.js
  • JSX语法
    • JSX表达式的编写规范,以及它编译成React.createElement的过程。
  • 虚拟DOM
    • React如何通过Diff算法最小化真实DOM更新次数。
    • 键(key)属性的重要性,确保列表项唯一标识。
Webpack/Vite
  • 优化配置
    • Tree shaking移除未使用的代码。
    • Code splitting按需加载模块。
    • 缓存策略提升构建效率。

性能优化

  • 减少重绘与回流
    • 批量执行样式更改,避免频繁触发浏览器布局计算。
    • 使用GPU加速(transform、opacity)代替CPU密集型属性变化。
  • 资源预取与预加载
    • rel="preload"rel="prefetch"的区别及其适用场景。

网络与安全

  • HTTP/2 vs HTTP/1.1
    • 多路复用、头部压缩等新特性带来的性能改进。
  • HTTPS加密过程
    • SSL/TLS握手流程,公钥基础设施(PKI)的基本概念。
  • CSP(Content Security Policy)
    • 设置严格的策略防止XSS攻击。

算法与数据结构

  • 复杂度分析
    • 时间复杂度O()表示法,评估算法效率。
    • 空间复杂度考量,特别是递归调用栈空间消耗。
  • 搜索算法
    • 广度优先搜索(BFS)、深度优先搜索(DFS)的特点及应用。

其他

  • Web API
    • Fetch API替代XMLHttpRequest的优势。
    • Service Worker缓存管理和服务工人消息传递。
  • PWA (Progressive Web Apps)
    • 将网站转换为渐进式Web应用程序所需步骤。
    • 离线支持、推送通知等功能实现。
;