春招结束了,最终收到了心仪的offer,由于楼主比较水所以面试的问题也比较基础,发出来给各位同学做个基础篇参考
美团(上海现场面)
一面
自我介绍
说一下浏览器从输入URL到渲染完页面的整个过程
JS如何计算浏览器的渲染时间?
浏览器缓存讲讲
var的变量提升的底层原理是什么?
event loop讲讲(做了两道题)
闭包原理是什么?(做了一道题)
JS的回收机制说一下(计数清除(IE9以前,可能造成内存泄漏),标记清除(V8))
数组常用的方法有哪些?
WebSocket的底层原理讲讲
你的聊天室项目,如果数据传输出错怎么办?(后面想了想这里面试官可能想问的是checksum和错误重传机制?当时没想到,说了点UDP的不足和TCP的错误检测)
场景题:
Q: 现在有一大段文字,如何在页面中设置一个窗口滚动播出这段文字?
A: 用轮播图思想balabala...
Q: 那你怎么解决卡顿问题?
Q: 之前有写过轮播图demo吗?
垂直水平居中的方式(说知道宽高和不知道宽高的两种情况)
如果宽高不同呢?
如果一个元素不设置width,那他的margin有用吗?
分析一下你说的几个方法(flex grid table-cell margin transform)的兼容性,如果要兼容IE你会选哪个?
实现一个三栏布局,中间自适应你知道几种方法?(float absolute table flex 圣杯)
算法题:给一个无序数字数组,里面是随机的数,并给出一个目标值,求这个数组里的两个数,这两个数的和等于目标值。要求求出这两个数并给出下标,你能想到的最优的办法是什么?(快排 + 双指针)