京东-技术中台-校招 · 第 1 轮 · 二面
← 第 1 轮 · 返回本次面经 · 已是最后一轮 → 本轮要点: 本次面试聚焦CSS布局核心问题(浮动清除、BFC机制)、高频JS手写能力(防抖函数)、工程化实践(TS迁移痛点、Vue3升级策略)、深度性能优化(缓存协同更新、Tree Shaking原理)。难点在于浮动导致的布局塌陷解决方案、CDN与本地缓存协同策略设计,以及复杂框架迁移的兼容性处理。 本轮共 11 道题。答案默认折叠,便于先自行作答。 1. 浮动元素导致的布局错乱应该如何解决? 题目要点 CSS浮动布局及解决方案。 参考答案 浮动元素会导致其父元素高度塌陷,从而影响布局。解决方法有: 1. 清除浮动:在浮动元素后面添加一个空的`div`,设置`clear: both`。 2. 使用伪元素清除浮动:在父元素上使用`::after`伪元素,设置`clear: both`。 .parent::after { content: ""; display: block; clear: both; } 1. 使用`overflow: hidden`:给父元素设置`overflow: hidden`,但可能会隐藏超出部分的内容。 2. 使用`BFC`(块级格式化上下文):通过设置`display: flow-root`或`overflow: auto`等属性,使父元素形成一个独立的BFC,从而包含浮动元素。 2. 实现一个固定侧边栏+自适应主内容的布局 题目要点 CSS布局技巧。 参考答案 可以使用flexbox布局实现固定侧边栏和自适应主内容的布局: <div class="container"> <div class="sidebar">侧边栏</div> <div class="main">主内容</div> </div> .container { display: flex; } .sidebar { width: 200px; /* 固定宽度 */ background-color: #f0f0f0; } .main { flex: 1; /* 自适应宽度 */ background-color: #ffffff; } 3. 实现 debounce(防抖)函数 题库原题:实现 debounce(防抖)函数 ...