第三套面试题
- JavaScript 中 this 的指向规则是什么?箭头函数中的 this 有什么特殊性?
- 分析以下代码中 this 的指向
js
const obj = {
name: "test",
fn1: function () {
console.log(this.name);
},
fn2: () => {
console.log(this.name);
},
fn3: function () {
setTimeout(function () {
console.log(this.name);
}, 0);
},
fn4: function () {
setTimeout(() => {
console.log(this.name);
}, 0);
},
};
obj.fn1();
obj.fn2();
obj.fn3();
obj.fn4();
- React 的 Fiber 架构是什么?它解决了什么问题?
- 浏览器的跨域限制是什么?常见的跨域解决方案有哪些?
- CSS 中的 Flex 布局和 Grid 布局有什么区别?它们各自适合什么场景?
- 前端工程化中的 CI/CD 是什么?如何使用 GitHub Actions 实现前端项目的自动化部署?
- JavaScript 中的 Promise 是如何工作的?如何实现 Promise.all 和 Promise.race?
- React 性能优化的方法有哪些?如何避免不必要的重渲染?
js
// 分析以下代码的性能问题并给出优化方案
function ParentComponent() {
const [count, setCount] = useState(0);
const handleClick = () => {
setCount(count + 1);
};
return (
<div>
<button onClick={handleClick}>Increment</button>
<ChildComponent onClick={() => console.log("clicked")} />
</div>
);
}
- 如何设计一个可访问性(Accessibility)良好的 Web 应用?请从 HTML 结构、交互设计等方面考虑。
- Webpack 的工作原理是什么?如何配置 Webpack 实现代码分割和懒加载?
- 如何处理前端异常监控和上报?请从捕获方式、上报策略等方面详细说明。
- 前端国际化有哪些实现方案?如何处理多语言文本、日期、货币等的国际化问题?