一面:首先就是自我介绍了
口头回答题
1.CSS选择器的优先级
2.说一说进程和线程
3.判断js的基本类型的方法
4.数组和链表的区别
5.问了一点项目相关的,我写了axios,面试官就问了axios相关的细节
6.等等忘了
下面是手写题
1.鼠标点击获取ul中li中的文字
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<ul>
<li>123</li>
<li>123</li>
<li>123</li>
<li>123</li>
<li>123</li>
</ul>
</body>
<script>
let liArray = document.querySelectorAll("li");
liArray.forEach((element) => {
element.addEventListener("click", function () {
console.log(this.innerHTML);
});
console.log(element);
});
</script>
</html>
2.手写一个new函数:
function New(fn, ...args) {
let obj = Object.create(fn.prototype);
let res = fn.apply(obj, args);
return res instanceof Object ? res : obj;
}
3.手写一个定时器:每隔一段时间执行一个函数 执行一定次数
function repeat(func, times, wait) {
return function (content) {
var count = 0;
var interval = setInterval(function () {
count += 1;
func(content);
if (count === times) {
clearInterval(interval);
}
}, wait);
};
4.反转一个链表:
var reverseList = function (head) {
let p = null;
let newHead = null;
while(head){
p = head.next;
head.next = newHead;
newHead = head;
head = p;
}
return newHead;
}
最后反问环节,跟面试官谈了谈node.js的,聊的还不错哈哈哈!
二面:
一上来就是自我介绍了
二面面试官说他有事,会就说会,不会就说不会,他赶时间。其它什么都没问。
直接上题:
1.看代码,说输出
具体涉及就是JS的原型链和函数的this指针问题了
2.场景题:有10万个电话号码,问怎么做到输入一个数字,提示下一个合法的数字。
我。。。。。。没想出来;后来百度也找不到
3.扑克牌问题:有5张牌,判断是不是同花顺
4.三叉树
竟然考到了三叉树,平时练习的都是二叉树的,哭了
毫不意外,挂了