深信服
一面
自我介绍
- 表明从哪里来,被谁推荐来,荣幸,高兴来
- 简单介绍目前工作情况,架构变动导致迅速成长,主要职责(…)
- 简单介绍主要成就(跨技术栈组件,接口代码生成工具,商品列表实现配置快速接入页面,vue 脚手架)引导面试官追问
- 综合招聘资料,符合岗位要求
正式开始
- 围绕项目一一展开
- 背景
- 作用是什么
- 如何使用
- 面向过程还是对象(说面向对象,引导出设计模式)
- 如何维护,运行报错怎么排查
- 如何发包
- 在项目中的难点是什么,怎么解决
- 可以去扩展吗(结合自己是面向对象的写法,可以说基于基类去多写一个类)
看过什么设计模式,以及有在项目中使用吗
做过 webpack 什么优化
webapck 和 rollup 有什么区别
web 安全你知道有哪几种,怎么防御,对于 crsf,有案例用户被拿到了电话号码,这个过程怎么实现?
vue 父子组件钩子运行时的顺序
vue 的生命周期介绍
vue 子组件在更新到渲染的执行过程是怎么样的
vnode 是什么
子组件 render 触发的时候父组件会不会触发 render
父组件 render 触发会不会触发子组件 render
vue 的插件机制
angular 和 vue 你认为有什么区别,你自己喜欢哪种,理由是什么
如果有个 npm 包内有逻辑错误,结合项目生命周期短应该怎么去修复
怎么发布一个 npm
认为自己比较擅长哪方面(业务,基础架构,技术框架,插件)
ts type 和 interface 区别
ts 怎么重写一个类型里面的属性类型,用 type ,interface 两者各自实现(对于 interface 要使用 pick 高级用法)
描述一下副作用,副作用的作用
纯函数是什么
wepack 和 rollup 如何设置副作用对其 tree shaking
github 上面有项目吗(有个基于 webcomponent 的正在建设组件库)
介绍一下(我说出了背景,有包括了哪几种技术选型,规划,以及目前进度)对于现在岗位有什么计划吗(引导计划微前端,简单说原理)
中间有一道算法题,将一个含有父 id 被拍平的树,重新生成一颗树
1 | arr = [ |
对于发散性的问题应该主要考察工作时的一些工作能力,回答的时候应该尽可能主动去列出多种情况以及补救方法(比如现在报错了怎么定位,npm 报错了,你认为 xxx 等)
二面
主要针对自己做的项目介绍
-> [项目面]