一、计算机基础

自然连接

属性列相同只显示一次

属性列相同的行相同的记录

A B C A C D
a b c a c d
b a d d f g
c d e b d g
d f g
  • AI芯片的技术架构GPU、FPGA、ASIC、TPU
  • POP3,邮件接收协议,缺省端口110
  • SMTP,邮件发送协议,缺省端口25
  • HTTP,超文本传输协议,缺省端口80
  • IMAP,交互式邮件存取协议,缺省端口143

1、先找出从未在右边出现过的属性,必然是候选键之一。

2、以该属性位基础,根据依赖集依次扩展,看能否遍历所有属性,将无法遍历的加入候选键中。

操作系统

  • PV操作
  • Passeren阻塞 Vrijgeven唤醒
  • 头只有V无P
  • 尾只有P无V
  • 选AC

文件管理

一级间接索引,保存一个索引表,代表5个地址项,对应5个物理块

二级间接索引,保存5个索引表,每个索引表代表5个物理块

最大长度:6 * 4 + 1024 * 4 + 1024 * 1024 * 4 = 4198424

一级间接索引是一个磁盘索引块4k,每个地址项大小4字节,所以一共4*1024B/4B=1024块地址项

直接索引:对应逻辑块号0-5

一级间接索引:6-1029

二级间接索引:1030-

计算机网络

二、信息系统基础

三、信息安全

四、软件工程

五、系统分析

六、系统设计

七、数据库

八、系统架构设计

九、软件可靠性设计

4/5/6/7/8 案例题

十、大数据架构设计

十一、未来信息技术

十二、运筹学

十三、知识产权

十四、案例分析

架构设计方向

a需求、b安全性、c可用性、d需求、e可用性、f性能、g可修改、h安全性、i可修改、j性能、k需求、l需求

论文

质量属性

性能、安全性、可修改性,可用性

质量特性

敏感点:为了实现某种特定的质量属性,一个或多个构件所具有的特性。

权衡点:指影响多个质量特性,并对多个质量特性来说都是敏感点的质量特性。

风险:不以标准术语出现。某些做法有一些隐患可能导致一些问题。

非风险:某些做法是可行的,可接受的。

Redis

string、hash、set、zset、list

为了保证数据的一致性,读写数据的基本操作步骤为:

读数据

1、根据key读缓存;

2、读取成功则直接返回;

3、若key不在缓存中,根据key读数据库;

4、读取成功后,写缓存;

5、成功返回。

写数据

1、根据key值写数据库;

2、成功后更新缓存key值;

3、成功返回。

过期策略

策略 描述 优点 缺点
定时删除 在设置key的过期时间的同时,为该key创建一个定时器,让定时器在key的过期时间来临时,对key进行删除 保证内存被尽快释放 1、若过期key很多,删除这些key会占用很多的CPU时间,在CPU时间紧张的情况下,会延误业务的执行
2、定时器的创建耗时,若为每一个设置过期时间的key创建一个定时器(将会有大量的定时器产生),性能影响严重
惰性删除 key过期的时候不删除,每次从数据库获取key的时候去检查是否过期,若过期,则删除,返回null。 删除操作只发生在从数据库取出key的时候发生,而且只删除当前key,对CPU时间的占用比较少。 若大量的key在超出超时时间后,很久一段时间内,都没有被请求过,那么可能发生内存泄露(无用的垃圾占用了大量的内存)
定期删除 每隔一段时间执行一次删除过期key操作 1、通过限制删除操作的时长和频率,来减少删除操作对CPU时间的占用(避免"定时删除"的缺点)
2、定期删除过期key(避免"惰性删除"的缺点)
1、在内存使用方面,不如"定时删除"
2、在CPU时间方面,不如"惰性删除"

内存淘汰机制

机制 描述
volatile-lru
最近最少使用
从已设置过期时间的key中,移出最近最少使用的key进行淘汰
volatile-lfu
最不经常使用
从已设置过期时间的key中选择最不经常使用的进行淘汰。
volatile-random
随机淘汰算法
从已设置过期时间的key中随机选择key淘汰。
volatile-ttl
生存时间淘汰
从已设置过期时间的key中,移出将要过期的key。
allkeys-lru 从所有key中选择最近最少使用的进行淘汰
allkeys-lfu 从所有key中选择最不经常使用的进行淘汰。
allkeys-random 从所有key中随机选择key进行淘汰

数据持久化

RDB内存快照(RedisDataBase) AOF日志(Append Only Flie)
说明 把当前内存中的数据集快照写入磁盘(数据库中所有键值对数据)。恢复时是将快照文件直接读到内存里。 通过持续不断地保存Redis服务器所执行的更新命令来记录数据库状态,类似mysql的binlog。恢复数据时需要从头开始回放更新命令。
磁盘刷新频率
文件大小
数据恢复效率
数据安全

Redis缓存异常问题

1、缓存穿透

2、缓存雪崩

3、缓存击穿