背景
本来假期想着好好沉淀一下,学了两个项目准备重新写份简历过段时间再开投。刚开学那几天看到牛客上有邀请投递简历,就用原来的简历投了一下,没想到约面了。
挺长时间没看八股了,准备了一天,还好面试难度也不是特别高,感觉表现还可以,有些小程序的问题没答上来。
一面(50分钟)
基础问题
- 自我介绍,优点缺点?
- 节流和防抖是什么?讲一下,手写一下防抖
- 还做过哪些性能优化?
- ES6特性有哪些讲一讲?
代码题
- 一道输出题
输出
if (true) {
var a = 0
let b = 0
const c = 0
}
console.log(a) // 0
console.log(b) // ReferenceError
console.log(c) // ReferenceError- CSS实现红色圆环
- 实现两栏布局左边固定右边自适应
- 手写数组扁平化(reduce+递归)
框架相关
- 讲一讲SSR?
- 使用SSR遇到过哪些问题?
- Vue响应式原理?
- 项目重构过程中做了哪些事情,优化了哪里?
- 讲一讲动态路由?
- 讲一讲虚拟列表?
小程序相关
- 小程序和Vue有哪些区别?
- 小程序生命周期?
二面(20分钟)
网络与浏览器
- 前端缓存
- 输入URL过程发生了什么
- HTTP和HTTPS区别
- 状态码
JavaScript基础
- 闭包
- 原型链
- 事件循环
CSS相关
- CSS position属性
- 水平垂直居中
- 如何画0.5px border
Vue相关
- vue-router的模式
- Vue2的data为什么是函数
- Vue2生命周期
总结
整体面试体验还不错,一面时间比较长,涵盖面比较广,从基础的JavaScript、CSS到框架Vue,再到小程序开发都有涉及。二面相对简短,主要考察基础知识的扎实程度。
建议准备面试的同学重点关注:
- JavaScript基础(闭包、原型链、事件循环)
- Vue框架原理和生命周期
- 前端性能优化
- 网络基础知识
- 手写代码能力
最终收到了offer,感谢这次面试经历