金三银四跳槽季,美团、字节、阿里、腾讯面经

过去几个月面的几家大厂,均拿到 offer,时间有点久了,凭着记忆写下这份面经,有些问题已经记不太清了。

总体感受:

  1. 每个大厂问项目问得特别细,虽然下面的面经都只用了一句话去概括,但在实际面试过程当中,项目这一块占了整个面试流程的很大一部分,相反纯技术问题的占比都比较小。
  2. 面试题几乎类似,比较简单,也很常见。

加微信内推

加微信大厂内推

美团

通常是两轮技术面试,一轮 HR 面试,第一面会有一道算法题,有的时候会有三轮技术面试。

一面
  1. 一道算法题,十分钟左右时间,要求能正常运行,通过给出的测试用例。
  2. 最近做过的最有挑战的项目,有哪些难点?
  3. 结合项目细聊系统的设计,根据你的设计提出疑问。
  4. 你们项目中是如何保证数据一致性的?
  5. 代码在执行 SQL 语句时,数据库连接出现了超时异常,但是你不知道这条 SQL 语句在数据库中究竟有没有执行成功,这种情况怎么保证数据的一致性?
  6. 你们系统中分布式锁是如何实现的?(当时回答采用 redis 实现,set(key,value,nx,ex,expire))
  7. 上面使用 redis 实现分布式锁会存在什么问题?
  8. 项目中除了使用 redis 实现分布式锁,还有哪些使用场景?
  9. redis 的数据持久化机制?如何保证数据不丢失?当 redis 内存满了以后,内存的淘汰策略?
  10. AQS 实现锁的原理?与 synchronize 的区别
  11. MySQL 存储引擎的区别?数据库有哪些隔离级别?
  12. MySQL 索引的数据结构是什么?为什么选择这种数据结构?
  13. B+Tree 和 B-Tree 有什么区别?
  14. Reactor 线程模型有哪些?Netty 是如何支持这三种线程模型的?
  15. 多路复用器的实现原理?
  16. epoll 的实现原理?epoll、poll、select 的区别
  17. JVM 如何进行垃圾回收?标记算法有哪些?垃圾回收算法有哪些?
  18. CMS 垃圾回收器的原理?
二面
  1. 最近做过的最有挑战的项目?
  2. redis 和 MySQL 的双写一致性问题?你们是如何做的?为什么这样做?其他的做法会存在什么问题?
  3. 分布式锁的实现原理
  4. 数据库有哪些隔离级别?这几种隔离级别分别解决了什么问题?
  5. MySQL 是如何解决不可重复读问题的?
  6. MVCC 的实现原理
  7. MySQL 的可重复读隔离级别下,存在幻读吗?为什么?
  8. 数据库的索引是不是创建得越多越好?为什么?通常创建几个?
  9. 一张表中对 a、b、c 三个字段分别建立了索引,现在有一条 SQL 语句:select field1,field2 … from t where a = xx and b=xx and c=xx. 请问这条 SQL 语句会使用到索引吗?如果会,那么会使用到哪个索引?(回答:只会使用其中一个索引,可能是 a,也可能是 b,还有可能是 c,具体使用哪个索引和表中的数据有关)
  10. 为什么不会同时使用 a,b,c 三个索引?什么是回表?
  11. 聚簇索引和非聚簇索引的区别
  12. 如何知道一条 SQL 语句使用了哪些索引?(回答:使用 explain 查看)
  13. explain 的结果有哪些列?分别代表什么含义?
  14. 如何查看慢 SQL?
  15. 在 Spring 事务中执行多条 SQL 语句时,是对应多个数据库连接还是一个
  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值