约一个小时,全程拷打项目理解,无八股
自我介绍
介绍一下简历上的几个项目
介绍一下社团管理系统的大体架构
介绍一下鉴权模式(jwt模式+长短token)
长短两个token各自的作用是什么(长token保存登录状态并用于刷新短token,短token用于接口鉴权)
菜单是如何鉴权的(路由添加鉴权字段)
菜单有几级,是否有分级鉴权
怎么样去获取到用户权限
在路由守卫中加入长token的鉴权是否会产生问题(想了半天好像没啥问题,面试官好像也没想出有啥问题)
是否有在项目中进行组件封装,封装了什么功能,怎么实现的
怎么提高组件的扩展性和适配性
社团管理系统项目时自己从零搭建的还是接手的
如果从零开始搭建一个项目你会怎么做(我答的整体项目,没想到问的是前端项目)
使用vue2更多还是vue3更多
介绍一下简历中的小游戏项目,用到了哪些技术(答了vuex)
Vuex中mutation和action有什么区别(只回答了同步异步的区别)
为什么要使用vuex
使用vuex时为什么要拆分models出来
拆分出models有什么好处
如果现在让你重构这个小游戏里的娃娃机部分,你会去怎么实现和优化
在礼品也运动的时候如何进行抓取判断并优化(回答使用类似飞机大战那样的边界判断,但感觉没答到点上)
有没有用过ts
一般用ts做什么工作(类型检查)
怎么使用ts进行类型检查(使用interface定义数据格式)
代码题:给一个数组,数组中每一项都是一个对象,对象中有type和value两种属性,现在要求根据type进行数据分类
let myFliter = (arr) => { let res = arr.reduce((pre, cur) => { if (!pre[cur.type]) { pre[cur.type] = [] pre[cur.type].push(cur) } else { pre[cur.type].push(cur) } return pre }, {}) return res }
反问
#春招##同花顺##前端##面经#