前端面试题(15)|求职季面试题分享|答案

242 阅读5分钟

1、系统管理权限是怎么做的?(这个可结合自己的实际情况阐述)

答:(1)角色与权限定义:首先需要在系统中定义不同的角色和对应的权限。例如,管理员、编辑、普通用户等,每个角色都有不同的权限。

(2)权限存储:权限信息通常存储在后端数据库中,与用户账号关联。前端需要从后端获取这些信息。

(3)动态渲染界面:根据用户的角色和权限动态渲染前端界面。例如,如果用户没有某个权限,那么相应的菜单项或按钮就不显示。

(4)权限验证:在前端进行权限验证,确保用户只能访问他们被授权的资源。这可以通过拦截路由或在组件加载时检查权限来实现。

(5)权限更新:提供界面让用户或管理员可以更新权限设置,这些更改需要同步到后端数据库。

(6)安全措施:确保前端的权限控制不会影响系统的安全性。例如,即使前端界面上没有显示某个功能,后端API也应该进行权限验证。

(7)使用第三方库:可以使用一些成熟的权限管理库来简化开发,如Vue.js中的vue-acl等。

(8)响应式设计:权限管理界面应该适应不同的设备和屏幕尺寸,确保在所有平台上都能正常工作。

(9)测试:对权限管理系统进行彻底的测试,确保没有权限泄露或未授权访问的问题。

(10)用户反馈:根据用户反馈不断优化权限管理的用户体验。

2、小程序分包做过吗?怎么做分包呢?

答:(1)规划分包:根据小程序的功能模块,规划哪些页面或组件应该放在主包,哪些可以放在分包。

(2)配置分包:在小程序的根目录下的app.json文件中配置分包信息,包括分包的路径、名称、以及分包的依赖关系。

(3)目录结构调整:将需要分包的页面和资源文件移动到对应的分包目录下。

(4)引用分包:在主包中,使用require或import来引用分包中的页面或组件。

(5)懒加载实现:对于分包中的页面,可以实现按需加载,即在用户访问时才加载对应的分包。

3、移动端适配怎么做?

答:(1)使用响应式布局

(2)流式布局(Fluid Layout)

(3)弹性盒子(Flexbox)

(4)网格布局(Grid Layout)

(5)视口单位

(6)媒体查询

4、Scoped原理了解过吗?

答:(1)简介:Scoped 是 CSS 作用域的概念,它通常与 CSS 预处理器(如 Sass)或 CSS-in-JS 库(如 styled-components)相关。

(2)原理:Scoped 的原理确保了样式的作用域限定在特定的组件或模块内,避免样式冲突和全局污染。

5、有做过主题切换吗?

答:(1)定义主题样式:首先定义不同主题的样式,例如颜色、字体、边框等,并将它们组织成不同的CSS类或样式对象。

(2)存储主题信息:将当前主题的信息存储在本地存储(localStorage)、sessionStorage或全局状态管理库(如 Redux、Vuex)中。

(3)动态应用样式:根据存储的主题信息动态地应用相应的CSS类或样式对象。这可以通过修改DOM元素的类名或使用内联样式来实现。

(4)CSS变量:使用CSS自定义属性(CSS variables)来定义主题相关的样式属性,然后通过JavaScript动态更改这些变量的值。

(5)预处理器或构建工具:使用Sass、Less等CSS预处理器或Webpack等构建工具来管理不同主题的样式文件。

(6)组件库支持:如果使用UI组件库(如Material-UI、Ant Design),可以利用库提供的主题切换功能。

(7)响应用户操作:提供用户界面元素(如按钮或下拉菜单)来允许用户选择或切换主题。

6、ES6常用语法有哪些?

答:箭头函数、模板字符串、解构赋值 、默认参数、展开运算符、剩余参数、类和模块、Promise等。

7、Promise的状态能说说吗?

答:pending(等待中)、fulfilled(成功状态)、rejected(拒绝状态)。

8、TS有用过吗?

答:类型注释、泛型、接口、类型推断等。

9、装饰器是什么?

答:(1)简介:装饰器(Decorator)是 JavaScript(特别是 TypeScript)中的一个特性,它允许开发者在不修改原有 、类或对象的基础上,通过添加额外的逻辑来增强其功能。

(2)实现:装饰器使用 @ 符号加上装饰器函数的调用来实现。

10、深拷贝和浅拷贝介绍介绍?

答:(1)深拷贝:递归函数、第三方库、JSON.parse(JSON.stringify())

(2)浅拷贝:使用对象的 Object.assign() 方法、使用展开运算符、使用数组的 slice() 方法复制数组

11、如何判断一个数据是否是数组?

答:Array.isArray()、xxx instanceof Array、Object.prototype.toString.call()

12、说一说你的个人规划?(灵活回答)

13、你对加班怎么看?(灵活回答)

更多详情:爱米的前端小笔记(csdnxitujuejinzhiHuBaidu小红shu)同步更新,等你来看!都是利用下班时间整理的,整理不易,大家多多👍💛➕🤔哦!你们的支持才是我不断更新的动力!