跳槽季分享我的面试经历,美团、字节、阿里、腾讯Java面经,终入字节

本文作者分享了在美团、字节跳动、腾讯和阿里巴巴的Java面试经历,强调了面试中项目经验的重要性。面试题目涵盖算法、数据库、分布式锁、JVM、MySQL、Redis、Spring等多个方面,同时也探讨了数据一致性、高可用和系统设计等问题。最终,作者进入了字节跳动工作。
摘要由CSDN通过智能技术生成

过去几个月里面的几家大厂,均拿到 offer,最终去了字节跳动。总体感受:

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

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

美团

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

一面

  • 一道算法题,十分钟左右时间,要求能正常运行,通过给出的测试用例。
  • 最近做过的最有挑战的项目,有哪些难点?
  • 结合项目细聊系统的设计,根据你的设计提出疑问。
  • 你们项目中是如何保证数据一致性的?
  • 代码在执行 SQL 语句时,数据库连接出现了超时异常,但是你不知道这条 SQL 语句在数据库中究竟有没有执行成功,这种情况怎么保证数据的一致性?
  • 你们系统中分布式锁是如何实现的?(当时回答采用 redis 实现,set(key,value,nx,ex,expire))
  • 上面使用 redis 实现分布式锁会存在什么问题?
  • 项目中除了使用 redis 实现分布式锁,还有哪些使用场景?
  • redis 的数据持久化机制?如何保证数据不丢失?当 redis 内存满了以后,内存的淘汰策略?
  • AQS 实现锁的原理?与 synchronize 的区别
  • MySQL 存储引擎的区别?数据库有哪些隔离级别?
  • MySQL 索引的数据结构是什么?为什么选择这种数据结构?
  • B+Tree 和 B-Tree 有什么区别?
  • Reactor 线程模型有哪些?Netty 是如何支持这三种线程模型的?
  • 多路复用器的实现原理?
  • epoll 的实现原理?epoll、poll、select 的区别
  • JVM 如何进行垃圾回收?标记算法有哪些?垃圾回收算法有哪些?
  • CMS 垃圾回收器的原理?

二面

  • 最近做过的最有挑战的项目?
  • redis 和 MySQL 的双写一致性问题?你们是如何做的?为什么这样做?其他的做法会存在什么问题?
  • 分布式锁的实现原理
  • 数据库有哪些隔离级别?这几种隔离级别分别解决了什么问题?
  • MySQL 是如何解决不可重复读问题的?
  • MVCC 的实现原理
  • MySQL 的可重复读隔离级别下,存在幻读吗?为什么?
  • 数据库的索引是不是创建得越多越好?为什么?通常创建几个?
  • 一张表中对 a、b、c 三个字段分别建立了索引,现在有一条 SQL 语句:select field1,field2 ... from t where a = xx and b=xx and c=xx. 请问这条 SQL 语句会使用到索引吗?如果会,那么会使用到哪个索引?(回答:只会使用其中一个索引,可能是 a,也可能是 b,还有可能是 c,具体使用哪个索引和表中的数据有关)
  • 为什么不会同时使用 a,b,c 三个索引?什么是回表?
  • 聚簇索引和非聚簇索引的区别
  • 如何知道一条 SQL 语句使用了哪些索引?(回答:使用 explain 查看)
  • explain 的结果有哪些列?分别代表什么含义?
  • 如何查看慢 SQL?
  • 在 Spring 事务中执行多条 SQL 语句时,是对应多个数据库连接还是一个数据库连接?(回答:一个连接,多个就无法保证事务了)
  • 既然是一个连接,Spring 在前后执行多条 SQL 时,是如何保证当前线程获取到同一个连接的?(回答:当时没想到 ThreadLocal,面试官引导说,如果是你,会怎么实现。后来回答说存在一个 map,key 是当前线程,value 就是数据库连接,最后灵光一现,想到了 ThreadLocal)
  • ThreadLocal 的实现原理?
  • 使用 ThreadLocal 需要注意哪些问题?(实际上是问 ThreadLocal 内存泄漏的问题)
  • Redis 主从复制的原理
  • MQ 使用过哪些?如何选型?
  • 使用的是什么 RPC 框架?为什么选择它?
  • 线上服务流量猛涨,该如何操作,说下详细过程?新加服务节点也可能会导致服务还没起来,机器就被打爆了,这个时候怎么办?
  • 一个场景题:现在有 1000 万的商家,知道他们的地理位置,当我们进入到 APP 首页时,如何加载出附近的商家?
  • 职业规划?为什么选择在年底前跳槽?
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值