美团前端一面凉经
1.写一个冒泡排序,不想写,换成了快排
2.查询一个数是否能由数组里的数组成,能的话返回组合下标
//找出数组中两个数的组合等于制定数的组合
function find(arr,num){
arr.sort((a,b)=>a-b)
let i=0;let j=arr.length-1
while(i<j){
if(arr[i]+arr[j]<num){
i++
}
else if(arr[i]+arr[j]>num){
j--
}
else {
console.log(arr[i]+"+"+arr[j]+"="+num)
i++;j--;
}
}
}
find([2,7,8,1,10],9)
3.返回字符串的最长不重复子串长度
function longeststr(s){
let str='';//当前最长字串
let lens=0;
let l=s.length
for(let i=0;i<l;i++){
char=s.charAt(i)
index=str.indexOf(char)
if(index===-1){
str+=char
lens=lens<str.length?str.length:lens
}
else{
str=str.substr(index+1)+char
}
}
return lens;
}
console.log(longeststr('abcdeafghh')) 4.用正则把a字符串替换成b字符串,这个我不记得正则咋用了,跟他说用split,就用了split
a='use_xbox_serios_one'
b='useXboxSeriosOne'
c=a.split("_");
for(let i=1;i<c.length;i++){
temp=c[i][0].toUpperCase();
c[i]=temp+c[i].slice(1);
console.log(c[i])
}
d=c.join('')
console.log(d)
console.log(d==b) 6.闭包里 return n=n+1
然后开始问知识点
1.children和childnotes区别
2.Dom/Bom
3.offsetleft offsettop
4.substring slice区别
5 正则表达式四个api
6 css grid
7 http https http1 http1.1 http2
8网络协议
9输入url到页面展示 发生了什么
又做了一道数据库 关联查询
自己太紧张了,开始面试官还问了点跟技术完全无关的个人生活问题,有点措手不及。
面了八十分钟,面试官说超时了是因为前半段表现不太满意想多问点了解的更准确点,因为问生活问题的时候感觉我还不错,后半段回答的马马虎虎吧,面试官说我不是很自信。
应该是凉了。
果然我干啥啥不行,不务正业第一名
其实平心而论问的问题不算难
查看15道真题和解析