2020年12月-上海-七牛云面试题

一面

  1. 你知道哪些HTTP协议的状态码
  2. 浏览器缓存机制强缓存协商缓存
  3. promise有几种状态
  4. promise有什么优缺点
  5. 为什么要使用 redux进行状态管理,你在
    哪些业务中使用了 redux。
  6. 不使用状态管理的话,还可以通过什么方
    式去实现组件的状态共享。
  7. Context 及use Context的使用。
  8. react中你用过哪些 hooks
  9. useEffect有哪些参数,如何使用
  10. useEffect去实现类组件的生命周期方法
  11. Hooks执行顺序问题(不要在条件语句里
    使用 hooks)
  12. webpack你用过哪些插件,介绍一下各
    个插件
  13. 将数组中的对象[{a:1},{b:2},…]合
    并成{a:1,b:2,……
  14. 实现函数 removeElement(ar, target)
    将数组中的 target元素全部移除,要使
    用原地算法.

二面

  1. 主要是业务面试,你在开发中遇到了哪些问题,你是怎么查找原因的,最后用了什么方式去解决的;
  2. 涉及了 webpack打包效率提升、打包结果优化等
  3. 对前端行业的一些看法,为啥做前端
  4. 编程题:给定数组a=[[2,6,-1],[1,5],[7,7,[2,3]]….],实现一个函数sum(arr)===32//2+6-1+1+5+7+7+2+3
  5. 编程题:已提供一个方法 function add(a,b, callback){},它接收三个参数,功能是对前两个参数进行求和,第三个参数是一个回调参数,可以从回调函数中拿到a+b的值,即add('3,"5′,result => console. log(result)})会输出8,实现一个sum()函数,调用示例: sum(‘1’, ‘2’, ‘3’,‘4’).then (result=>{console. log( result)}),sum函数接收任意个参数,sum函数体内要使用前面提到的add()来进行求和,sum函数最终要返回的是一个 Promise,在sum函数后使用.then()可以拿到计算结果。
以下是使用若依(RuoYi)框架、Vue.js和element-ui实现图片上传到七牛云的步骤: 1. 首先,确保你已经安装了若依(RuoYi)框架,并且已经配置好了七牛云的相关信息。 2. 在Vue组件中引入element-ui的el-upload组件,并设置相关属性和事件监听。 3. 在el-upload组件的before-upload事件中,编写上传文件到七牛云的逻辑。 4. 在上传文件的逻辑中,首先需要引入七牛云的JS SDK,并初始化相关配置。 5. 在上传文件的逻辑中,使用七牛云的API将文件上传到七牛云。 6. 在上传成功后,可以根据需要进行一些操作,例如更新页面上的附件列表等。 下面是一个示例代码,演示了如何使用若依、Vue.js和element-ui实现图片上传到七牛云的功能: ```vue <template> <div> <el-upload class="upload-demo" action="/api/upload" :before-upload="beforeUpload" :on-success="onSuccess" :on-error="onError" :file-list="fileList" :auto-upload="false" :limit="3" :on-exceed="handleExceed" :on-remove="handleRemove" > <el-button size="small" type="primary">点击上传</el-button> <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div> </el-upload> </div> </template> <script> export default { data() { return { fileList: [] }; }, methods: { beforeUpload(file) { const isJPG = file.type === 'image/jpeg' || file.type === 'image/png'; const isLt500K = file.size / 1024 < 500; if (!isJPG) { this.$message.error('只能上传jpg/png文件'); } if (!isLt500K) { this.$message.error('文件大小不能超过500kb'); } return isJPG && isLt500K; }, onSuccess(response, file, fileList) { // 上传成功后的操作,例如更新附件列表等 this.fileList = fileList; }, onError(error, file, fileList) { // 上传失败后的操作 this.$message.error('上传失败'); }, handleExceed(files, fileList) { this.$message.warning('只能上传3个文件'); }, handleRemove(file, fileList) { // 删除文件后的操作 this.fileList = fileList; } } }; </script> ``` 请注意,上述代码中的`/api/upload`是上传文件的接口地址,你需要根据实际情况进行修改。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值