大致将近期的面积总结下,方面之后的学习复盘和查漏补缺
由于保密原因,笔试题就不写出来了(不过我也差不多忘了 😂)
由于本人工作中的技术栈是 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 和后端方面的知识要进一步了解,不能只只局限于前端
- 常用的设计模式和函数式编程要了解
- 排序算法基本上必考,而快排考察的频率最高
- 要了解基本的数据结构和基本的常见的算法