前端面试题
· 阅读需 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 等。
算法和数据结构
- 常见算法:排序、搜索、递归、动态规划等。
- 常见数据结构:数组、链表、栈、队列、树、图等。
项目经验
- 项目描述:项目背景、目标、角色等。
- 技术选型:为什么选择某些技术栈。
- 问题解决:遇到的问题及解决方案。
其他
- 软技能:沟通能力、团队合作、学习能力等。
- 职业规划:对前端发展的看法、职业目标等。