2022面试集-part2答案

一、滴滴国际化支付

1、一面

1.php的内存模型

PHP内存模型 - 云+社区 - 腾讯云

php内存管理
分为三层:存储层(storage)、堆层(heap)、接口层(emalloc/efree)

php是使用链来管理的。定义一个数组指针,每次通过数组指针指向所请求的内存空间。
在单个请求初始化的时候,内核会初始化free_buckets列表,其是一个数组指针,通过存储的是双向链表的头尾指针,用来达到对内存的管理。

2.mysql的锁,怎么检测到死锁的,怎么处理死锁?

cnblogs.com/111testing/p/11371236.html

【死锁定义】
相互等待对方资源,最后形成环路造成的。

【innodb的死锁检测】
(1)innodb_lock_wait_timeout,超时回滚
在两个事务相互等待时,当一个等待时间超过设置的某一阀值时,对其中一个事务进行回滚,另一个事务就能继续执行。这种方法简单有效,在innodb中,参数innodb_lock_wait_timeout用来设置超时时间。
评价:检测死锁太被动!
(2)wait-for graph,加锁失败则触发检测有向图是否出现环路,出现环路就是死锁!
主动进行死锁检测,每当加锁请求无法立即满足需要并进入等待时,wait-for graph算法会被触发。

【死锁成因】
1)不同表相同记录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值