美团前端面经分享

我在 github 上新建了一个仓库 每日一题,每天一道面试题,欢迎交流。


时维七月,炎炎夏日,酷暑当头,而我已经在望京附近饶了半个小时。无论是天气,还是对于迟到以及面试的焦虑,都足以使我满头大汗了。

今天要去赶一个美团的面试,我恰好住在三元桥附近,查了地图离望京不太远,于是我在大夏天选择了共享单车。也不知我确实是路痴,还是望京实在太绕,事后证明,这绝对是一个错误的决定。人生即体验,在北京40度的夏天面试会让你终身难忘。

好在最后没有迟到,进了美团所在的大厦之后,感受着丝丝凉气袭来,稍微放松了一下。我环视一周,望着大厅里坐着的一排排的候选人,每天来参加面试的人就与我司的所有员工数量差不多了,暗叹大厂就是大厂。

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

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

一面二面

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

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

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

    • keypress
    • keydown
    • keyup
    • input

    但唯独没有 onChange

  2. 什么是事件冒泡和事件捕获,区别是什么。
  3. 什么是跨域,如何处理跨域

    跨域

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

    如何解决跨域

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

    1. CORS,在服务器端设置几个响应头
    2. Reverse Proxy,在 nginx/traefik/haproxy 等反向代理服务器中设置为同一域名

  4. 什么是节流与防抖,如何实现
  5. 网站的性能优化 (这个在网上有很多文章,但是要注意实践)
  6. 浏览器缓存原理
  7. 当输入 URL 时,整个过程是什么样的
  8. React 的声明周期是什么
  9. React 中关于 setState 的一个结果输出题
  10. React 中函数组件和普通组件有什么区别
  11. 什么是 render prop 的组件 (这个组件听说过,但是基本上没有用过)
  12. fiber 是什么 (这个仅仅只有听说过了)
  13. 关于模块分包的几个细节
  14. 有没有接触过 node,你认为 node 怎么样
  15. node 引入一个模块的过程是什么
  16. https 有什么用,原理是什么
  17. https 如何保证证书是可信任的
  18. amd 和 cmd 的区别,commonjs,esmodule
  19. 什么是函数柯力化
  20. virtual DOM 是什么,如何实现
  21. dom diff 是什么
  22. get 和 post 请求
  23. 你们持续集成的流水线有什么
  24. Accept 头部的作用什么,如果服务器不支持怎么办

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

三面

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

  1. 才工作一年为什么就想着换工作 (三个月前去百度面试被问到,还没有工作一年为什么就想着换工作,后来想着工作一年后就没这个问题了,看来我太天真了)
  2. 你遇到过什么有挑战的事情吗 (这个一定得想好呀,没有也得憋出来一个)
  3. 你对未来的工作有什么样的期待

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

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

后续

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

  1. 面试前路线一定要探好,提前半个小时出发
  2. 对于主观面试题,在面试前一定要做好充分的准备
  3. 对于技术面试题,一定要基础牢固,也可以多看看一些面经

以上是 美团前端面经分享 的全部内容, 来源链接: utcz.com/a/115922.html

回到顶部