上星期字节的笔试不知道为啥过了…
明明就4题算法题,我做了2题都过了呃
然后处于好慌好慌的状态,今天面试官长得好像谷阿莫。
怎么说呢,第一次视频面试好紧张,代码区还会实时上传代码,搞得我好紧张,有些题吧,明明会的,有些点明明很熟悉的,就是忘了,最后我都不好意思了,想着赶紧问完赶紧结束吧,结束之后才想起错哪了。还是水平有限吧,不自信就慌。
不过这次面试还是十分有意思的。
话不多说来看看题。
题目
实现[…].count(n),返回数组中出现次数超过n的数。
例如:[1,2,2,3,3,3].count(2)
返回:[2,3]
Array.prototype.count = function(n){
let result = new Map();
let arr = [];
this.forEach((item)=>{
if(result.has(item)){
result.set(item , result.get(item) + 1);
}else{
//该值未被统计
result.set(item,1);
}
})
result.forEach((item)=>{
if(result.get(item) >= n){
arr.push(item);
}
})
return arr;
}
呃,第一次做这种题,有点懵的地方是不知道怎么获取输入的数组,看到别人实现splice那些例子才知道原来是this里。
为什么我查了同个时间段面试同岗位的一面都没有算法题或者编程题
怎么说呢,虽然知道自己实力可能不怎么够
但是一开始两道题算法编程题就把我给整懵整得老紧张了…
其实还是实力不够
要是实力够了,他考啥都不应该慌