25届春招战况|记录一下蔚来京东前端凉经

199 阅读3分钟

京东一面:

  1. promise什么时候到resolve什么时候reject

  2. 有几种盒子模型?说一下区别

  3. css适配,如何实现

  4. 如何防止页面阻塞(script标签过多的情况下)

  5. 本地存储

  6. 清除浮动的四种方式

  7. class和interface的区别

  8. 获取dom会返回一个什么东西

  9. dom是在那个生命周期渲染的

  10. watch和computed

  11. 深拷贝的几种方式?手写递归实现

京东二面:(逆天加时赛)

  1. express和koa的区别,为什么选择使用koa?

  2. 对vue编译原理的理解?说一下diff算法的实现思路(背了一下口诀速通)

  3. 你的项目如何实现jwt鉴权的?

  4. 我分两端进行回答,koa中间件的单匙加密,每次请求之前都要先进行鉴权,(区别于分布式的对称加密);前端使用拦截器判断令牌是否过期设置白名单

  5. 前端获取到token之后存到哪里?为什么?

  6. cookie、session、localStorage、sessionStorage的区别

  7. 如何实现用户权限控制?jwt如何实现?

    这里分两个方面回答了,分别是前端拿到token之后进行的request拦截和response拦截,定义超时之后的处理;后端则是登录时使用密钥结合用户信息生成一串base64的token返回给前端,并且之后在请求时都需要decode这个token,并且在响应的时候加密。巴拉巴拉扯了点细节

  8. 为什么要使用websocket?

  9. 如何解决大文件上传?hash文件切片

  10. 项目中如何实现分页?node:limit()指定查询结果数量、skip()指定查询偏移量、sort()实现查询结果排序

  11. 为什么要使用vite?在打包的时候进行了什么优化?自己的项目里做了哪些分包操作(说一下具体命令

  12. 讲一下项目里识别富文本转word的实现逻辑?对于特殊标签的处理?

蔚来一面:

  1. POST和GET的区别
  2. 说一下flex布局
  3. 手写一个内容超出一定长度就显示省略号的块
  4. map和forEach分别用map和forEach写交际和并集
  5. 请用你知道的方法实现数组去重
  6. 一般什么情况下会使用Set?
  7. 说一下event loop,宏任务微任务有哪些
  8. promise的代码输出题
  9. 说一下重绘和回流
  10. 说一下vue3和vue2的响应式原理
  11. 手写一个递归实现的深拷贝

蔚来二面:

  1. 说一下vue23的响应式?vue2的$set有用过吗?一般什么时候用
  2. 有几种方法判断一个数据类型是null?
  3. 闭包的应用场景,项目中使用闭包的场景,扯到了防抖的实现。防抖定时器扯到了定时器是否准时(用事件循环解释延时)