跳到主要内容

前端面试题

· 阅读需 3 分钟

HTML/CSS

  • HTML 基础:语义化标签、表单、SEO 优化等。
  • CSS 基础:选择器、盒模型、布局(如 Flexbox、Grid)、响应式设计等。
  • CSS 预处理器:如 Sass、Less 的使用。
  • CSS3 新特性:如动画、过渡效果、渐变等。

JavaScript

  • 基础知识:变量、数据类型、运算符、控制结构、函数、作用域、闭包等。
  • 高级特性:原型链、面向对象编程(OOP)、异步编程(回调、Promise、async/await)、事件循环等。
  • ES6+新特性:箭头函数、解构赋值、模块化(import/export)、类(class)等。
  • DOM 操作:节点操作、事件处理、样式和内容修改等。
  • 错误处理和调试:try/catch 等。

React

  • React:组件、状态管理(Redux、MobX)、生命周期、Hooks 等。

Vue

  • Vue.js:组件、指令、Vuex、Vue Router 等。

构建工具和自动化

  • 模块打包工具:Webpack、Parcel、Rollup 等。
  • 代码转换和优化:Babel、PostCSS 等。
  • 版本控制:Git 的基本使用、常见命令、Git Flow 等。

性能优化

  • 资源优化:图片压缩、代码压缩、懒加载等。
  • 渲染优化:减少重绘和回流、使用虚拟 DOM 等。
  • 网络优化:使用 CDN、缓存策略、HTTP/2 等。
  • 性能测量和监控:使用 Lighthouse、Chrome DevTools 等工具。

浏览器

  • 浏览器工作原理:渲染引擎、JavaScript 引擎等。
  • 常见兼容性问题:CSS Hack、Polyfill 使用等。
  • 移动端浏览器:响应式设计、移动端事件处理等。
  • 跨域:请求跨域等。

安全

  • 常见攻击方式:XSS、CSRF、点击劫持等。
  • 安全编码实践:输入验证、输出编码、Content Security Policy(CSP)等。

测试

  • 单元测试:Jest、Mocha、Chai 等。
  • 集成测试:Selenium、Cypress 等。
  • 端到端测试:Puppeteer、Playwright 等。

算法和数据结构

  • 常见算法:排序、搜索、递归、动态规划等。
  • 常见数据结构:数组、链表、栈、队列、树、图等。

项目经验

  • 项目描述:项目背景、目标、角色等。
  • 技术选型:为什么选择某些技术栈。
  • 问题解决:遇到的问题及解决方案。

其他

  • 软技能:沟通能力、团队合作、学习能力等。
  • 职业规划:对前端发展的看法、职业目标等。