【意向书】快手(前端 基础架构)
9月9日更新
终于等到快手大大的意向书!!!
顺便许愿:明天头条终面顺利通过,然后再发面筋。
------------------------------------------------------------------------------------------------------------------------------------------------
8月28日完成一、二、三轮技术面,隔了一个周末(8月31日)收到面试hr小姐姐的电话,说我技术面通过(三评都挺高),约了明天hr面。
简单写下面经(记不清楚了)
一面(1h)
1.项目
2.基础+各种输入输出
手撕:
3.洗牌算法(数组乱序)
4.有序数组合并
Q&A
嘻嘻,最后面试官夸我基础这么扎实,然后和我聊了他以前在腾讯工作的经历以及一些个人成长的建议。nice!!!
二面(1h)
二面是个小姐姐。
1.项目(被怼了)
手撕:
1.NumberStack
要求如下:
- push:只能push数字,否则报错
- pop
- maxN:第N大的数,时间复杂度O(1)
function NumberStack(){ this.stack=[];//存储栈 this.maxStack=[];//辅助栈,从小到大的排序 } NumberStack.prototype.push=function(num){ if(Object.prototype.toString.call(num)!="object Number") return false; this.stack.push(num); if(!this.maxStack.length){ this.maxStack.push(num); }else{ let len=his.maxStack.length; for(let i=0;i<len;i++){ if(num<this.maxStack[i]){ this.maxStack.splice(i,0,num);//将num插入maxStack到合适的位置 break; } } } } NumberStack.prototype.pop=function(){ let num=this.stack.pop(); this.maxStack.splice(this.maxStack.indexOf(num),1);//将num从maxStack中删除 return num; } NumberStack.prototype.maxN=function(n){ if(n<1||n>this.maxStack.length) return false; return this.maxStack[this.maxStack.length-n]; }2.数组展平,要求函数可以控制展平层次
Array.prototype.flat = function(deep) {}Q&A
三面(1h40min)
leader人超nice!!!,面试体验最好的一次!!!
1.项目,自己的思考(软件设计层面)
手撕
1.parseInt和toString的用法
然后写一下
- randomHex(生成随机的颜色)
- hex2rgb
2.面试官看我会正则,就出了一道模板替换的题(题目忘记了,牛客面试房间超时长,进不去了)
有卡住的地方,面试官会指导你,然后写出来了最后,这题聊了好长时间。
Q&A
#面经##校招##快手##前端工程师#