非技术问题
基础问题 25%
算法问题
-
项目中树的使用场景以及了解
-
单向链表求倒数第 n 项,一遍找到
-
实现一个合并多个有序数组的函数
-
实现 一个 高阶函数 cache ,能够缓存参数一样的结果,已经计算过一样的不要重复计算
-
实现一个 LazyGuy,支持
LazyGuy('jack').eat('apple').sleep(10).eat('cake')函数 -
爬楼梯,一次 1 层或者 2 层一共有多少种解法怎么解题
-
筛选出哪些值剩下的
-
合并二维有序数组成一维有序数组,归并排序的思路
-
1.深拷贝
-
2.树的遍历
-
如何去除 url 中的#号
-
介绍排序算法和快排原理
-
堆和栈的区别
-
两个对象如何比较
-
如何判断链表是否有环
-
介绍二叉搜索树的特点
-
介绍冒泡排序,选择排序,冒泡排序如何优化
-
介绍二叉搜索树的特点
-
介绍快速排序
-
sum(2, 3)实现 sum(2)(3)的效果
-
算法:前 K 个最大的元素
-
写一个 mySetInterVal(fn, a, b),每次间隔 a,a+b,a+2b 的时间,然后写一个 myClear,停止上面的 mySetInterVal
-
栈和堆的区别
-
栈和堆具体怎么存储
-
深拷贝和浅拷贝
-
项目中如何应用数据结构
-
介绍冒泡排序,选择排序,冒泡排序如何优化
-
loadsh 深拷贝实现原理
function mySetInterVal(fn, a, b) {
this.a = a;
this.b = b;
this.time = 0;
this.handle = -1;
this.start = () => {
this.handle = setTimeout(() => {
fn();
this.time++;
this.start();
console.log(this.a + this.time * this.b);
}, this.a + this.time * this.b);
};
this.stop = () => {
clearTimeout(this.handle);
this.time = 0;
};
}
const timer = mySetInterVal(
() => {
console.log("123");
},
1000,
1000
);
a.start();
a.stop();