C++
Web
STL
指针
链表
虚函数
运算符
智能指针
阿里巴巴的2014实习生面试刚刚结束。饱食终日无所用心,抱着试试看的态度,去游荡了一圈,把经历分享在这里,难免言不及义看官见谅。我面试C++后台开发、前端开发。在这里总结一下经验教训。
AES
BB84
DES
DNS
PEM
RSA
网络
密码
密码学简介
- 加密:明文经密钥为参数的函数变换,输出密文
- 密码编码学、密码分析学、密码术
- Kerckhoff原则:所有算法必须是公开的,只有密钥是保密的
- 含糊的安全性(security by obscurity):使算法保持秘密
- 工作因子:密码分析者面对的密钥的复杂性,对于穷举搜索,为密钥长度的指数量级
- 密码分析问题
- 只有密文
- 已知明文(有了一些相匹配的密文和明文)
- 选择明文(能够加密一些自己选择的明文)
DNS
Web
POP3
RAID
SMTP
UDP
XML
网络
IMAP
DNS-域名系统
- DNS(Domain name system):RFC 1034、1035,调用解析器(resolver)将名字映射成IP地址
DNS名字空间
- DNS名字空间:internet被分为200多个顶级域,每个域被分为若干子域,子域又被进一步划分,以此类推。
- 顶级域有两种:通用域和国家域
- 通用域包括com(商业的)、edu(教育性机构)、int(国际性组织)、mil(美国军队)、net(网络供应商)、org(非营利性组织)、biz(商贸)、info(信息)、name(人们的名字)、pro(职业)、aero(航空业)、coop(合作社)、museum(博物馆)
- 国家域定义在ISO 3166中。
资源记录
- 每个域都有一组与它相关联的资源记录;当解析器把域名传递给DNS时,DNS所返回的是与该域名相关联的资源记录。
- 每条资源记录是一个5元组:Domain_name(域名)、Time_to_live(生存期)、class(类别)、type(类型)、value(值)
名字服务器
- 权威记录:来自于管理该记录的权威机构,因此总是正确的
- 递归查询:当解析器接收到一个域名查询时,它将该查询传递给本地的一个名字服务器,如果被查询域名落在该名字服务器的管辖范围内,那么返回权威的资源记录;如果本地没有关于它的信息,那么本地名字服务器向顶级名字服务器发送一条查询此域的消息。
- LDAP(lightweight directory access protocol,轻量级目录访问协议):RFC 2251,定位到一般的对象,如人员、资源、服务等。
IP
LAN
MAC
TCP
UDP
WAN
网络
路由
传输服务
向上层提供的服务
- 传输实体:传输层内部,利用网络层提供的服务,向它的用户提供高效、可靠和性价比合理的服务的硬件/软件
- 传输服务提供者、传输服务用户
DHCP
Dijkstra
IP
LAN
TCP
UDP
WAN
网络
路由
拥塞控制
服务质量
网络层的设计要点:
- 存储-转发分组交换
- 向传输层提供服务:独立于路由器技术、路由器数量类型拓扑关系对传输层不可见、跨越多个LAN和WAN进行统一编址
- 无连接服务的实现:数据报、数据报子网
- 面向连接服务的实现:虚电路(VC,virtual circuit)、虚电路子网;要求建立电路、路由器建立表项、分组只含VC号而不需目标和源地址、路由失效将终止、容易实现服务质量和拥塞控制
IP
LAN
MAC
WAN
蓝牙
路由
多路复用
介质访问控制子层(MAC,medium access control):用于确定多路访问信道的下一个使用者,属于数据链路层底下部分。用于LAN中,而WAN是用点对点连接(卫星除外)。
IP
TCP
网络
路由
检错码
纠错码
滑动窗口
设计要点
- 为网络层提供服务:无确认的无连接服务、有确认的无连接服务、有确认的面向连接服务
- 处理传输错误
- 流控制:基于反馈的流控制、基于速率的流控制