马上金三银四,想着面试大军可能也过不了几天就要来了,所以这两天整理了一些面经,今天给大家看的是“美团+字节跳动+腾讯”这三家的,每家一二三面,我想大家可以自己测试一下能坚持到哪里。

先来看美团

美团的话,三面下来,设计的内容知识也是挺广的吧,有MySQL、Redis、Kafka、线程、算法、+、volatile、线程、并发、设计模式等等...

一面问题(MySQL+Redis+Kafka+线程+算法)


  • mysql知道哪些存储引擎,它们的区别
  • mysql索引在什么情况下会失效
  • mysql在项目中的优化场景,慢查询解决等
  • mysql有什么索引,索引模型是什么
  • B-树与B+树的区别?为什么不用红黑树
  • mysql主从同步怎么做
  • 乐观锁与悲观锁的区别?
  • binlog日志
  • redis 持久化有哪几种方式,怎么选?
  • redis 主从同步是怎样的过程?
  • redis 的 zset 怎么实现的?
  • redis key 的过期策略
  • hashmap 是怎样实现的?为什么要用红黑树,而不用平衡二叉树?为什么在1.8中链表大于8时会转红黑树?HashMap为什么线程不安全的?
  • 如何实现线程安全的hashmap?
  • select 和 epoll的区别
  • http与https的区别,加密怎么加的?
  • raft算法详细讲解
  • Kafka 选主怎么做的?
  • kafka如何保证生产与消费都是同步的?
  • kafka 怎么保证不丢消息的
  • redis如何保证高可用
  • 算法:剪绳子(贪心或递归解决)
  • 算法:给前序和中序遍历,重建二叉树

二面(volatile+线程+并发+算法+设计模式)


  • 自我介绍
  • 讲讲项目(项目没啥亮点,直接问基础)
  • volatile作用?底层实现?禁止重排序的场景?单例模式中volatile的作用?
  • 如何构造线程池,它的参数,饱和策略?
  • 公平锁和非公平锁区别?为什么公平锁效率低?
  • 线程都有哪些状态?
  • 线程、进程、协程的区别?
  • 同步队列器AQS思想,以及基于AQS实现的lock,。
  • 并发工具类CountDownLatch、CyclicBarrier、Semaphore介绍
  • Execuors类实现的几种线程池类型,最后如何返回?
  • 手写单例模式
  • 手写消费者生产者模式
  • 算法:反转单链表
  • 算法:给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度。

三面

这一面,没问啥东西,主要聊人生,和未来3年的规划。。。。。。

第二个是字节跳动

一面(算法+数据库+事务+网络)

  • 自我介绍
  • 项目介绍(没亮点,还是问基础)
  • 堆排序的原理及时间复杂度,是否稳定,最坏及最坏场景。
  • Object类都有哪些方法?
  • DNS解析的过程/浏览器输入一个url,敲下回车后网络的全过程
  • HTTP和HTTPS的区别
  • UDP怎么实现可靠传输
  • 介绍下https,是如何加密的,加密算法
  • 数据库索引的优缺点,以及什么时候数据库索引失效
  • 事务的隔离级别?