php面试总结,需要自取

算法
    二分查找
    归并排序
    快排
    回文数
    整数反转
    最短左前缀
    LRU算法实现
    两个有序数组合并为一个有序数组
    求数组中子数组的最大和
    数组中两数相加等于指定数的下标
    BFS

PHP
    垃圾回收机制,循环引用问题如何解决的
    常用的魔术方法
    自动加载函数有哪些
    数据框架的生命周期
    常用的设计模式有哪些
    装饰模式的优缺点
    设计模式的作用是什么

程序设计
    高并发场景下,如何保证秒杀商品不超卖
    微信抢红包功能思考,如何在高并发情况下均匀分摊红包金额
    微信扫码登录流程设计

mysql
    sql 的优化思路(高频)
    怎么给多个字段建立联合索引,基于什么原则
    熟悉的日志有哪些,对应的作用是什么(高频)
        error.log(错误日志,报错信息)
        bin-log (二进制日志,基于此来做主从,且可以用来恢复部分丢失数据)
        redo.log (innodb 引擎下的事物日志,保证食物的持久性, 全部写入磁盘中)
        undo.log (innodb 引擎下的事物日志,食物回滚会用到,里面保存了食物改变前的原始数据)
    事物的隔离级别以及场景,各个级别会有什么问题
    MVCC的作用以及原理
    聚簇索引和非聚簇索引的区分是什么(高频)
    索引的底层结构是什么,基于这个结构是如何进行查找的
    sql 的执行过程
    ICP(索引下推)的原理
    常用的explain会关注哪几列(高频)
    索引失效的原因有哪些(高频)
    mysql int11 和 int 10 有什么区别,bigint 和 int有什么区别
    前缀索引如何建立,根据什么来判断要建立的前缀长度
    主从的同步原理是什么(高频)
    主从延迟后怎么办

sql语句
    现在有一张订单表,想统计今年每个季度的订单总额是多少,怎么写

redis
    常用的数据类型以及使用场景
    持久化的方式(高频)
    redis是单进程还是多进程
    redis的网络模型
    redis有哪些异步操作
    如何用redis实现一个延时队列
    redis的集群方式有哪些
    redis k => v 类型的底层结构是否有过了解
    redis 有序集合的底层结构是什么(高频)
    redis 挂掉之后数据恢复策略
    redis 在数据恢复的过程中是否会产生阻塞
    是否有发生过缓存穿透的场景,怎么解决的
    是否用过分布式锁,分布式锁不能直接设置过期时间,怎么解决


Mq
    常用的Mq工具有哪些
    Mq的优缺点
    常用Mq的对比
    kafka为什么吞吐量很高(高频)
    RabitMq的路由匹配规则
    redis blpop 是做什么的
    Mq的使用场景
    设计Mq的时候需要注意哪些问题
    如何避免消息被重复消息
    消费失败后如何进行重试,如何进行降级(高频)


linux
    常用的linux命令有哪些
    统计日志文件访问量最高的前10个IP
    nginx通过反向代理配置负载的方式
    用户发出一个请求到PHP的整体流程(越详细越好)
    linux的网络模型是什么,poll和epoll的区别是什么

数据结构
    链表和数组的区别是什么
    跳表是否了解过,最好可以画出来,跳表的每层索引的时间复杂度有什么区别
    hash-table 的时间复杂度是多少,怎么做到的
    hash-table 产生的散列冲突如何解决

系统架构
    mysql 主从,从库是如何做负载分发的
    mysql怎么实现高可用,主库挂了怎么办
    mysql如何避免著丛延迟
    nginx如何实现高可用,负载机挂了之后怎么操作
    如果有备份的负载机, 如何配置策略进行切换
    如果现在系统的并发是10000,需要配置多少台机器可以扛住这个量级
    redis 如何实现高可用,集群方案

你可能感兴趣的:(设计模式,php,面试,php,面试,开发语言)