# 面试者技能栈 & 项目

  • 熟悉 vue 全家桶、源码
  • webpack、gulp 源码
  • babel 编译源码
  • cordova 混合 app 开发
  • 前端工程化、脚手架、搭建 CICD
  • 计算机网络、web 安全、浏览器原理
  • 低代码
  • java
  • 微信小程序

# js 基础

  • 作用域和执行上下文的区别
  • es5 的继承,es6 继承
  • js 的垃圾回收机制

# vue

  • 介绍 Vue template 到 render 的过程?

vue 首先将 template 进行词法分析变为 tokens 数组,通过语法分析变为 vue 的 ast, 根据 ast 添加 js 独有的属性变为 javaScript-ast, 然后根据 javaScript-ast 生成 render 函数

  • vue 怎么进行依赖收集的?
  • 对虚拟 DOM 的理解?虚拟 DOM 主要做了什么?
  • vue3 了解嘛,做了哪些优化,新功能?
  • vue3 hook 有哪些?
  • 说一下 vue3 的 compistion API?
  • vite 了解嘛?原理?会存在哪些问题?
  • 做过 ssr 嘛?遇到过哪些问题?怎么解决?

# babel

  • 开发过 babel 插件嘛
  • 插件是怎么实现的
  • 为什么会想到用 babel 方案去开发这个插件
  • 开发这个 babel 插件遇到了哪些问题,怎么解决的

# webpack

  • webpack 和 gulp 的优缺点
  • webpack 运行的流水线
  • esModule 和 commonJS 在 webpack 打包过程中有什么不同
  • webpack 优化
  • webpack 有哪些缺点
  • sourcemap,生产环境怎么调试?
  • tapable 是干嘛的?异步串行钩子实现思路?

# cordova 混合 app 开发

  • cordova 架构
  • 和 webview h5 对比

# 前端工程化、脚手架、cicd

  • 你理解的前端工程化,要做哪些
  • 脚手架做了什么
  • cicd 搭建流程
  • 有哪些改进点

# 计算机网络

  • https 握手过程
  • tcp、udp 区别
  • tcp 靠什么保证传输文稳定性,滑动窗口、慢启动、拥塞控制
  • websocket 了解嘛?心跳检测?
  • http2、http3

# web 安全

  • 项目中做过哪些 web 安全方面的处理
  • 中间人攻击
  • csp

# 浏览器原理

  • 浏览器渲染流程
  • 渲染和事件循环的关系
  • 浏览器分层 + 合成
  • transform:translate3d 为什么性能较好

# 低代码

  • 对低代码平台的理解
  • 你们这个项目能够实现哪些功能
  • 低代码项目团队需要多少人

# 数据结构 & 算法

  • 项目中有遇到过数据结构 & 算法的问题嘛

# 微信小程序

  • 微信小程序底层架构?为什么性能比 h5 要强?

# 其他

  • 浏览器垃圾回收机制
  • 闭包和内存泄漏
  • 长列表怎么优化
  • 作用域和执行上下文区别
  • 项目中做过监控嘛?性能监控?错误监控?

# 开放题

  • 侧边栏组件设计思路
  • java 和 js 差异,分别适合什么类型的项目
  • 做一个视频会议技术选型、要考虑的点
  • 哔哩哔哩要考虑的点
更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

dmq 微信支付

微信支付

dmq 支付宝

支付宝