美团前端一二三面
一面
9.2
自我介绍
1、为什么选择前端
2、学习前端的方法
3、实习时做的工作以及遇到的一些问题
4、了解Object.defineProperty()这个API吗,getter、setter、writable
5、说一下flex
6、讲一下flex里的缩放,是针对什么去缩放
7、有一个模块展示活动参与者的头像,要求:一行最多5个头像,最多三行;头像<=5个,需要居中展示;头像>5个换行展示且最后一行是从左到右填充,如何布局。
8、css选择器有哪些以及优先级
9、this指向有哪些情况
10、问输出
var person1 = {
name:"person1",
say(){
console.log(this.name)
}
}
var person2 = {
name:"person2"
}
person2.say = person1.say
person2.say() //person2 11、如果想输出的是person1,怎么改最后一行,如果改倒数第二行怎么改,写出来 12、问了apply、call、bind的区别
13、为什么person2可以调用apply、call或者bind这些方法
14、讲一下原型和原型链
15、手动实现bind
16、通过上面手写bind又问了闭包
17、问输出
for(var i=0; i<3; i++){
setTimeout(function(){
console.log(i)
},i)
} 说明原因 18、用闭包改写上面代码让其能正确输出1 2 3,为什么用闭包就可以正确输出
19、说一下promise和它的一些API
20、
var p1 = new Promise((resolve,reject)=>{
reject(1)
}) 怎么捕获这个1 回答是
p1.then(res=>{
console.log(res)
}).catch(err=>{
console.log(err)
}) 21、如果不用catch怎么捕获1 回答是
p1.then(res=>{
console.log(res)
},err=>{
console.log(err)
}).catch(err=>{
console.log(err)
}) 22、又问这样会打印几个值 23、继续问可以在p1.then(...).catch(...)后面继续调用then吗
24、再问
p1.then(res=>{
console.log(res)
},err=>{
console.log(err)
}).catch(err=>{
console.log(err)
}).then(res=>{
console.log(res)
}) 最后这个then想输出2怎么办 反问
二面
9.8
自我介绍
为什么选择前端
通过什么途径学习前端
举例说明看的博客视频或者其他学习资料
最近在看什么前端知识
1、vue数据双向绑定的原理
2、vue在防止视图频繁更新做的哪些优化,是否每次变更都会导致视图的渲染
3、v-if和v-show的区别,在什么场景使用
4、v-for里为什么要有key,如果没有key会怎么样,对页面渲染会怎么样,展示出来的内容是对的吗
如果用index作为key会怎么样,内容会准确吗
5、git里如何去比较两次提交的差异
6、如何通过命令行去修改一个文件名
7、用过npm吗,npm install会发生什么
8、如何利用chrome工具去打断点
9、如何统计一个网页有多少个div标签
10、有没有用过抓包的工具
11、怎么去看一个网页里的请求
12、状态码4xx和5xx
13、content-type在请求的什么部分,值有哪些
14、一个由数字组成的数组,其中有一个数字出现1次,其他数字出现两次,编写方法findSingleNumber,快速找出出现1次的数字
写完之后问能不能优化
15、给定两个大小分别为m和n的正序数组num1和nums2,请你找出并返回这两个正序数组的中位数。问能不能优化
反问
三面
9.16
自我介绍
实习时学到了哪些东西
为什么想学前端
所学专业与前端有什么能够结合的点吗
介绍论文
OSI七层模型
http在哪层,有什么特点,与tcp的区别
tcp为什么可以做到可靠性传输
tcp和udp的区别
tcp协议的报文格式,怎么标明窗口大小
算法:二叉树最大路径和
算法:滑动窗口,从前端角度来看有没有简洁的写法
反问

查看7道真题和解析