Skip to content

第三套面试题

  1. JavaScript 中 this 的指向规则是什么?箭头函数中的 this 有什么特殊性?
  2. 分析以下代码中 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();
  1. React 的 Fiber 架构是什么?它解决了什么问题?
  2. 浏览器的跨域限制是什么?常见的跨域解决方案有哪些?
  3. CSS 中的 Flex 布局和 Grid 布局有什么区别?它们各自适合什么场景?
  4. 前端工程化中的 CI/CD 是什么?如何使用 GitHub Actions 实现前端项目的自动化部署?
  5. JavaScript 中的 Promise 是如何工作的?如何实现 Promise.all 和 Promise.race?
  6. 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>
  );
}
  1. 如何设计一个可访问性(Accessibility)良好的 Web 应用?请从 HTML 结构、交互设计等方面考虑。
  2. Webpack 的工作原理是什么?如何配置 Webpack 实现代码分割和懒加载?
  3. 如何处理前端异常监控和上报?请从捕获方式、上报策略等方面详细说明。
  4. 前端国际化有哪些实现方案?如何处理多语言文本、日期、货币等的国际化问题?

基于 MIT 许可发布