美团面经
本篇美团前端面经涵盖HTML、CSS、JavaScript核心知识,包括语义化标签、BFC、盒模型、flex布局、响应式适配、事件机制、原型链、闭包、异步编程、Vue原理、Vuex、浏览器缓存、跨域、HTTP协议、设计模式等高频面试题,全面系统,助你攻克大厂技术面。
前端工程化
Webpack是前端模块化打包工具,支持代码分割、模块化与静态分析。相比Grunt/Gulp,更注重模块处理。核心概念包括bundle、chunk、module。Loader用于解析非JS文件,Plugin扩展构建功能。构建流程含初始化、编译、依赖解析、输出等阶段。可通过SplitChunks提取公共代码、Tree-shaking去除无用JS(需ES6模块)、压缩资源、合理配置缓存(如chunkhash)优化性能。支持热更新提升开发效率,配合webpack-cli可自动生成配置。
重绘回流过程
浏览器渲染流程:解析HTML生成DOM树,解析CSS生成CSSOM,合并为渲染树,再经布局、绘制显示页面。DOM树包含所有元素,渲染树仅含可见内容。CSS阻塞渲染但不阻塞DOM解析。重绘因样式变化,回流因布局变化,回流必触发重绘。避免频繁操作样式与属性读取,提升性能。
NodeJS框架
Node.js基于事件驱动与单线程模型,通过Event Loop实现异步回调,利用libuv处理多线程任务。JavaScript单线程避免DOM冲突,Web Worker可启多线程。任务队列管理异步事件,配合setTimeout、setImmediate、process.nextTick控制执行顺序。Node通过child_process模块创建子进程实现并发。Express和Koa为常用框架:Express集成路由中间件,采用callback;Koa基于async/await或generator,结构轻量,错误处理更优,中间件为“洋葱模型”,流程清晰。
何为跨域
CORS(跨域资源共享)是W3C标准,允许浏览器向跨源服务器发起XMLHttpRequest请求,突破AJAX同源限制。需浏览器和服务器共同支持,主流浏览器均兼容。通信由浏览器自动完成,开发者无需特殊编码。核心在于服务器配置CORS响应头,如Access-Control-Allow-Origin等。请求分为简单和非简单两类,后者会先发送OPTIONS预检请求确认权限。相比仅支持GET的JSONP,CORS支持所有HTTP方法,更灵活安全。
虚拟滚动技术
虚拟滚动技术通过仅渲染可视区域内的DOM元素,大幅减少页面负载。即使列表包含数万个项,也只动态更新可见部分,滚动时实时替换内容,避免卡顿。相比一次性渲染或requestAnimationFrame分批插入,性能更优,是前端优化的面试加分项,如react-virtualized等库可实现该技术。
雅虎14条Web性能优化规则
雅虎14条Web性能优化规则,涵盖减少HTTP请求、使用CDN、资源压缩、缓存配置、CSS/JS优化、图片处理、Cookie管理及移动端建议,全面提升网页加载速度与用户体验。
vue框架
本文深入解析Vue核心原理,涵盖v-bind与v-model区别、响应式机制(Object.defineProperty)、模板编译为render函数、虚拟DOM渲染流程、数据双向绑定及MVVM模式。详解生命周期、组件通信、路由控制、Vuex状态管理及其内部实现,并对比jQuery,突出Vue数据驱动优势。
React框架
React基于虚拟DOM和Diff算法实现高效渲染,通过生命周期管理组件状态。支持JSX、服务端渲染,易于测试与优化。强调单向数据流,可与其他框架集成,广泛用于构建高性能前端应用。(239字)
百度面经
本文整理了前端开发常见面试题,涵盖React与Vue对比、JS基础(数据类型、闭包、事件循环)、HTTP、跨域、性能优化、PWA、Webpack打包、项目架构及算法等,助力系统化备战前端面试。