鲨鱼哥
一面
自我介绍+基础偏广度考察+手写+简单的项目问题
二面
原理+深度考察+手写+深挖项目难点
三面
基本是围绕项目展开+个人离职原因+性格方面
一二面集合问题
- addEventListener默认是捕获还是冒泡?
- 从输入一个URL地址到浏览器完成渲染的整个过程
- Webpack优化
- 手写实现一个寄生组合继承
- 手写new
- apply call bind 手写bind
- 举出闭包实际场景运用的例子
- ES6的let实现原理
- 事件循环相关题目—必考
- 浏览器缓存策略是怎样的(强缓存 协商缓存)具体是什么过程?
- 浏览器从输入网址到页面展现的整个过程
- https加密过程是怎样的
- 304是什么意思 一般什么场景出现 强缓存返回什么状态码
- http2.0做了哪些改进 3.0呢
- css优先级是怎么计算的
- position有哪些值,作用分别是什么
- flex:1是什么组成的
- 垂直水平居中
- 聊聊设计模式 在实际工作怎么使用
- vue 组件通讯方式有哪些方法
- Vue响应式原理
- Vue nextTick原理
- Vue diff原理
- 手写Vue.extend
- 路由原理 history和hash两种路由方式的最大区别是什么
- ReplaceState和pushState能否触发 popSate事件
- 实现一个promise.all 和race
- tree shaking是什么,有什么作用,原理是什么 rollup
- babel是什么,怎么做到的
- webpack工作流程是怎样的
- Webpack优化
- 是否有写过webpack插件和loader 他们的区别
- 渲染合成层是什么
- css怎么开启硬件加速(GPU加速)
- settimeout 模拟实现 setinterval
- 手写发布订阅模式
- 手写new
- 手写防抖节流
- 将虚拟 Dom 转化为真实 Dom(类似的递归题-必考)
实现一个对象的 flatten 方法
列表转成树形结构
- 判断括号字符串是否有效{[(]}
- 查找数组公共前缀
- 字符串最长的不重复子串
- 如何在字符串里面最快找到目标字符串的起始位置 如果是找字符串排列呢
- 如何找到数组中第一个没出现的最小正整数 怎么优化
- 怎么生成一个长度为n的不重复随机数组 能有几种方法 时间复杂度多少
三面集合问题(社招) 面评 薪资 定级 项目-逻辑题 算法题
- 为啥离职 中庸之道 客观
- 项目 性能优化
- 大文件上传
- 如何设计性能监控系统
- 如何设计前端错误上报系统
- 如何设计渲染引擎
- 怎么做code review
- 为团队做了什么技术贡献
- 团队管理相关
- 个人性格 优缺点 爱好啥的