24.10.3 美团-到家-前端 一面
最恐怖的一集,基本没有八股,疯狂拷打计算机基础,没有问一点我的项目,让我一度怀疑面试官不是前端方向的,对前端不太了解所以才问这些,太痛苦了
-
又没有让我自我介绍,已经害怕是 kpi 了,看我简历说我大学熟悉什么课程,我说数据结构,算法和计网,噩梦开始了
-
问我什么是二叉平衡树,了解都有什么,在什么场景会用到。
一上来就是基本忘了的内容,我想到堆是一个特殊的二叉平衡树,然后赶紧讲了一下堆,但是其实自己也明白压根没讲到啥核心。他就直接问 B+树和红黑树有什么区别(听了我才想起这两个,一年前学的真的都要忘光了)不会...
-
什么是有向图,如何实现(不会...)
-
什么是邻接矩阵(我服了,数据结构中最不熟悉的就是图和奇奇怪怪的二叉树,比如二叉搜索/平衡树之类的,结果人家问了三个问题就刚好全都是我不会的)
-
什么是快排
-
快排时间复杂度是多少,nlogn 是如何算出来的(这个是真忘了咋算的)
-
https 为什么安全
-
tcp 的滑动窗口是干什么的?拥塞控制
-
如何确认滑动窗口的一一对应(忘记问题具体是什么意思了,没回答出来...)
-
操作系统中调用一个函数,栈和堆会发生什么?
哥我前面回答我熟悉的课程都没说操作系统,你还问。我就说栈会多一个指针,指针指向的是堆中存放函数的地址,所以栈会多一个指针,堆会动态扩容,他就问还有吗?其余的真不知道了
-
编译原理,语法分析中终止符和非终止符是什么(不是哥们你连编译原理都问上了...凭借着两年前的记忆磕磕碰碰回答了一点,和面试官都尴尬的笑了...)
-
git stash 用过吗
-
git rebase 是干什么的
-
react hooks 的缺点(说实话我对 react 的原理不太熟悉,所以回答的很一般)
-
useEffect 使用多的话是不是会变得很混乱?我说有个依赖项数组,所以也应该可以避免吧...(面试官也没有深究,估计也看出来这方面我确实不太清楚)
-
typescript 用过吗?开始给几道题做
-
实现一个泛型函数,接受一个数组并返回该数组的第一个元素(ts 我基本只会用最基础的,没自己使用过泛型,所以没做出来...)
-
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();
-
事件循环输出
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);
-
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);
-
输入字符串,字符串只有数字和字母,字母和数字间隔排开,一个字母一个数字,但是不破坏字母的顺序和数字的顺序。 注意:字母和数字可能长度不等,多出部分追加到结果的最后。 “abc12d3456ef789gh” -> "a1b2c3d4e5f6g7h89"
简单模拟题,一开始做的时候感觉就是合并数组,把字符串分为数字数组和字符数组合并一下就 🆗,会需要遍历一次数组,再合并一下数组的操作。他就问能不能一次遍历解决(其实时间复杂度都是 n)
-
反问,此时过了 45 分钟,不知道是不是对我不太满意就想着赶紧结束了
业务和技术栈(原来面试官是 ios 出身,但是现在安卓 ios 和 rn 都会)
为什么疯狂拷打我的计算机基础
探讨了下算法和计算机基础能力的作用
我有什么需要改进的吗?又是经典的我觉得你还可以,已经很害怕这种回答了
整体看下来,其实就 14 题算是个前端这方面的问题,而前面的计网/操作系统/编译原理/数据结构与算法不一样了,感觉就是个 408 盛宴,哥我没考过研所以真记不太清楚这些概念,并且感觉这些问题你放在任意一个职位方向都可以用啊,拿去给后端/测试/客户端开发感觉都可以啊...
上周我才刚说,感觉八股很少问 react/vue 框架的,结果这次只问了一个八股问题,还是 react 的,还刚好是我不太会的...给哥们干沉默了,html/css/js 那些,项目那些咋一点不问啊
顺便夸夸美团的预约面试,它会给定你时间自己选择个合适的时间,非常不错。美团,我要做你的团孝子,求求你了让我进二面吧
#面经##美团求职进展汇总#