美团优选事业部前端实习一面面经
别的暂时在整理,今天面的,新鲜出炉,分享给大家
为什么前端不是后端,前端上限更低
我提到想在上海、杭州长三角一带,投的是上海,被建议去北京,美团北京才是核心,厂多发展好,最后又提了一遍
去上海建议拼多多,去杭州建议阿里不要去网易
CSS讲一讲两边固定宽度的排布方案,
讲了relative/absolute和flex布局
看过红宝书,考考原型链,原型链是什么
输出结果
```
Object.prototype.a = 'obj'
Function.prototype.a = 'func'
var P = function() {}
var par = new P();
console.log(P.a) // func
console.log(par.a) // obj
```
引用类型
```
function test (m) {
m={k: 1}
}
var m = {k: 2}
test(m)
console.log(m)
```
结果是 {k: 2}
```
function test (m) {
m.k = 1
}
var m = {k: 2}
test(m)
console.log(m)
```
结果是 {k: 2}
讲一讲promise是什么,JS时间循环是怎么回事
```
console.log('script start')
async function async1() {
await async2()
console.log('async1 end')
}
async function async2() {
console.log('async2 end')
}
async1()
setTimeout(function () {
console.log('setTimeout')
}, 0)
new Promise(resolve => {
console.log('Promise')
resolve()
})
.then(function () {
console.log('promise1')
})
.then(function () {
console.log('promise2')
})
console.log('script end')
```
输出结果
```
script start
async2 end
Promise
script end
async1 end
promise1
promise2
setTimeout
```
变量提升是什么
执行上下文是什么,例子
```
function A(){....}
A()
```
手撕代码
爬楼梯
```
1 2
10
```
就是斐波拉契数列,用了动态规划、路径压缩
arr=[1,2,3,…] 数组乱序
遍历时每次和随机位置交换(只讲了这一种,想不起来别的)
http缓存
讲了强制、协商缓存,cashe controlm304、Etag
输入url到渲染页面发生了什么
什么是圣杯布局,和双飞翼有什么区别,为什么要使用
在提示下说出先渲染主页面,两边后渲染
为什么要用框架
讲了虚拟DOM,模板引擎,在提示下说出可以将DOM和数据绑定,方便开发
为什么要用nodejs
没讲好,只讲了单线程、开发简单,核心的没讲,面试官建议我从更高的角度考虑问题
最后再一次建议我去北京发展,我答应慎重考虑。面试官很友善,有深度,感觉就和老朋友聊天一样
1面已过,上海的HR给我打电话约了二面,回头一看通话记录,一面也是上海的HR给我打来电话的,怎么面试官以为我要去北京的。
#实习##面经##美团##前端工程师#