Skip to content

Latest commit

 

History

History
78 lines (64 loc) · 3.53 KB

2021面试题记录.md

File metadata and controls

78 lines (64 loc) · 3.53 KB

2021年3月 滴滴 百度 作业帮 贝壳 面试题

PHP相关

PHP 垃圾回收是怎么做的?细节?其他语言的垃圾回收有了解过吗?大概是用什么机制?
PHP in_array 有什么问题?
PHP array_merge和+ 有什么区别?
PHP static 和 self 有什么区别?
PHP的数据的底层结构为何那么设计?比如
php的变量底层结构有什么特点?数组结构呢?
php数组是怎么扩容的?为什么数组取值很快?
php5 和 7 的区别。 7做了哪些提升。8 呢? 从底层结构说明。
phpfpm的进程是怎么管理的?请求处理完会消失吗?怎么释放?
PHP master worker进程管理
PHP 执行过程?

redis和数据库

redis 内部数据结构实现,常见的使用场景?
redis实现分布式锁,具体怎么使用?什么场景?具体编码细节?
如果存json在redis 数据量很大 怎么解决?(其他数据类型?分库?分缓存?)
常见redis命令?如何保障事务操作?
redis跳表为什么快?
redis长连接问题
每个phpfpm使用的是同一个redis的连接吗?

mysql怎么实现事务的隔离级别?
索引有哪些?主键 唯一 xxx。。
mysql 锁的种类有哪些?
间隙锁是什么?
分库分表的时候,参考分开的依据用的是主键索引还是唯一索引?
分库分表后,PHP如何找到对应的表?细节。
主键索引和唯一索引的区别?常见的用法?
acid是什么?常见的隔离级别有哪些?InnoDB默认隔离级别是?
数据库如何做到这些隔离级别?底层实现。
mysql binlog 是用来做什么的?怎么运行的?从库起几个进程去同步?
redo日志和 undo日志是什么?
mysql的主键如果不是顺序的会怎么样?影响什么?为什么影响?
聚簇索引和非聚簇索引有什么区别?
为什么用B+树 不用B树?
Mysql怎么优化?sql语句怎么优化?

消息队列

rabbitmq 怎么实现一个延时操作?
kafka使用

系统设计

设计模式了解哪些?常见实现代码?手写一个观察者模式
分库分表是什么场景下使用的?常见的db分库分表方案?怎么解决分页问题
微服务拆分的整体步骤是怎么样的?业务拆分的边界如何确认。
高并发场景怎么应对?有哪些注意的吗?你们业务中有没有遇到过?
如何保证不超卖库存?【技术 业务 】
如何用领域驱动指导微服务拆分?
哈希冲突的时候 解决办法:链表 + xxx寻址?

案例1:
如果一个服务的访问量,可预见的会在近期增大十倍左右。
从哪些方面入手优化?(不可扩容的情况)
1 数据库层面做什么镜像表?没听过
2 请求拦截一部分。丢弃一部分。怎么丢 丢哪些
3 缓存
4 不是很重要的服务 降级 + 是很重要但是可以随后处理的 异步 + 熔断

案例2:
设计一个滴滴抢单系统 保证不会乘客的单子不会被多抢 乘客有vip 司机也有vip 有优先级
数据库主从延迟怎么解决 有哪些方案

实操考察

线上如果现在有请求504了,你一般怎么应对?
如果你用rabbitmq 消息队列积压了怎么办?怎么知道积压了?积压了之后怎么解决?
你遇到觉得自己技术成长最大的项目是什么?是哪方面的?
描述下你做过的项目的业务 以及你的技术架构是什么
如何查日志?常用命令?

软实力问题