24.10.3 美团-到家-前端 一面

最恐怖的一集,基本没有八股,疯狂拷打计算机基础,没有问一点我的项目,让我一度怀疑面试官不是前端方向的,对前端不太了解所以才问这些,太痛苦了

  1. 又没有让我自我介绍,已经害怕是 kpi 了,看我简历说我大学熟悉什么课程,我说数据结构,算法和计网,噩梦开始了

  2. 问我什么是二叉平衡树,了解都有什么,在什么场景会用到。

    一上来就是基本忘了的内容,我想到堆是一个特殊的二叉平衡树,然后赶紧讲了一下堆,但是其实自己也明白压根没讲到啥核心。他就直接问 B+树和红黑树有什么区别(听了我才想起这两个,一年前学的真的都要忘光了)不会...

  3. 什么是有向图,如何实现(不会...)

  4. 什么是邻接矩阵(我服了,数据结构中最不熟悉的就是图和奇奇怪怪的二叉树,比如二叉搜索/平衡树之类的,结果人家问了三个问题就刚好全都是我不会的)

  5. 什么是快排

  6. 快排时间复杂度是多少,nlogn 是如何算出来的(这个是真忘了咋算的)

  7. https 为什么安全

  8. tcp 的滑动窗口是干什么的?拥塞控制

  9. 如何确认滑动窗口的一一对应(忘记问题具体是什么意思了,没回答出来...)

  10. 操作系统中调用一个函数,栈和堆会发生什么?

    哥我前面回答我熟悉的课程都没说操作系统,你还问。我就说栈会多一个指针,指针指向的是堆中存放函数的地址,所以栈会多一个指针,堆会动态扩容,他就问还有吗?其余的真不知道了

  11. 编译原理,语法分析中终止符和非终止符是什么(不是哥们你连编译原理都问上了...凭借着两年前的记忆磕磕碰碰回答了一点,和面试官都尴尬的笑了...)

  12. git stash 用过吗

  13. git rebase 是干什么的

  14. react hooks 的缺点(说实话我对 react 的原理不太熟悉,所以回答的很一般)

  15. useEffect 使用多的话是不是会变得很混乱?我说有个依赖项数组,所以也应该可以避免吧...(面试官也没有深究,估计也看出来这方面我确实不太清楚)

  16. typescript 用过吗?开始给几道题做

  17. 实现一个泛型函数,接受一个数组并返回该数组的第一个元素(ts 我基本只会用最基础的,没自己使用过泛型,所以没做出来...)

  18. this 指向问题

    function Person() {}
    
    var friend = new Person();
    
    Person.prototype = {
      constructor: Person,
    
      name: "Nicholas",
    
      age: 29,
    
      job: "Software Engineer",
    
      sayName: function () {
        alert(this.name);
      },
    };
    
    friend.sayName();
    
  19. 事件循环输出

    setTimeout(() => console.log(1));
    
    new Promise((resolve) => {
      resolve();
    
      console.log(2);
    }).then(() => {
      setTimeout(() => console.log(3));
    
      console.log(4);
    
      Promise.resolve()
        .then(() => {
          console.log(5);
        })
        .then(() => {
          Promise.resolve().then(() => {
            console.log(6);
          });
        });
    });
    
    console.log(7);
    
  20. this 指向问题(我的回答有点错误)

    var length = 10;
    
    function fn() {
      return this.length + 1;
    }
    
    var obj1 = {
      length: 5,
    
      test1: function () {
        return fn();
      },
    };
    
    const a = obj1.test1.call();
    console.log("a:" + a);
    
    const b = obj1.test1();
    console.log("b:" + b);
    
    obj1.test2 = fn;
    const c = obj1.test2.call();
    console.log("c:" + c);
    
    const d = obj1.test2();
    console.log("d:" + d);
    
  21. 输入字符串,字符串只有数字和字母,字母和数字间隔排开,一个字母一个数字,但是不破坏字母的顺序和数字的顺序。
    
    注意:字母和数字可能长度不等,多出部分追加到结果的最后。
    
    “abc12d3456ef789gh” -> "a1b2c3d4e5f6g7h89"
    

    简单模拟题,一开始做的时候感觉就是合并数组,把字符串分为数字数组和字符数组合并一下就 🆗,会需要遍历一次数组,再合并一下数组的操作。他就问能不能一次遍历解决(其实时间复杂度都是 n)

  22. 反问,此时过了 45 分钟,不知道是不是对我不太满意就想着赶紧结束了

    业务和技术栈(原来面试官是 ios 出身,但是现在安卓 ios 和 rn 都会)

    为什么疯狂拷打我的计算机基础

    探讨了下算法和计算机基础能力的作用

    我有什么需要改进的吗?又是经典的我觉得你还可以,已经很害怕这种回答了

整体看下来,其实就 14 题算是个前端这方面的问题,而前面的计网/操作系统/编译原理/数据结构与算法不一样了,感觉就是个 408 盛宴,哥我没考过研所以真记不太清楚这些概念,并且感觉这些问题你放在任意一个职位方向都可以用啊,拿去给后端/测试/客户端开发感觉都可以啊...

上周我才刚说,感觉八股很少问 react/vue 框架的,结果这次只问了一个八股问题,还是 react 的,还刚好是我不太会的...给哥们干沉默了,html/css/js 那些,项目那些咋一点不问啊

顺便夸夸美团的预约面试,它会给定你时间自己选择个合适的时间,非常不错。美团,我要做你的团孝子,求求你了让我进二面吧

alt

#面经##美团求职进展汇总#
全部评论
国庆放假面试嘛😧
点赞 回复 分享
发布于 今天 19:19 广东
国庆假期还有面试吗哥
点赞 回复 分享
发布于 今天 19:23 江西

相关推荐

2 2 评论
分享
牛客网
牛客企业服务