分类: 面试题汇总
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
面试题2021-11-02
问:redis 突然变慢了?你要怎样排查?解决方案?
问:怎样保证 redis 和 MySQL 的数据的完整性?解决方案?
问:MySQL 的 CPU 突然飙升,甚至到达了 500%,你会怎样排查和分析?解决方案是什么?
问:一个事务中操作了 A、B、C 三个表,B 表和 C 表操作成功了,A 表的记录没有变化,你会怎样排查和分析?解决方案是什么?