问题整理

前端工程化的理解 【流程+规范+自动化等】

webpack(项目打包)

  • 用过哪些loader和plugin;
    loader和plugin区别是啥【loader处理某一类文件而plugin可以做「任何」事】;
  • 多页面入口打包, webpack如何抽离公共部分
  • webpack 如何使用tree-shaking(摇树优化)【进阶】

babel(JavaScript 编译器)

  • 配置过babel哪些属性 【presets,plugins,env等】
  • 写过Babel插件吗?

eslint(代码规范检查)

这是因为 ESlint 默认支持 JavaScript 3、5 版本。 对更高 ES 语法的支持需要手动配置。

  • 指定 JavaScript 支持版本
  • Extend 作用 如何 配置

ESlint 提供了众多可配置的 Rules, 一个一个配置是非常麻烦的。 ESlint 支持从已有的配置中继承启动的规则。

TypeScript

  • 为什么要用TypeScript(意义、优点)

vue(全家桶:项目构建工具(vue-cli)、路由(vue-router)、状态管理(vuex)、http请求工具(axios))

  • 生命周期及每个阶段做什么,在什么阶段才能访问操作DOM?
    【 beforeCreate、created、beforeMount、mounted、beforeUpdate、updated、beforeDestroy、 destroyed】


    vue生命周期
  • Vue 中组件之间传值的方法有哪些?

  • computed和watch区别

  • hash和history区别

  • route和router的区别是什么?

  • 谈一谈对vue组件化的理解

  • vue的双向绑定的原理 【Object.defineProperty + Dep + Watcher】【进阶】

axios

  • 有没有封装过axios
  • axios POST提交数据的三种请求方式写法

vuex
主要包括以下几个模块:
State:定义了应用状态的数据结构,可以在这里设置默认的初始状态。
Getter:允许组件从 Store 中获取数据,mapGetters 辅助函数仅仅是将 store 中的 getter 映射到局部计算属性。
Mutation:是唯一更改 store 中状态的方法,且必须是同步函数。
Action:用于提交 mutation,而不是直接变更状态,可以包含任意异步操作。
Module:允许将单一的 Store 拆分为多个 store 且同时保存在单一的状态树中。

es6(及补充版本 es7/es8/es9/es10)

  • js 数据类型?【7种原始类型String、Number、Boolean、Null、Undefined、Symbol(es6新增)、 BigInt(es10新增)和 object】
    数据存储方式有什么区别?
  • null和undefined的区别?
  • == 和 ===有什么区别?
  • promise与 async/await 的区别 ,发生异常时如何终止?
    promise 在发生异常时 中断代码执行的三种方式;
    介绍下 Promise.all 使用、原理实现及错误处理;
  • ES5/ES6 的继承除了写法以外还有什么区别?
  • ES5/ES6 如何遍历数组,二维数组?
  • 讲this指针和箭头函数 【常规题】

react

  • react-router 里的 <Link> 标签和 <a> 标签有什么区别

如何禁掉 <a> 标签默认事件,禁掉之后如何实现跳转。

  • 什么是状态提升?
  • 什么是高阶组件?

node

  • 简述Node.js的适用场景?
  • node相关path API 有哪些?
path.dirname、path.join、path.resolve 
  • node的文件读取怎么做的?
  • console 是同步的还是异步的?

console 并不总是同步的,也不总是异步的。同步还是异步取决于链接的是什么流以及操作系统是 Windows 还是 POSIX。

  • Node.js单线程、其应用场景,如何实现高并发,讲讲异步I/O、事件循环以及其优先级

网络相关

  • GET\POST请求区别 【常规问题】
    -HTTPS握手加密过程

业务相关

  • 介绍下前端加密的常见场景和方法

移动端适配

  • 移动端使用rem,基础值如何设置,如何适配各种屏幕;
  • 如何解决移动端 Retina 屏 1px 像素问题

算法题

  • 打印出 1 - 10000 之间的所有对称数(例如:121、1331 等)

推荐阅读更多精彩内容