MVCC多版本并发控制

1. 什么是MVCC

mvcc中文名位多版本并发控制,是数据库引擎处理读写冲突的一种手段,目的在于提高并发场景下数据库的吞吐量。
通过mvcc机制,在多个事务并发执行时,select可以无需加锁,而是通过mvcc机制读取指定版本的历史记录,可以保证读取的值符合事务所处的隔离级别。从而解决并发场景下的读写冲突。
在mysql数据库中,mvcc可以在读已提交可重复读两种隔离级别下使用。

阅读更多

旋转有序数组上二分查找

问题分析

在旋转排序数组上应用二分查找,若数组中的元素都不相同,则可以按下图分析:

阅读更多

百度后台开发笔试

1.一个长为n的正整数数组,里面的每个元素不是0就是5。从数组中选出若干数字组成一个数字,要求能整除90。求满足条件的最大的数字,不存在就输出-1。

1
2
3
4
5
输入:
12
5 5 5 5 5 5 0 0 5 5 5 5
输出:
55555555500

阅读更多

美团8.29后端笔试

1. 小团的神秘暗号

一字符串为其加上一个头部和尾部进行加密。头部至少包含一个“MT”的子序列,且以T结尾。尾部至少包含一个“MT”的子序列,且以M开始。求得取出头部、尾部后的最大字符串。

阅读更多

Redis系列之缓存不一致

缓存不一致指的是缓存中的数据与数据库中的数据发生了不一致的情况。一般常用的缓存方案有两种:

阅读更多

字节跳动2021后端笔试第二场08.16

1. 统计二叉树中的叶子节点数

给出二叉树中的前序和中序遍历,求出二叉树中有多少个叶子节点。

阅读更多

2021美团正式批笔试8.15

1. 特殊的逆序对

如果一个数的四倍是它的逆序数,那么这两个数就构成了一个逆序数对。给一个正整数n,求不大于n的正整数构成的逆序数对。

阅读更多

SSH连接虚拟机Ubuntu

1. 查看虚拟机ip地址

在Ubuntu下输入命令查看ip地址:

阅读更多

背包问题解析

1. 0-1背包

背包的能容纳的最大重量为W,有N个物品,每个物品的重量为wi,价值为vi。求背包可容纳的物品的最大价值。

阅读更多

Redis缓存雪崩、穿透、击穿

1.缓存雪崩了解吗

​ Redis中数据同一时刻大面积失效,那一瞬间Redis和没有一样,此时如果存在大量请求,会直接打到MySql数据库上,MySql数据库会瘫痪,无法提供服务,整个系统就崩掉了。

阅读更多