前端小厂
2024-08-18
-
自我介绍
-
项目中扮演角色
-
vue 组件间通信
答:最常用: props、emit 父子
vuex 全局的数据共享
project、inject 组件间 父子、祖孙
attrs 祖先和孙子之间
children
$refs
EventBus
-
说一下 vuex
答:vuex 是一个数据管理器,vue 中的数据可以通过 vuex 的管理实现数据共享
在 state 定义数据
mutations 定义修改数据的方法
actions 执行异步操作
getter 获取数据
setter 修改数据
- git 冲突处理工具
答: 1. 命令行工具 git status、git diff、git mergetool 2. 编译器vscode
- git 管理模式
答: 集中式工作流(Centralized Workflow)
每个开发者从中央仓库 clone 仓库到本地。
开发者在本地工作并提交更改。
最终将更改 push 到中央仓库的主分支。
功能分支工作流(Feature Branch Workflow)
开发者从主分支(通常是 main 或 master)创建一个新的功能分支(feature-branch)。
在功能分支上进行开发并提交代码。
功能完成后,提交合并请求(Pull Request / Merge Request),通过代码审查后合并到主分支。
Gitflow 工作流
功能开发在 feature 分支上进行。
完成后,feature 分支合并到 develop。
发布前从 develop 创建 release 分支。
release 分支测试完成后合并到 master,并打标签。
任何紧急修复在 hotfix 分支上进行,完成后合并回 master 和 develop。
Forking 工作流
每个开发者从中央仓库 fork 出自己独立的仓库。
开发者在自己的仓库中创建分支进行开发。
功能完成后,开发者提交合并请求(Pull Request)到中央仓库进行代码审查。
7. git 未提交修改 bug (STUCK)
-
查看未提交的修改
首先,使用 git status 检查有哪些文件包含未提交的修改。该命令会列出: 已暂存的文件。 未暂存但已修改的文件。 新增的未追踪文件。 -
暂存未提交的修改
如果你想保留未提交的修改,可以将它们暂存起来,避免丢失。 使用 git add <file> 暂存特定文件。 使用 git add . 暂存所有已修改的文件。 暂存完之后,你可以执行 git commit 进行提交。 -
使用 git stash 暂时保存修改
如果你不想立即提交修改,但希望清理工作区,将所有未提交的更改暂时存储起来可以使用 git stash 这会将所有未提交的更改保存到堆栈中,并恢复工作目录为干净状态。 之后你可以切换分支、拉取代码等操作。 要恢复这些更改,可以使用: git stash pop -
放弃未提交的修改
如果你确定不需要保留这些修改,可以通过以下命令丢弃本地更改: 放弃工作区中的所有未暂存修改:git checkout -- <file> 或者放弃所有文件的修改:git checkout -- . 删除暂存区中的修改: 如果你已经将更改暂存但还没有提交,可以使用 git reset 撤销暂存:git reset <file> 或撤销所有暂存的文件:git reset -
HTTP 304
答: 304 表示资源自上次被请求后就没有修改过,客户端可以使用缓存的版本
301 代表资源永远的重定向到了新的地址
302 代表资源临时被重定向到了新的地址
浏览器的缓存机制?
- es6 的事件循环
答: js 的任务分为同步任务和异步任务,同步任务会直接进去主执行栈,异步任务会进入事件队列,等主执行栈的的所有同步任务执行完成,
也就是主执行栈空的时候,去查看事件队列中的任务,推入主任务栈,这个过程不断地循环执行,就是 es6 的事件循环。
事件循环流程图
同步代码执行:首先执行同步代码,所有同步任务都会进入调用栈。
异步任务处理:当遇到异步任务时,异步任务会被发送到 Web APIs(或 Node.js APIs),并在那里执行。执行完成后,它们的回调被放入任务队列。
微任务队列优先:调用栈为空时,事件循环首先检查并执行微任务队列中的任务。
宏任务队列执行:在微任务执行完后,事件循环会开始执行宏任务队列中的任务。
- CSS 弹性布局 flex
答: 常用:flex-direction、justify-content、align-items
-
手机端调试工具
-
产品与前端的选择与发展