前端面试题(13)答案版

姓名:                 面试时间:               面试岗位:

1. 介绍介绍自己的项目,权限怎么做?如何添加动态路由?

   - 答:对于项目介绍,我会重点介绍自己参与的主要功能模块,以及在项目中担任的角色和责任。

     在权限管理方面,通常会采用基于角色的访问控制(RBAC)机制。根据不同的用户角色,赋予相应的权限,控制用户对系统功能和数据的访问。可以在前端使用动态路由的方式实现权限管理。

 

2. 动态路由持久化做过吗?Vuex的持久化做过吗?按钮级别的权限做过吗?

   - 答:动态路由的持久化可以通过将路由信息存储在Vuex或者localStorage/sessionStorage中实现。每次进入系统时,从持久化存储中读取路由信息,动态生成菜单。

     - Vuex的持久化可以使用插件如vuex-persistedstate。将Vuex的state树持久化存储在localStorage或sessionStorage中,实现应用状态的保存和恢复。

     - 按钮级别的权限控制可以通过指令或组件的形式实现。比如自定义一个v-permission指令,根据用户的权限动态控制按钮的显示与隐藏。

 

3. Echarts在哪个生命周期里初始化?

   - 答: Echarts通常会在mounted生命周期钩子中进行初始化,因为这时DOM已经渲染完毕,可以获取容器元素并进行图表渲染。

 

4. 封装过Axios吗?

   - 答: 可以对Axios进行封装,统一请求的参数、headers、错误处理等。封装后可以在业务代码中直接使用封装好的Axios实例发起请求。

 

5. 你如何解决跨域问题?

   - 答: 常见的跨域解决方案包括:

     - 服务端代理:在服务端设置代理,前端发请求时指向代理服务器,由代理服务器转发请求并返回数据。

     - CORS:在服务端设置允许跨域的响应头,前端直接发送跨域请求。

     - Jsonp:利用script标签的跨域特性发送请求,后端返回可执行的JavaScript代码。

 

6. Jsonp了解过吗?

   - 答: Jsonp是一种简单的跨域解决方案,利用script标签的跨域特性发送请求,后端返回可执行的JavaScript代码。前端根据返回的数据进行处理。

 

7. 了解过哪些设计模式?

   - 答: 常见的设计模式包括单例模式、工厂模式、观察者模式、装饰器模式等。这些设计模式可以帮助我们编写更加可维护、扩展性强的代码。

 

8. 说一说为什么要跳槽?

   - 答: 通常会考虑当前工作的发展空间、薪资待遇、工作强度、技术栈发展等因素。如果觉得当前工作已经无法满足自己的需求,寻找更好的发展机会是合理的选择。

 

9. 你在工作重遇到过哪些困难?你是如何解决的呢?

   - 答: 在工作中可能会遇到各种技术难题,如性能优化、跨浏览器兼容性、复杂业务需求等。关键是保持学习的态度,主动寻求帮助,利用网络资源和同事经验,耐心地分析和解决问题。

上一篇:昇思25天学习打卡营第15天|DCGAN生成漫画头像


下一篇:【leetcode周赛记录——405】-#1.leetcode100339_找出加密后的字符串