每天分享几个面试题(四)

每天分享几个面试题(一)

每天分享几个面试题(二)

每天分享几个面试题(三)

每天分享几个面试题(五)

每天分享几个面试题(六)

每天分享几个面试题(七)

每天分享几个面试题(八)

每天分享几个面试题(九)

1. 简单的说一下Git的工作流

简单的说一下我在工作中的git工作流

  • master:主分支

  • develop:主开发分⽀。包含确定即将发布的代码

  • feature:新功能分⽀。⼀个新功能对应⼀个分⽀

  • release:发布分⽀。发布时⽤的分⽀,⼀般测试阶段发现的 bug 在这个分⽀进⾏修复

  • hotfix:热补丁分支。用于修改在线上版本中发现的严重紧急 bug

① 拿到项目之后, 所有的开发人员都会被拉到一个开发小组; 然后项目小组长对人员进行分配划分模块.

② 小组长把项目分支搭建好(master[项目上线分支]、release [测试分支]、develop[开发分支])

③ 克隆下来, 基于develop分支创建自己的开发模块分支

④ 所有功能开发完毕, 将所有的功能分支合并到develop分支里面, 测试没有问题最后将develop分支合并到master分支里面

⑤ 最后代码上线交给运维

2. 说一下在项目中, 发送ajax是怎么做到的; 你对axios封装过哪些东西

一. 发送ajax如何做到的?

首先我们可以划分为三个模块: 1. utils/request.js  2. api/*  3. xxx.vue.

① 在request.js中封装好axios, 并导出.

② api文件夹下细分多个对应的小模块, 封装发送请求的方法.

③ 在xxx.vue组件里面按需导入, 使用即可.

二. 对axios封装过那些东西?

① 首先创建axios的实例对象, 并命名为request; 设置baseURL和timeout.

② 创建请求拦截器(设置请求头, 判断token值是否还生效).

③ 创建响应拦截器(统一对错误状态进行处理, 对后端返回的数据进行统一的解构, token值失效后所做的处理).

④ transformRequest(表示允许在向服务器发送前,修改请求数据)、transformResponse(在传递给 then/catch 前,允许修改响应数据).

3. 谈谈你平时都用了那些方法对整个项目的性能进行优化

我通常使用的方法有: ① 路由加载 ② 图片懒加载 ③ CND加速 ④ 减少http请求次数 ⑤ 打包压缩上线代码 ⑥ 使用精灵图 ⑦ 动态渲染组件 ⑧ 减少重绘和重排 ⑨ 防抖 ⑩ 事件委托 

4. 说说Vue相关的性能优化的手段你都考虑过哪些?

① v-for循环的时候设置key值

② v-for和v-if不要一起使用

③ keep-alive

④ 路由懒加载, 图片懒加载和组件动态加载

⑤ 区分v-if和v-show的使用场景

⑥ computed和方法区分使用场景(优先使用computed)

⑦ UI框架的按需导入

5. 图片懒加载是怎么实现的?

先设置图片的data-set属性值为其图片路径,由于不是src,所以不会发送http请求。

图片要显示出来了的时候,再将 data-set 属性替换为 src 属性

就是我们先设置图片的data-set属性(当然也可以是其他任意的,只要不会发送http请求就行了,作用就是为了存取值)值为其图片路径,由于不是src,所以不会发送http请求。 然后我们计算出页面scrollTop的高度和浏览器的高度之和, 如果图片距离页面顶端的坐标Y(相对于整个页面,而不是浏览器窗口)小于前两者之和,就说明图片就要显示出来了(合适的时机,当然也可以是其他情况),这时候我们再将 data-set 属性替换为 src 属性即可。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值