两年前端2019年面试小结

794 阅读2分钟

大致将近期的面积总结下,方面之后的学习复盘和查漏补缺
由于保密原因,笔试题就不写出来了(不过我也差不多忘了 😂)
由于本人工作中的技术栈是 Vue 所以以下面试主要是围绕 Vue 相关题目

小米 小米商城

一面

  • 常用的设计模式
  • 输入 url 到返回页面发生了什么
  • 手写快排
  • js 异步编程方式

二面

  • 如何捕获异步代码错误
  • async/await 的使用
  • Promise.all 和 Promise.race 的使用及区别
  • 说下使用 iframe 的坑

三面

  • React 的优缺点
  • Vue 和 React 的区别
  • 离职原因
  • 自己的长期规划

hr 面

  • 离职原因
  • 自己的期望

字节跳动 效率工程

一面(视频)

  • Vue React 区别
  • Vue diff
  • 虚拟 dom
  • 数组偏平化 手写 flatten 函数
  • 手写 指定层级的扁平化 deep flatten 函数
  • 函数柯里化 手写 curry 函数
  • 非简单请求,OPTIONS 请求

360 奇舞团

一面

  • 隐式类型转换
  • http 缓存
  • 原型
  • 代码书写规范
  • 闭包
  • css 选择器优先级
  • css 画图
  • Vue 的响应式原理
  • Vue 的 diff 算法
  • Vue 组件间的通信方式

快手 效率工程

一面

  • 说笔试题 typeof 打印的内容
  • promise 的 then 的第二个参数 和 catch 的不同
  • Vue 的组件通信
  • Vuex 的 mutation 和 action

二面

  • event loop
  • http 的 keep-alive
  • http 缓存
  • webpack 的 loader 和 plugin 的区别
  • 手写 webpack loader 和 plugin
  • Vue 的 diff 算法
  • React 的 setState 是“异步”还是“同步”

三面

  • 手写快排
  • typescript 的相关使用

四面

  • 离职原因
  • 期望 计划
  • 团队开发规模

hr 面

  • 离职原因
  • 短期 中期 计划
  • 讲解简历上的一些项目

作业帮 商业化平台

一面

  • React 和 Vue 的区别

  • 深拷贝

  • 防抖和节流的区别

    • 区别
    • 应用场景
    • 手写防抖
  • Vue 的 computed 和 watch 的区别

    • 区别
    • 应用场景

二面

  • VueRouter 的原理

    • hash 模式 和 history 模式的实现原理
    • hash 模式的缺点
    • history 需要额外配置什么
  • Vue 的响应式原理

    • Object.defineProperty
  • Vue 的 diff 算法

    • 如何判断 samenode
    • patch
    • updateChildren
  • Event loop

    • 讲解 event loop
    • 写出题目中代码的输出顺序
  • 手写快速排序

  • 二叉树的深度遍历

    • 写出题目中的二叉树的三种深度遍历节点的打印顺序

hr 面

  • 离职原因
  • 期望

总结

通过近期的面试,大致得出如下结论

  • 前端基础要扎实
  • Vue 的深入理解,而不能停留在 api 调用阶段
  • http 和后端方面的知识要进一步了解,不能只只局限于前端
  • 常用的设计模式和函数式编程要了解
  • 排序算法基本上必考,而快排考察的频率最高
  • 要了解基本的数据结构和基本的常见的算法