2025年前端高频口试题(含答案)
一、HTML/CSS(10题)[*]盒模型与box-sizing的作用
[*]CSS绘制三角形与梯形原理
[*]BFC触发条件与应用场景(解决外边距重叠等)
[*]Flex布局与Grid布局的实用场景对比
[*]圣杯布局/双飞翼布局的实现与差别
[*]CSS选择器优先级与权重计算规则
[*]伪类与伪元素的区别(如:before vs ::before)
[*]CSS动画性能优化(硬件加快与will-change)
[*]响应式设计实现方案(媒体查询、视口单位等)
[*]移动端1像素边框问题的解决方案
<hr> 二、JavaScript核心(10题)
[*]防抖与节流的区别及实现
[*]闭包应用场景与内存泄漏风险
[*]['1','2','3'].map(parseInt)的结果及原因
[*]JavaScript继承的多种实现方式(原型链、组合继承等)
[*]事件循环机制与宏任务/微任务实行顺序
[*]Promise核心原理与手写实现
[*]ES6+新特性解析(如可选链、空值归并运算符等)
[*]this指向的四种绑定规则及优先级
[*]手写深拷贝函数(解决循环引用问题)
[*]JavaScript内存泄漏的常见场景及排查方法
<hr> 三、框架与工程化(10题)
[*]React列表组件中key的作用与Diff算法优化
[*]Vue3 Composition API的优势与逻辑复用
[*]React Hooks的使用规则与自定义Hook设计
[*]Vue响应式原理(Proxy与Object.defineProperty对比)
[*]微前端架构的核心挑衅(样式隔离、状态共享)
[*]Webpack Tree Shaking原理与优化配置
[*]SSR与CSR的优缺点对比及实现方案
[*]React Fiber架构的设计目标与实现原理
[*]Vuex与Redux状态管理库的异同
[*]前端工程化中的Monorepo实践(如Turborepo)
<hr> 四、性能与安全(10题)
[*]淘汰页面加载时间的优化策略(资源压缩、CDN等)
[*]XSS攻击防御措施(输入过滤、CSP策略)
[*]CSRF攻击原理与Token验证机制
[*]欣赏器渲染流程与重排/重绘优化
[*]前端资源懒加载与预加载实现
[*]Webpack分包策略与代码分割优化
[*]HTTP/2协议对前端性能的提升
[*]前端内存泄漏检测工具(Chrome DevTools)
[*]CDN动态加快与边缘计算的应用
[*]安全头部配置(如CSP、HSTS)
<hr> 五、进阶与前沿(10题)
[*]ECMAScript 2025新特性(顶层await、Record & Tuple)
[*]WebAssembly在前端的应用场景(高性能计算、跨语言开发)
[*]TypeScript类型体操与工具类型实现
[*]PWA核心技术(Service Worker、离线缓存)
[*]前端低代码平台的架构设计思路
[*]Web Components的标准化与欣赏器支持
[*]前端测试策略(单元测试、E2E测试框架选型)
[*]Serverless在前端摆设中的应用
[*]AI工程化在前端的落地(如TensorFlow.js)
[*]跨端渲染方案对比(React Native vs Flutter)
<hr> 答案解析:
一、HTML/CSS(10题)
1. 盒模型与box-sizing的作用
盒模型组成:
每个HTML元素由4部分组成:内容(content)、内边距(padding)、边框(border)、外边距(margin)。默认情况下,width和height仅定义内容区的尺寸。
box-sizing的作用:
[*]content-box(默认):元素总宽度 = width + padding + border。
[*]border-box:元素总宽度 = width(包含padding和border),内容区自动缩小。
示例:
.box {
width: 200px;
padding: 10px;
border: 5px solid;
box-sizing: border-box;/* 总宽度保持200px */
}
应用场景:
[*]border-box 常用于响应式布局,避免因padding和border导致布局错位。
<hr> 2. CSS绘制三角形与梯形原理
原理:
通过设置边框的透明属性,仅保留单边颜色,形成三角形。例如:
.triangle {
width: 0;
height: 0;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
border-bottom: 100px solid #000;
}
梯形:通过调整不同方向的边框宽度和颜色实现。
应用场景:
[*] 箭头指示、对话框尖角、装饰性图形。
<hr> 3. BFC触发条件与应用场景
触发条件:
[*]overflow: hidden、float: left/right、display: inline-block、position: absolute/fixed等。
应用场景:
[*]防止外边距归并:两个相邻元素的垂直外边距会重叠,BFC容器可隔离此征象。
[*]清除浮动:父元素触发BFC后,自动包含浮动子元素的高度。
[*]避免元素被浮动覆盖:非浮动元素触发BFC后,不会与浮动元素重叠。
<hr> 4. Flex布局与Grid布局的实用场景对比
Flex布局:
[*]实用场景:一维布局(单行或单列排列),如导航栏、卡片列表、垂直居中。
[*]核心属性:flex-direction、justify-content、align-items。
Grid布局:
[*]实用场景:二维布局(多行多列),如复杂网格、仪表盘、响应式页面。
[*]核心属性:grid-template-columns、grid-gap、grid-area。
对比:
[*] Flex更机动适合局部布局,Grid更适合整体页面布局。
<hr> 5. 圣杯布局/双飞翼布局的实现与差别
圣杯布局:
[*]实现:通过浮动、负边距和相对定位实现三栏布局,中心列优先加载。
[*]特点:HTML布局为中心列在前,左右两列通过负边距调整位置。
双飞翼布局:
[*]差别:中心列添加一个内层容器,通过内层容器的margin为左右栏留出空间。
共同目标:实现三栏自适应,优先渲染主要内容。
<hr> 6. CSS选择器优先级与权重计算规则
权重规则:
[*]内联样式(style="") > ID选择器 > 类/伪类/属性选择器 > 标签/伪元素选择器。
[*]计算方式:(0,0,0,0)分别代表内联、ID、类、标签的计数,从左到右逐级比较。
示例:
[*].class 权重为(0,0,1,0),#id为(0,1,0,0),div:hover为(0,0,2,0)。
<hr> 7. 伪类与伪元素的区别
[*]伪类(如:hover):表示元素的动态状态(如悬停、聚焦)。
[*]伪元素(如::before):创建虚拟元素(
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]