美团前端面经

2,072 阅读3分钟

我被 HR 领到了一间会议室,静静地等待着面试官的到来。先前的酷暑使身体终于有了反应,自在接了两杯白开水,并再次感叹大厂的不一般:连白开水都有专用的自来水机,而不像我司只有罐装水。

笑容满面,憨态可掬的面试官进来后,进入了今日面试的正题:

一面二面

前两面都是技术面,由于我工作年限较短的原因吧,问题都比较常见,大部分会在面经上看到,因此也不放答案了:

input 中如何监听值的变化,事实上 onchange 无法作用

可以监听的事件有以下几种

但唯独没有 onChange

keypress

keydown

keyup

input

什么是事件冒泡和事件捕获,区别是什么。

什么是跨域,如何处理跨域

跨域

协议,域名,端口,三者有一不一样,就是跨域

如何解决跨域

目前有两种最常见的解决方案:

CORS,在服务器端设置几个响应头

Reverse Proxy,在 nginx/traefik/haproxy 等反向代理服务器中设置为同一域名

什么是节流与防抖,如何实现

网站的性能优化 (这个在网上有很多文章,但是要注意实践)

浏览器缓存原理

当输入 URL 时,整个过程是什么样的

React 的声明周期是什么

React 中关于 setState 的一个结果输出题

React 中函数组件和普通组件有什么区别

什么是 render prop 的组件 (这个组件听说过,但是基本上没有用过)

fiber 是什么 (这个仅仅只有听说过了)

关于模块分包的几个细节

有没有接触过 node,你认为 node 怎么样

node 引入一个模块的过程是什么

https 有什么用,原理是什么

https 如何保证证书是可信任的

amd 和 cmd 的区别,commonjs,esmodule

什么是函数柯力化

virtual DOM 是什么,如何实现

dom diff 是什么

get 和 post 请求

你们持续集成的流水线有什么

Accept 头部的作用什么,如果服务器不支持怎么办

关于技术面试,大部分属于基础,在网络上都能够找到答案,所以面试大厂基础一定要牢固!

三面

三面大部分都是一些主观问题:

才工作一年为什么就想着换工作 (三个月前去百度面试被问到,还没有工作一年为什么就想着换工作,后来想着工作一年后就没这个问题了,看来我太天真了)

你遇到过什么有挑战的事情吗 (这个一定得想好呀,没有也得憋出来一个)

你对未来的工作有什么样的期待

三面的主观面试对我来说,比技术面更加紧张刺激,也可能是因为面试少的原因,不知从何处回答。对于主观题来说,面试前一定要做好充分的准备,另外要多面试才能克服紧张心理。

对于主观题,可以参考山月同学的 技术面试题之主观题 列表,对于主观题有什么要做到心里有数。

后续

最终还是挂,虽然美团失败了,但最终面上了小米,总结下这次的教训

面试前路线一定要探好,提前半个小时出发

对于主观面试题,在面试前一定要做好充分的准备

对于技术面试题,一定要基础牢固,也可以多看看一些面经

有想了解更多的朋友可以去https://www.jianshu.com/p/86bb74768d12 看一下。