美团前端面经分享
我在 github 上新建了一个仓库 每日一题,每天一道面试题,欢迎交流。
时维七月,炎炎夏日,酷暑当头,而我已经在望京附近饶了半个小时。无论是天气,还是对于迟到以及面试的焦虑,都足以使我满头大汗了。
今天要去赶一个美团的面试,我恰好住在三元桥附近,查了地图离望京不太远,于是我在大夏天选择了共享单车。也不知我确实是路痴,还是望京实在太绕,事后证明,这绝对是一个错误的决定。人生即体验,在北京40度的夏天面试会让你终身难忘。
好在最后没有迟到,进了美团所在的大厦之后,感受着丝丝凉气袭来,稍微放松了一下。我环视一周,望着大厅里坐着的一排排的候选人,每天来参加面试的人就与我司的所有员工数量差不多了,暗叹大厂就是大厂。
我被 HR 领到了一间会议室,静静地等待着面试官的到来。先前的酷暑使身体终于有了反应,自在接了两杯白开水,并再次感叹大厂的不一般:连白开水都有专用的自来水机,而不像我司只有罐装水。
笑容满面,憨态可掬的面试官进来后,进入了今日面试的正题:
一面二面
前两面都是技术面,由于我工作年限较短的原因吧,问题都比较常见,大部分会在面经上看到,因此也不放答案了:
- input 中如何监听值的变化,事实上 onchange 无法作用
可以监听的事件有以下几种
- keypress
- keydown
- keyup
- input
但唯独没有
onChange
- 什么是事件冒泡和事件捕获,区别是什么。
- 什么是跨域,如何处理跨域
跨域
协议,域名,端口,三者有一不一样,就是跨域
如何解决跨域
目前有两种最常见的解决方案:
- 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 头部的作用什么,如果服务器不支持怎么办
关于技术面试,大部分属于基础,在网络上都能够找到答案,所以面试大厂基础一定要牢固!
三面
三面大部分都是一些主观问题:
- 才工作一年为什么就想着换工作 (三个月前去百度面试被问到,还没有工作一年为什么就想着换工作,后来想着工作一年后就没这个问题了,看来我太天真了)
- 你遇到过什么有挑战的事情吗 (这个一定得想好呀,没有也得憋出来一个)
- 你对未来的工作有什么样的期待
三面的主观面试对我来说,比技术面更加紧张刺激,也可能是因为面试少的原因,不知从何处回答。对于主观题来说,面试前一定要做好充分的准备,另外要多面试才能克服紧张心理。
对于主观题,可以参考山月同学的 技术面试题之主观题 列表,对于主观题有什么要做到心里有数。
后续
最终还是挂,虽然美团失败了,但最终面上了小米,总结下这次的教训
- 面试前路线一定要探好,提前半个小时出发
- 对于主观面试题,在面试前一定要做好充分的准备
- 对于技术面试题,一定要基础牢固,也可以多看看一些面经
以上是 美团前端面经分享 的全部内容, 来源链接: utcz.com/a/115922.html