深信服

一面

自我介绍

  • 表明从哪里来,被谁推荐来,荣幸,高兴来
  • 简单介绍目前工作情况,架构变动导致迅速成长,主要职责(…)
  • 简单介绍主要成就(跨技术栈组件,接口代码生成工具,商品列表实现配置快速接入页面,vue 脚手架)引导面试官追问
  • 综合招聘资料,符合岗位要求

正式开始

  1. 围绕项目一一展开
  • 背景
  • 作用是什么
  • 如何使用
  • 面向过程还是对象(说面向对象,引导出设计模式)
  • 如何维护,运行报错怎么排查
  • 如何发包
  • 在项目中的难点是什么,怎么解决
  • 可以去扩展吗(结合自己是面向对象的写法,可以说基于基类去多写一个类)
  1. 看过什么设计模式,以及有在项目中使用吗

  2. 做过 webpack 什么优化

  3. webapck 和 rollup 有什么区别

  4. web 安全你知道有哪几种,怎么防御,对于 crsf,有案例用户被拿到了电话号码,这个过程怎么实现?

  5. vue 父子组件钩子运行时的顺序

  6. vue 的生命周期介绍

  7. vue 子组件在更新到渲染的执行过程是怎么样的

  8. vnode 是什么

  9. 子组件 render 触发的时候父组件会不会触发 render

  10. 父组件 render 触发会不会触发子组件 render

  11. vue 的插件机制

  12. angular 和 vue 你认为有什么区别,你自己喜欢哪种,理由是什么

  13. 如果有个 npm 包内有逻辑错误,结合项目生命周期短应该怎么去修复

  14. 怎么发布一个 npm

  15. 认为自己比较擅长哪方面(业务,基础架构,技术框架,插件)

  16. ts type 和 interface 区别

  17. ts 怎么重写一个类型里面的属性类型,用 type ,interface 两者各自实现(对于 interface 要使用 pick 高级用法)

  18. 描述一下副作用,副作用的作用

  19. 纯函数是什么

  20. wepack 和 rollup 如何设置副作用对其 tree shaking

  21. github 上面有项目吗(有个基于 webcomponent 的正在建设组件库)
    介绍一下(我说出了背景,有包括了哪几种技术选型,规划,以及目前进度)

  22. 对于现在岗位有什么计划吗(引导计划微前端,简单说原理)

  23. 中间有一道算法题,将一个含有父 id 被拍平的树,重新生成一颗树

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
arr = [
{
id: 1,
name: "a",
parentId: -1,
},
{
id: 2,
name: "b",
parentId: 1,
},
{
id: 3,
name: "c",
parentId: 2,
},
{
id: 4,
name: "d",
parentId: 3,
},
];

对于发散性的问题应该主要考察工作时的一些工作能力,回答的时候应该尽可能主动去列出多种情况以及补救方法(比如现在报错了怎么定位,npm 报错了,你认为 xxx 等)

二面

主要针对自己做的项目介绍
-> [项目面]

作者

wuxunyu

发布于

2022-06-25

更新于

2022-07-07

许可协议