最恐怖的一集,基本没有八股,疯狂拷打计算机基础,没有问一点我的项目,让我一度怀疑面试官不是前端方向的,对前端不太了解所以才问这些,太痛苦了
又没有让我自我介绍,已经害怕是 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 那些,项目那些咋一点不问啊
顺便夸夸美团的预约面试,它会给定你时间自己选择个合适的时间,非常不错。美团,我要做你的团孝子,求求你了让我进二面吧
#面经##美团求职进展汇总#