整个求职的周期是从2021的9月初一直到2021的10月中旬,如果除去十一的长假那基本上就是一整个月份都在找工作,大大小小的公司也面10几家。总的来说大家都是非常重视基础的,算法题和编程题也都是个大网站非常主流的题目,绝大多数都是重复的。那么就简单的记录一下今年的面试题。
算法和编程题
- 链表反转
- 数组拍平 + 排序 + 去重
- 大数相加
- 重复最多的字符串个数
- 字符串中最长的不重复部分
- 二叉树的后序遍历
- 字符串大小写转换
- 反转数组
- 全排列(到现在我也不会)
- 斐波那契数列
- promise all 和 allsettle 手写
- 处理异步并发
- new instanceof debounce throttle bind
- 隐式转换
// a ?
console.log(a==1 && a==2 && a==3)
// true
- 简单实现vue响应式
基础
- 原型链
- 尖头函数和普通函数区别
- let const var
- var 和 function 声明提升
- 改变this方法
- class 中的 super
- 实现一个继承
- event loop(promise mutationobserver)
- 回流、重绘
- 输入url到整个页面渲染
- script标签几种加载模式
- es module 和 commonjs
- 预加载
- css外链 加载对页面渲染的影响
- sessionStorage、localStorage(local 如何通信)
- 处理hash路由和history路由前后端应该做哪些事情
- cookie 参数设置以及获取
- 网络安全xss csrf 中间人
- http协议 0.9 - 3.0 + https (协议之间的介绍以及比对)
- 缓存(有的会问的非常细节,协商缓存中是否形成强缓存)
- JS Bridge
- tcp是如何保证传出稳定的
- 垃圾回收机制
- JavaScript存储
- 浏览器线程
- 闭包
框架Vue
- 双向绑定
- 响应式
- nextTick
- 异步更新机制
- 数组处理
- set
- 生命周期有哪些
- watch 和 computed
- compilar 模版编译是如何更新的
- Vuex原理
- Vue Router原理
- defineProperty和Proxy
- Vue和React的区别,如何选择框架
- keep alive 原理
- diff 算法(描述以及如何从O(n3) -> O(n)的)
项目
- webpack loader和plugin 作用
- webpack hooks
- tree shaking
- 开发loader和plugin
- webpack 构建过程
- compiler 和 compilation
- babel 是怎么转译的
- webpack 做过哪些配置,为什么要这么做
- 项目优化
- 前端项目性能指标和报警监控
- 聊一聊你觉得做的最好的项目或者印象最深的项目
- 技术选型为什么使用三方或者不使用三方组件
- 如何排错 (处理报错 定位报错信息)总体思路比较宽泛造成问题的原因可能不仅仅是前端代码造成的
CSS
- 上下左右剧中
- 左边定宽右边自适应
- css实现三角形
- css 动画
- 1px问题
- 移动端如何配置自适应
以上是近一个月的面试阶段被问到比较多的题目,由于主要技术栈是vue所以框架vue问的比较多,而且node做的比较少,所以关于node的问题问的也不多。大部分公司都会比较注重基础,其实题目只是一个表相更多的思考其实是在团队能做些什么,所以几乎每一面都会找一个项目聊聊