阿里云-日志大数据团队-前端暑期实习-提前批一面凉经

一面 2022/2/23 45min:凉

  • 介绍项目工作

  • 项目中的一个难点/记忆深刻的点

  • 有做了哪些优化:防抖、节流

  • 项目是多页应用还是单页应用

  • 为什么用vue

  • vue父子组件生命周期的过程

  • vue-router的原理?

  • 路由配置用什么模式?默认哈希

  • vue的数据响应原理?数据劫持+发布订阅

  • vue3是怎么实现数据响应?讲了vue2.x的不足,vue3用proxy

  • vue.nextTick()原理 ?讲得不好,不熟练

  • 了不了解react?没用了,讲了函数式编程和composition api

  • 有没有写过自定义指令?Vue.directive

  • 打包用webpack吗?用了vue-cli的内置webpack

  • 有没有自己配置过webpack的配置?添加了sass-loader

  • 讲一下loader和plugin

  • vue中怎么确定当前的环境变量 ?不懂,面试官说和plugin有关

  • 有没有考虑项目上线后用户的使用情况怎么采集 ?没有。。后面面试官说他们部门就有做这方面的东西

  • 你说前端两个人,怎么对一个需求进行分工之类

  • 前端页面是怎么设计的?没设计。。。硬上

  • 如果想给你的项目实现一个换肤功能 ,怎么实现?

  • 那怎么切换css呢?

    • 晕了。。面试时不太懂意思。下来查了一下原来是如何对css文件进行切换

  • 项目的前后端登录鉴权怎么实现

  • 每次发请求都要从localStorage取出来在请求,为什么不放到cookie

    • 讲了过期时间的问题,面试官说cookie也可以设置过期时间啊

    • 又讲了前端cookie安全的东西,说了下cors(说错了应该是csrf的。。。)凉凉

  • 讲一下浏览器的缓存。强缓存和协商缓存

  • 项目的资源走cdn嘛?没有。。

  • 项目的资源有没有考虑缓存?没有。。

  • JS的事件处理机制?事件捕获和事件冒泡

  • 事件委托的原理?事件冒泡

  • 上下两栏如何自适应

    • flex,忘了说要设置 flex-direction: column。面试官说不用flex怎么实现

    • position

  • 有没有做过移动端的自适应?

----然后网就卡了,一直听不到,面试官直接打电话过来说做题吧

  • 代码题:

    • [{a:1, b:2}, {a:2, b:3}, {a:1, b:1}, {a:3, b:1}] 找出a最小,然后再a最小的条件下b最大的对象

      • 写了个sort,面试官说不太行

      • 写了个sort加循环,面试官说能不能一次循环搞定

      • 讲了思路,面试官说ok了

    • 防抖函数

      function debounce(fn, time) {
          let timeout = null;
          // 闭包
          return function() {
      	    clearTimeout(timeout);
      	    timeout = setTimeout(() => {
      		    fn.apply(this, arguments);
      	    }, time);
          }
      }

      面试关说有点问题,这样第一次调用的话还是要等待 time,让改成第一次的时候直接执行,后面在setTimeout。加了个判断,面试官说ok了

      function debounce(fn, time) {
          let timeout = null;
          let flag = true;
          // 闭包
          return function() {
              if (flag) {
      		    fn.apply(this, arguments);
                  flag = false;
              } else {
                  clearTimeout(timeout);
                  timeout = setTimeout(() => {
                      fn.apply(this, arguments);
                  }, time);
              }
          }
      }
  • 反问

    • 部门业务

    • 技术栈是不是react较多

    • 面试评价和学前端的建议

      • 面试评价得下去综合后再能给

      • 在校生注重基础

#阿里巴巴##面经##校招##阿里云#
全部评论
代码是这么写的吗 [{a: 1, b:2}, {a:2, b:3}, {a: 1, b: 1}, {a: 3, b: 1}].sort((a, b) => { if (a.a !== b.a) return a.a - b.a; else return b.b - a.b })[0]
点赞 回复 分享
发布于 2022-03-09 19:53

相关推荐

有趣的牛油果开挂了:最近这个阶段收到些杂七杂八的短信是真的烦
点赞 评论 收藏
分享
评论
1
8
分享
牛客网
牛客企业服务