642 字
3 分钟
网易数智·一面
2025-02-09
  1. 自我介绍

  2. 自己介绍一个深刻的项目(GitHub 自己写的项目)

    • 可以分享一个具有挑战性或让你最有成就感的项目。说明项目的背景、技术栈、难点以及你在其中的贡献。
  3. 问实习(开发一个需求的流程,代码怎么开发到上线的)

    • 项目的需求分析与设计。
    • 开发阶段,如何实现需求,代码编写、测试等。
    • 部署与上线,可能涉及 CI/CD 流程。
  4. React useEffect 中设置一个 setTimeout 里面有一个变量能不能去修改?为什么?

    • 这个变量是可以被修改的,但会受到 useEffect 中闭包的影响。setTimeout 是异步执行的,如果 useEffectsetTimeout 执行之前重新运行,闭包会捕获到旧的值。因此,变量的修改可能不会立即反映在 setTimeout 中。
  5. React 除了 useState 还有哪些 hooks 可以设置状态变量?(useReducer)

    • useReducer:通常用于复杂状态逻辑的管理,类似于 Redux 的 reducer。
    • useState:适用于简单的状态管理。
  6. React 子传父

    • 子组件通过 props 将数据传递给父组件。父组件可以通过回调函数将数据传递到子组件。
  7. Webpack 和 Vite 的区别

    • 热更新:Vite 相较于 Webpack 具有更快的热更新速度,Vite 使用原生的 ES 模块加载,更高效。
    • 打包方式:Webpack 是打包工具,Vite 是开发工具,Vite 通过开发时的 ES 模块实现即时更新,而 Webpack 需要先编译打包。
  8. Webpack 的 loader 和 plugin 区别?用过哪些?

    • Loader:用于转换源代码,比如将 ES6 转为 ES5,或将 SASS 转为 CSS。
    • Plugin:用于打包时执行更复杂的任务,比如压缩文件、提取公共模块等。
    • 用过的 Loader:babel-loadercss-loaderstyle-loaderfile-loader
    • 用过的 Plugin:HtmlWebpackPluginMiniCssExtractPluginUglifyJsPlugin
  9. Webpack 怎么做的打包优化?

    • 代码分割:通过 SplitChunksPlugin 将代码拆分成多个包,按需加载。
    • 缓存优化:使用文件哈希(contenthash)来缓存文件,避免不必要的缓存失效。
    • 压缩代码:使用 TerserPlugin 压缩 JavaScript,减少文件体积。
    • Tree Shaking:删除无用代码,减少打包后的代码体积。
  10. 如果使用 Ant Design 组件库需要覆盖掉样式怎么做?

    • 可以通过以下几种方式覆盖 Ant Design 样式:
      • 使用 style 属性进行局部覆盖。
      • 使用 CSS 覆盖(需要保证 CSS 的选择器优先级更高)。
      • 使用 @importless 配置进行全局主题定制,覆盖 Ant Design 的默认主题。
      • 使用 CSS Modules 或 styled-components 定制特定组件的样式。
网易数智·一面
https://linmoe.cn/posts/网易数智一面/
作者
林陌青川
发布于
2025-02-09
许可协议
CC BY-NC-SA 4.0