背景

在LearnKu看到了一篇面试题的文章《分享一下最近的面试题,都是大厂(BAT TMD)》 https://learnku.com/articles/63520

面试题内容如下

mysql

  • 有哪些事务隔离级别,Mysql 的事务隔离级别是怎么实现的?(每家都问)
  • 索引原理(每家都问)
  • 分库分表的策略,如果要按照分表字段以外的字段作为查询条件怎么办(每家都问)
  • MVCC 和间隙锁原理(滴滴 字节 百度)
  • explain 的 type 字段有哪些(知乎)
  • update 语句的执行流程,binlog 的作用和几种格式(滴滴)
  • 主从同步的原理和问题(字节 滴滴 陌陌)
  • 发生死锁的原因以及如何解决(滴滴 顺丰)
  • 如何优化大 offset(陌陌)

    redis

  • 缓存如何保证一致性(每家都问)

  • 用过 redis 哪些数据结构,使用场景是什么(每家都问)
  • redis 的 connect 和 pconnect 的区别,pconnect 有什么问题(滴滴 陌陌)
  • redis 如何实现分布式锁,有什么问题(陌陌)
  • redis 为什么用跳表实现有序集合?原理,用有序集合的场景(字节 滴滴)
  • 主从同步的原理,哨兵和集群的区别(滴滴)
  • redis cluster 用的什么协议同步数据,哨兵的选举呢(陌陌)
  • rdb 和 aof 的原理(滴滴 高德)
  • 数据过期和淘汰策略(滴滴 高德 字节)
  • 缓存雪崩 击穿 穿透(滴滴 陌陌)

    php

  • php-fpm 的生命周期,创建进程方式,各自的优缺点(腾讯 百度 滴滴 陌陌)

  • php 数组遍历为什么能保证有序(滴滴)
  • php 怎么实现的弱类型,怎么实现一个扩展(腾讯)
  • 常见魔术方法和函数(腾讯 滴滴)

    es

  • 深度分页会有什么问题(滴滴 百度 陌陌)

  • 倒排索引的原理(字节 高德)
  • lsm 树原理(字节)

    kafka

  • kafka 的架构,大致储存结构(高德 字节 滴滴)

  • 如果消费者数超过分区数会怎么样?(顺丰 滴滴)
  • 怎么保证数据的可靠投递?(陌陌 字节)
  • 消费者的 offset 存在哪里?(字节 腾讯 陌陌)
  • 如何通过 offset 定位消息?(字节)
  • 时间轮的原理(陌陌 顺丰)
  • kafka 写入高性能的原因,sendfile 和 mmap 原理,为什么不用 splice(滴滴)

    网络

  • https 原理,tls 握手需要几个 rtt?(滴滴 百度)

  • 浏览器访问某个网址的详细过程,四次挥手(腾讯 滴滴)
  • http2 和 quic 原理(字节)

    分布式系统

  • 分布式事务怎么处理(高德 陌陌)

  • 简述 raft 原理(陌陌)
  • 分布式 id 的几种实现和优缺点(滴滴)
  • 降级 限流 熔断实现原理(高德 陌陌)

    其他

  • 布隆过滤器的实现原理和使用场景(滴滴)

  • 进程间通信有哪几种方式(腾讯)
  • 进程线程协程区别(滴滴 知乎)
  • lvs 原理,如何保证高可用(滴滴)
  • 502 504 什么原因,如何处理(滴滴 百度 腾讯 顺丰)
  • 给你两个一模一样的玻璃球,求出 100 层楼哪一层开始玻璃球会被摔碎(腾讯)
  • 一致性 hash 原理,怎么解决节点少数据倾斜的问题(滴滴 陌陌)

    系统设计

  • 设计秒杀系统,需要支持 100W 以上 QPS(滴滴)

  • 设计微博首页,需要拉取所有关注用户的最近 20 条微博(百度)
  • 抢红包算法设计(百度 滴滴)
  • 设计一个短链系统(百度)

    算法

  • leetcode 中等