base北京,数据科学部。    9.13 下午约面,一面1h左右,体验还不错,中途在面试的过程中因为我那边“不可抗力”被打断了一次,心态有点小崩,挂断电话后好在面试官态度挺好,又联系上了继续面试。  项目、JS基础、Vue、计算机网络问的比较多,还有部分webpack,大部分题目都记得,少部分忘了估计比较简单没留意  1. 自我介绍  2. 介绍一下做的项目?项目中比较有成就感的点是什么?  3. 你们是团队协作吗?为什么独立开发的项目要用commit-lint、husky这些规范?  4. 你们的项目是基于git托管吗?git常用命令说一下?git如何回滚?  5. 说一下对闭包的理解?  6. 说输出结果?    for (var i = 0; i < 10; i++) {     setTimeout(() => {       console.log(i)     }, 1000)   }  追问:如何打印0-9?  7. 说一下浏览器事件循环?  8. 一道异步输出的题      async function a1() {     console.log('a1 start')  //2     await a2()     console.log('a1 end') //7   }   async function a2() {     console.log('a2') //3   }      console.log('script start') //1      setTimeout(() => {     console.log('setTimeout') //10   }, 0)      Promise.resolve().then(() => {     console.log('promise1') //6   })      a1()      let promise2 = new Promise((resolve) => {     resolve('promise2.then')     console.log('promise2') //4   })      promise2.then((res) => {     console.log(res) //8     Promise.resolve().then(() => {       console.log('promise3') //9     })   })   console.log('script end') //5  9. ES6有哪些新增的数组方法?map和forEach有什么区别?  10. 了解reduce吗?手写:用reduce实现数组拍平n层?   一时没有思路拍平n层,就用递归+reduce写了个完全拍平,并回答了面试官项目中的数组拍平的业务场景      function flattern(arr) {      return arr.reduce((prev, next) => {        return prev.concat(Array.isArray(next) ? flattern(next) : next)      }, [])    }  var arr = [[1, 2, 3], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [1, 2, 13, [14]]]], 10]  console.log(flattern(arr))      11. 算法:合并递增数组 function concatOrderedArray(arr1, arr2) {      let i = 0      let j = 0      let newArr = []      while (i < arr1.length && j < arr2.length) {        if (arr1[i] < arr2[j]) {          newArr.push(arr1[i])          i++        } else {          newArr.push(arr2[j])          j++        }      }      //arr2已经遍历完      while (i < arr1.length) {        newArr.push(arr1[i])        i++      }      //arr1已经遍历完      while (j < arr2.length) {        newArr.push(arr2[j])        j++      }      return newArr    }        const arr1 = [1, 3, 5, 7, 9]    const arr2 = [2, 4, 6, 8]    console.log(concatOrderedArray(arr1, arr2))  12. new一个对象的过程中发生了什么?追问:如果构造函数中return了呢?  13. HTTPS了解吗?和HTTP有什么区别?HTTPS的握手过程说一下?  14. get和post有什么区别?项目中用过除get和post之外的方法吗?    回答了项目中没有使用restful规范,但是知道其他方法   15. 项目上线了吗?跨域怎么解决的? 开发环境怎么解决的?上线后怎么解决跨域?  16. Vue中的组件通讯机制知道哪些?  17. 项目中的权限管理怎么做的?控制到按钮级别的权限怎么做?  18. 说一下对Vue响应式的理解?Vue2对比Vue3  19. diff算法的细节?双指针比较子节点具体是怎么比较的呢? 为什么要加key? 问的很细。。。  20. Vue的双向数据绑定怎么实现的?  21. watch和computed源码看过吗? 源码不会。。。  22. 写过webpack的配置吗?常用配置哪些?  23. loader的作用?项目中用过loader吗? 回答了项目中用到的svg-loader 24. 补充:ES6新增的API?  反问:问了学习建议?问了实习生的业务、技术栈?问了在滴滴的工作日常?   听面试官语气好像是可以过的意思,他说了要是我来就负责PC端的开发,任务不是很多balabala。。。好像部门不是很卷,弹性制度。       9.14 通知二面       ------------------------------分割线------------------------------------------       9.15 二面       二面运气不是很好,上来把面试官姓名叫错两遍(因为HR发邮件里面信息有误,冤大头了),面试官态度也不是很好。。。。。       1. 自我介绍    2. 问项目    2. 如何封装搜索组件?可能有什么问题?防抖节流区别?手写防抖?    3. 手撕两道算法        算法没刷够,半天没A出来,G了。。。。。       总结:战绩最差的一次面试,虽说是日常实习,但是也让我明白了算法的重要性,回头恶补算法 
点赞 8
评论 4
全部评论

相关推荐

在做核酸的杰尼龟很想去广西嗦粉:bro这个简历看着不错啊,这都找不到吗?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务