美团后端一面面经

  1. 自我介绍

项目相关

  1. 讲一下实习期间的做的事情?
  • 回答:使用消息队列kafka进行削峰
  • 追问:
    • 如何解决消息漏发,消息重复问题?
    • 如何解决消息多次消费的问题?
    • 当你将消息读取到内存且还没处理完,服务这时候宕机了,该怎么办?如何保证消息只被消费一次呢?
  • 关键点:
    • 了解 Kafka 生产的和消费消息的过程
    • 了解 Kafka 幂等性
  1. 谈谈你对kafka的理解和认识
  2. 谈谈kafka的消费者和消费组?
  3. 讲讲实习另一个使用,基于zookeeper的分布式定时器?
  4. 定时器定期检查,还有什么方法解决你这个问题嘛?
    • 面试官:可以考虑用消息队列
  5. 谈谈zookeeper的认识?
  6. zookeeper核心提供了什么样的能力呢?
  7. zookeeper如何实现分布式一致性?
  • 面试官建议:再深入了解一下这些框架的原理
  1. 聊聊其他的项目。【此时进入到SSM】
  2. 为什么在分布式情况就要用redis存储session
  3. session使用redis存储,还有什么解决方案嘛?
    • 小声回答:感觉DB可以实现功能,但性能不好吧
  4. DB的大概性能是多少?Redis的大概性能是多少?两者相差多少?

Redis

  1. 谈谈你对Redis的理解?
  2. 为什么单线程它会快?
  3. 为什么多路复用会快?
  4. poll和epoll的区别?
  5. 说一下五种IO模型,以及如何区别它们?
  6. redis的缓存淘汰机制?
  7. LRU如何实现?

Java

  1. 你比较了解Java的哪一块知识?
  2. hashmap的底层数据结构?
  3. 为什么要用红黑树?插入性能如何?
  4. concurrentHashMap了解嘛?
  5. 谈谈对线程池的认识?
  6. 常见的线程池?
  7. 这四个常用的线程池各自的应用场景?
  8. cached线程池,在大量请求下会有什么问题?

Spring

  1. 谈谈对spring的认识
  2. Ioc是什么?Ioc的作用?
  3. aop是什么?它的动态代理用什么实现的?

TCP

  1. TCP连接经历什么阶段?
  2. TCP和UDP的区别?
  3. 面向连接和无连接的区别?
  4. 在物理层,TCP和UDP有区别嘛?

反问

问:面试官所属部门?

问:校招,比较看重应聘者哪些能力?
答:解决问题,学习能力,基础知识,价值观

问:面试官,觉得自己在哪方面还需要提高的?
答:

  • 一些知识需要更深入学习
  • 设计的技术方案多进行横向对比
  • 多思考,不同场景下,不同的解决方案

总结

  • Kafka和zookeeper要更加深入了解一些原理
  • 自己实现的技术方案,要考虑到一些异常场景,多进行横向对比
  • 动态代理,IO模型等基础知识牢固一点
全部评论

相关推荐

7 9 评论
分享
牛客网
牛客企业服务