# react_69 **Repository Path**: w-boyy/react_69 ## Basic Information - **Project Name**: react_69 - **Description**: React 69 期上课笔记 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2024-04-30 - **Last Updated**: 2024-04-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README Vue01: https://www.processon.com/view/link/61ee7ee80e3e7439ae905fd3 React01: https://www.processon.com/view/link/6203968163768960357bf839 React02: https://www.processon.com/view/link/6204e6ade0b34d01f89ad540 React03: https://www.processon.com/view/link/6207bf7f0e3e7407d1cd2be4 React04: https://www.processon.com/view/link/6208decb0e3e7407d1cdf811 React05: https://www.processon.com/view/link/620c435e5653bb4ec5bae618 React06: https://www.processon.com/view/link/620cd1a16376897c8c76b044 React07: https://www.processon.com/view/link/620e1fdd7d9c0807ec94b181 React08: https://www.processon.com/view/link/6210c604e0b34d5aaa96e13c ## 1. 说一下对 Promise 的理解? ### 是什么 ### 怎么用 ### 解决了什么问题 ### 有没有替代方案 ## 2. 说一下你对 REM 的理解? ## 3. 说一下对 Vue3 的了解? ## 4. setup 只能返回一个对象吗? ## 5. 说一下你对 Composition API 的理解? ## 6. 为什么 Vue3 把响应式的 API 从 Object.defineProperty 换成 Proxy? ## 7. 项目基本情况 ```text 1. 需求评估会议 => 前端、后端、测试、运维、设计师 2. 老大领到任务 => 拆分需求到每个人 3. 前端 => 根据设计师提供的设计稿 => 切图 4. 前端 => 和后端进行对接接口 5. 测试(自测、提测) => 老大负责打包上线的工作 ``` ## 8. 介绍一下最近的一个项目? 项目背景、项目模块/功能、技术栈、我负责的模块,难点和亮点(不一定写到简历里面,但是心里要有准备)! ## 9. Git 工作流 我们项目经理会开三个分支 master => 主分支,打包上线 release => 测试分支 develop => 开发分支 一般开发的时候,我们会把 develop 拉过来,基于 develop 开一个自己的功能分支,例如我要开发【用户界面】这个功能 首先保证处于 develop,git checkout -b feature/user,然后在自己的功能分支上面写代码,写完了之后,git add . / git commit -m 信息 切换到 develop,再此分支上合并 feature/user,git merge feature/user,最后 git push origin develop **一般公司里面托管代码会用开源的 Gitlab 这个平台自己进行搭建** ## 10. 接口是怎么查看的? - 后端提供的 Markdown 文件(不推荐) - YAPI(通过线上地址,后端提供的,可以实时查看) - 上面两种方式都不好,例如不方便测试,还要通过代码或 PostMan,公司里面用的最多的是 SwaggerUI(后端使用的部署接口的一个框架) ## 11. 重点 1、Vue 基础,每天案例不看文档也能敲出来 2、第一个 Vue 后台项目(大事件),能参考文档敲出来,理解每一步的业务逻辑 3、人资常见的解决方案要清楚(问的时候能清晰的说出来,做的时候能参考文档做出来) 4、React 基础前 8 天是重点(即便不做 React:面试 + 万一公司用了 React 你也能快速上手) 5、面试题(100 + JS(95) / HTML 和 CSS(5)) ## 12. 请求的封装 request.js => 请求函数、api/user.js => 接口请求、调用 api/user.js => 调用具体的接口请求 封装了哪些东西:创建请求实例(axios.create({}))、baseURL、timeout、请求拦截器(统一携带 token、token 过期的主动处理、统一的请求进度展示)、响应拦截器(token 过期的处理、统一错误处理)、transformResponse... ## 13. websocket(服务端主动向前端推送数据) ## 14. 权限 路由级别的权限: 用户登录成功后,后端返回当前用户的标识,前端拿到标识之后,根据此标识筛选出有权限的路由,做了 2 件事情: 1. 通过 addRoutes(注意新版本废弃了,换成了 addRoute) 把有权限的路由添加到路由实例,结果:就可以通过地址栏进行访问啦。 2. 存储到 Vuex,结果/目的:给侧边栏去使用。 但是通过 addRoutes 后续添加的路由,不能直接通过 router 实例获取到了,所以如果侧边栏需要用到动态路由数据去渲染的话那该怎么做呢?解决方式:上面的 2。 功能级别的权限: 封装了一个全局的方法/指令/过滤器,这个方法只做 1 件事情,接收一个参数,看一看这个参数在不在后端返回的功能列表里面,在就返回 true,不在就返回 false,哪个地方用,哪个地方调用这个方法,根据这个方法的返回结果对功能级别的按钮做显示/隐藏或禁用/启用的操作就好啦。 ```js ``` ## 15. 和 Vue 相关的性能优化的手段你考虑过哪些 v-if 和 v-show 区分使用场景。 v-for 加 key。 Vue2 中,v-for 和 v-if 不要放到一行,因为 v-for 的优先级高?那为什么优先级高就不能放到一起了呀? ```js
``` computed 和 watch 区分使用场景,computed 和 方法优先使用 computed。 路由懒加载、组件异步加载、动态组件(