面试
文章平均质量分 77
mr.杰瑞
只要开始就不算晚……
展开
-
总结一下我复习过的算法和mysql
mysql 架构:连接器->查询缓存->分析器->优化器->执行器 B+树数据全部存放在叶子节点,B+树中查询任意数据的次数,都是n次,n表示的是B+树的高度 php7 不用下载包 ,拓展库就有,直接new 就能实现9种数据结构 这些会随着进程销毁而销毁 最大堆: //堆 分为最大堆和最小堆 //队列和栈都是线性结构 底层是 指针 //队列先进先出 (排队取票) $q = new SplStack();//栈 先进后出 (便签) $q[]=1; $q[]=2; $q[]=3原创 2021-04-22 01:51:49 · 152 阅读 · 1 评论 -
初学rabbitMQ及Kafka
左client 客户端 生产者 broker 中转站 右client 客户端 消费者 exchange 交换机(快递员) 和 queue 队列(邮箱) 直接进行绑定 如果有个订单业务,用户下完单后就要发短信, 传统的实现方式都是给mysql,mysql插入数据,之后发短信,再取数据发送,但这里就比较耗时,也耗数据库的性能。 怎么优化呢?做拆分,异步任务 往mysql插入数据成功后,向rabbitMQ 插入数据, 如果发短信的话,rabbitMQ去发短信就好了 RabbitMQ的使用场景? (很多设计思.原创 2021-04-17 02:51:36 · 158 阅读 · 0 评论 -
php底层了解一下子 及 linux命令
PHP 的核心数据结构是什么? HashTable hashTable 为什么Linux要分为用户空间和内核空间? 1.安全 内核有些接口给用户空间用 运行php有个 调度的过程,用户空间-》调用内核空间,内核空间返回用户空间,会有两种状态切换 谈谈你队5种常用IO模型的理解? 1阻塞IO, 2.非阻塞IO 3.多路复用IO 4.信号驱动IO 5.异步IO 一次网络请求的完整过程?(重点) 1.用户输入url 浏览器缓存 (f12 network size (disk ..原创 2021-04-16 00:25:58 · 481 阅读 · 2 评论 -
Redis面试 不问这些来找我
Redis如何实现延时队列? 有序集合,使用时间戳作为score,消息内容作为key,调用zadd来生产消息,消费者使用zrangbyscore获取n秒之前的数据做轮询处理 Redis缓存击穿是啥?怎么解决? 缓存击穿是指缓存中没有数据,但数据库中有数据,一般是缓存时间到期,如果并发用户特别多,同时读缓存没读到数据,有同事去数据库中去数据,引起数据库压力瞬间增大,造成过大压力。(一条热点数据) 如果是不同数据都过期,很多数据都查不到,那就是缓存雪崩了。 (ps: 我经常把缓存击穿和穿透搞混,后来我想了想.原创 2021-04-14 01:30:51 · 110 阅读 · 0 评论 -
二分法 两种写法你会的是哪个?
最近刷leecode总结了一个规律,只要是有序数组,我都会用到二分法,为啥呢? 数据库其实也是二分查找。 左闭有开 $arr = array(1,3,5,8);// $target = 9; function searchInsert1($nums, $target) { $n = count($nums); $left = 0; $right = $n; // 定义target在左闭右开的区间里,[left, right)数组中的数据一定在$nums[0,4) target原创 2021-04-13 15:42:54 · 115 阅读 · 1 评论 -
mysql 面试题 一定会问
订单,库存两个表怎么保证数据一致性? mysql用事务,存储引擎InnoDB,事务规定只有订单完成,并且相应的库存减少才允许提交事务,否则事务回滚,确保数据一致性 外键的作用 保持数据一致性,完整性,主要目的是控制存储在外键表中的数据。 如果设置了外键,删主表数据时,不能删 https://my.oschina.net/u/4479011/blog/4494777 什么事读锁,什么是写锁? 读锁又叫共享锁,可以读但不能修改 写锁又叫排它锁,它自己可读可修改,其他事务不能读也不能修改 数据库中,什么是锁?.原创 2021-04-12 23:17:58 · 87 阅读 · 0 评论 -
php 面试题基础 呕心沥血总结
考察面向对象 这样写,对象是引用不是赋值 指向同一个地方 $b=new a(); $c=$b; $b->abc='D'; echo $c->abc; D List item原创 2021-04-11 01:14:10 · 111 阅读 · 0 评论 -
PHP 生命周期和垃圾回收你了解多少?
PHP生命周期 PHP的运作模式有几种? WEB模式(nginx发送请求到html页面,页面请求到sapi接口做代码执行。)+CLI模式(命令行) sapi是啥? php里面会有sapi (所有数据接收的通道) sapi包含 php-fpm(web) cli(命令行) cgi main() 【不同sapi的main】 php_module_startup()【请求初始化阶段】 php框架zend引擎 fpm 把work和master启动起来,master进程是常驻的,加载各个扩展代码到maste原创 2021-04-01 01:22:19 · 119 阅读 · 0 评论 -
Redis面试问题总结
1. Redis是单线程还是多线程? Redis 5以前是单线程,这里说的单线程不是Redis就一个线程,只不过是它的worker线程是单线程。 主要要从工作机制的角度回答它的优缺点。 比如: 单线程图 多线程图 2. Redis缓存技术机制是什么? Redis插数据的时候,会同步一份保存在磁盘上,有两种保存方式 AOF(AOF文件)当往Redis里面插数据时,会以日志的方式append追加到AOF文件中,所以AOF里面会有很多原始记录的操作语句,当恢复时会重新执行一遍,所以说存在对一个key重复操作原创 2021-03-29 22:55:19 · 102 阅读 · 0 评论