面试知识总结
数据库相关
SQL通配符
交集、并集、差集
-
交集(
intersect
)= {A∩B}:# 示例代码 # 以下代码,返回同时存在于表A和表B中的记录,即:表A和表B的交集 select * from A intersect select * from B
然而,MySQL并不支持
intersect
关键字,因此我们可以使用内联结inner join
关键字来实现交集(注意:inner join和join是等价的) -
并集(
union
)= {A∪B}:
union 和 union all
的区别在于,union会去除重复的记录,而union all不会,这两个关键字MySQL均支持 -
差集(
minus 或 except
)= {A - B}:
minus 和 except
都可以实现求差集运算,但是MySQL 中并不支持这两个关键字,然而,在MySQL中,可以使用外联结来实现相同的功能
比如:
要查询在表A而不在表B中的记录,可以用:select * from A left join B using(id, name,age) where B.name=NULL; # 上面语句等价于 select * from B right join A using(id,name,age) where B.name=NULL;
上面查询中,using可以用on代替,例如:
select * from A left join B using(id, name,age) where B.name=NULL; # 等价于以下表示 select * from A left join B on A.id=B.id and A.name=B.name and A.age=B.age where B.name=NULL;
表示两个表中共有的字段,但是on的写法过于繁琐,因此一般都用using
SQL Server中where子句中,between A and B使用闭区间[A,B]
# 从表A中查询id>=4且id<=8的记录
select * from A where id between 4 and 8;
数据结构相关
四类基本逻辑结构
根据数据元素之间的关系,有四类基本逻辑结构分别是
- 集合结构:结构中的数据元素之间除了同属于一个集合的关系外,无其他版任何关系。
- 线性结构:结权构中的数据元素之间存在着一对一的线性关系。
- 树状结构:结构中的数据元素之间存在着一对多的层次关系。
- 图状结构或网状结构:结构中的数据元素之间存在着多对多的任意关系。
常见的4种数据存储结构
-
顺序存储结构:借助数据元素之间的相对位置来表示元素之间的逻辑结构.(vector动态数组、 deque双端队列、stack栈容器、queue队列容器)
-
链式存储结构:借助数据元素之间的元素的指针表示数组元素的逻辑结构.
-
散列存储结构:顺序存储+散列.
-
索引存储结构:顺序存储+索引.
广义表操作
GetHead
是取广义表的第一个元素,要去掉一个"()",
而
GetTail
是除掉第一个元素剩下的元素组成的广义表,也就是除掉第一个元素,再把剩余的元素"()"。
举个例子:
GetHead【((a,b),(c,d))】→(a,b)
GetHead【GetTail【((a,b),(c,d))】】→GetHead【((c,d))】→(c,d)
GetHead【GetTail【GetHead【((a,b),(c,d))】】】→GetHead【GetTail【(a,b)】】→GetHead【(b)】→b
GetTail【GetHead【GetTail【((a,b),(c,d))】】】→GetTail【GetHead【((c,d))】】→GetTail【(c,d)】→(d)
计算机网络相关
小知识
- 网卡实现的主要功能是数据的封装与解封、链路管理、编码与译码。
- 双绞线最长传输距离为100米,超过100米的话就需要使用中继器
- TCP/IP工作在传输层,ICMP工作在网络层,ICMP是TCP/IP的一个子协议
- 计算机网络中常用的三种有线传输介质是:双绞线、同轴电缆、光纤
IP地址的分类和各自范围
-
类IP地址
一个A类IP地址是指, 在IP地址的四段号码中,第一段号码为网络号码,剩下的三段号码为本地计算机的号码。A类IP地址中网络的标识长度为8位,主机标识的长度为24位,A类网络地址数量较少,有126个网络,每个网络可以容纳主机数达1600多万台。
A类IP地址 地址范围1.0.0.1到127.255.255.254。
-
B类IP地址
一个B类IP地址是指,在IP地址的四段号码中,前两段号码为网络号码。B类IP地址中网络的标识长度为16位,主机标识的长度为16位,B类网络地址适用于中等规模的网络,有16384个网络,每个网络所能容纳的计算机数为6万多台。
B类IP地址地址范围128.0.0.1-191.255.255.254。
-
C类IP地址
一个C类IP地址是指,在IP地址的四段号码中,前三段号码为网络号码,剩下的一段号码为本地计算机的号码。C类IP地址中网络的标识长度为24位,主机标识的长度为8位,C类网络地址数量较多,有209万余个网络。适用于小规模的局域网络,每个网络最多只能包含254台计算机。
C类IP地址范围192.0.0.1-223.255.255.254。
-
D类IP地址
D类IP地址在历史上被叫做多播地址,即组播地址。在以太网中,多播地址命名了一组应该在这个网络中应用接收到一个分组的站点。多播地址的最高位必须是“1110”,范围从224.0.0.0到239.255.255.255。
-
E类IP地址
E类IP地址中是以“11110”开头,E类IP地址都保留用于将来和实验使用。
C/C++相关
各种数据类型占用字节数
- int: 4字节
- float: 4字节
- double: 8字节
- char: 8字节
评论区