3.20 美团前端一面面经

本人土澳19年12月IT硕士毕业,回来第一次参加大厂春招,tx挂了4次,谈一下上午刚结束的美团一面。

历时:1h 20min
考官:在家办公,面容枯槁(精神状态)
考察类型:项目+js/css/html基础 + 2算法 + 口述应用场景
总体感觉:题目较容易,算法题尽量求最优解

1. 谈一下之前做过的前端实习项目

2. 自己的项目中password是如何储存的,知不知道salt
答:node bcrypt单向加密成hash值储存进数据库,用的saltround每次登陆验证加密之后的hash与数据库中hash是否相等

3. 你说你用到了jwt token,储存在session storage里,为什么不用cookie,cookie有哪些优势

4.  for(var i = 1; i<=3; i++) {
settimeout(()=>{
console.log(i)}, 0
)
} 输出是什么
答:3个4,谈了下宏任务,执行栈

5.  如何创建1000 个<div></div>并添加进document.body里
答:这里只说了避免一次添加一个会有回流问题,先创建documentFragment,做循环添加完了最后append进body里。
追问:除了回流还有什么性能问题如果一次添加一个进body里
答:...

6.  你熟悉Angular,那angular的脏检测机制为什么耗费性能
答:谈了一下ng zone 和异步任务的改写,以及component tree的循环遍历
追问: 有什么可以以优化脏检测性能的方法吗
答: 谈了一下on push的方法,用rxjs发布object的属性,并修改脏检测机制,只有object的引用发生改变才执行脏检测

7. get和post的区别
答: get占用一个tcp包,url传值有长度限制,http1.0。  post占用两个tcp包,body传值,http1.1
追问: post可以用url传值吗
答:可以


算法:
1. ['1a', '3b', '1c', '2a', '7b', '2a']这样一个由数字和字母构成的数组,求出现最多次字母的前系数和,例如:a出现了三次,最多,输出1+2+2=5
答:这里先构建obj={}, key为字母,value为出现次数,再操作,结果不是最优解。出了结果,在考官指引下优化,考官不会提太多,靠自己,能最优一定最优

2. {bill:500, sam:480, roark:501}为输入,请按value的大小降序输出key值,例如[ 'roark', 'bill', 'sam' ]
答:
function sortting(obj) {
let resultAry = []
for (let i in obj) {
var temp = {}
temp[i] = obj[i]
temp.value = obj[i]
resultAry.push(temp)
}

resultAry.sort((a,b)=> b.value-a.value)
let result = []
for (let i = 0; i<resultAry.length; i++) {
delete resultAry[i].value
result = result.concat(Object.keys(resultAry[i]))
}
console.log(result)
}

let test = {bill:500, sam:480, roark:501}
sortting(test)
#美团前端面经##美团##校招##前端工程师##面经#
全部评论
补充:img懒加载,谈了scroll top, offset top, client top等等
点赞 回复
分享
发布于 2020-03-20 14:16
点赞 回复
分享
发布于 2020-03-20 14:23
滴滴
校招火热招聘中
官网直投
感觉这不是校招了吧
点赞 回复
分享
发布于 2020-03-25 20:34
楼主第二题算法题这样算对吗 var obj = {bill:500, sam:480, roark:501}; var ans = Object.keys(obj).sort(function(a,b) {   return obj[b] - obj[a]; }); console.log(ans);
点赞 回复
分享
发布于 2020-03-31 14:16

相关推荐

3 28 评论
分享
牛客网
牛客企业服务