PHP面试题2021-12-10

前言

  • 定位是后端开发工程师,大部分公司都需要转 go,并且这方面的知识如果不熟悉也可以明说,不会考查。如果面试官以前是做 php 的话,可能会问一些 php 的相关知识
  • 经典八股文一定要牢牢掌握,如果你不会的话就直说不会,千万不要强答(会减分),并不需要 100% 全答出来
  • 算法题做不出来通过的可能性很低,平时一定要多刷。不过除了字节,其他公司的算法题会相对简单一点,但总体上还是以 leetcode medium 难度为主(运气好的话 easy)

八股文

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 条微博(百度)
  • 抢红包算法设计(百度 滴滴)
  • 设计一个短链系统(百度)

算法

  • 常见的排序算法有哪些,哪些是稳定的,如果需要稳定排序算法的话,选哪种(百度)
  • 反转链表(滴滴)easy
  • topk(百度 字节) medium
  • lru(滴滴) medium
  • leetcode104. 二叉树的最大深度(滴滴) easy
  • leetcode98. 验证二叉搜索树(滴滴) medium
  • leetcode103. 二叉树的锯齿形层序遍历(字节) medium
  • leetcode113. 路径总和 II(字节) medium
  • leetcode695. 岛屿的最大面积(字节) medium
  • leetcode56. 合并区间(字节) medium
  • leetcode23. 合并 K 个升序链表(字节) hard
  • leetcode162. 寻找峰值(字节) medium
  • leetcode64. 最小路径和(滴滴) medium

原文:https://learnku.com/articles/63520

面试题2021-11-02

问:redis 突然变慢了?你要怎样排查?解决方案?

问:怎样保证 redis 和 MySQL 的数据的完整性?解决方案?

问:MySQL 的 CPU 突然飙升,甚至到达了 500%,你会怎样排查和分析?解决方案是什么?

问:一个事务中操作了 A、B、C 三个表,B 表和 C 表操作成功了,A 表的记录没有变化,你会怎样排查和分析?解决方案是什么?