2021年6月份,TPLINK22提前批网络安全算法工程师面试题3道

1 TCP和UDP的特点

TCP:面向连接
TCP面向连接通信,所以握手过程会消耗资源,过程为可靠连接,不会丢失数据,适合大数据量交换 ;“面向连接”就是在正式通信前必须要与对方建立起连接。

TCP协议能为应用程序提供可靠的通信连接,使一台计算机发出的字节流无差错地发往网络上的其他计算机,对可靠性要求高的数据通信系统往往使用TCP协议传输数据。

TCP支持的应用协议:Telnet(远程登录)、FTP(文件传输协议)、SMTP(简单邮件传输协议)。

UDP:面向非连接的
UDP面向非可靠连接,会丢包,没有校验,速度快,无须握手过程;"面向非连接”就是在正式通信前不必与对方先建立连接,不管对方状态就直接发送。

UDP支持的应用协议:NFS(网络文件系统)、SNMP(简单网络管理系统)、DNS(主域名称系统)、TFTP(通用文件传输协议)等。

总结:

TCP:面向连接、传输可靠(保证数据正确性,保证数据顺序)、用于传输大量数据(流模式)、速度慢,建立连接需要开销较多(时间,系统资源)。
UDP:面向非连接、传输不可靠、用于传输少量数据(数据包模式)、速度快。

2 25匹马 5个跑道,每次只能跑5匹,至少需要多少次才能选出最快的前3匹?

将马分成A、B、C、D、E五组。

第1-5次比赛:各组分别进行比赛,决出各组名次,取每组前三名
A1、A2、A3

B1、B2、B3

C1、C2、C3

D1、D2、D3

E1、 E2、E3

第6次比赛:A1、B1、C1、D1、E1,即每组的第一名进行比赛;
假设得到的排名结果是A1、B1、C1、D1、E1;其中A1是跑的最快的,那么A组A2、A3,B组的B1、B2以及C组的C1都是有机会进入前三的,C2没有希望冲进前3了,因为C1是比赛的名次已经是第3名了,此外D组E组都没有希望进入前3。现在已经知道A1肯定是第1名,剩下A2、A3、B1、B2、C1是有希望冲进前三的,那么让他们再进行一场比赛即可;

第7次比赛:A2、A3、B1、B2、C1比赛求出第2,第3即可。
所以公共需要7厂比赛,就可以选出最快的前3匹马;

3 用rand5实现rand7

rand5(5):等概率生成整数[1, 2, 3, 4, 5]

rand5(7): 等概率生成整数[1, 2, 3, 4, 5, 6, 7]

思路:

用(rand5(5) - 1)构造等概率整数数组:[0, 1, 2 , 3, 4],
用(rand5(5) - 1)*5构造整数数组:[0, 5, 10, 15, 20],
上面的两个整数组可以构造等概率的新数组:[0, 1, 2, 3, 4, 5, 6, 7, … , 24];
(如果第2个数组选择2倍或者3倍,4倍则无法构造新的等概率数组)

选择新数组[0, 1, 2, 3 … , 20]21个元组即可构造等概率的数组[1, 2, 3, 4, 5, 6, 7]
参考代码:
2021年6月份,TPLINK22提前批网络安全算法工程师面试题3道_第1张图片

七月在线品牌月

福利:每天1 门 AI 爆款课 1 分秒杀!

时间:7 月 1 日-7 月 31 日

时长:每个课秒杀时长为 24h !

本周 1 分钱秒杀课程明细见下图,扫码进入活动主会场 ↓↓

2021年6月份,TPLINK22提前批网络安全算法工程师面试题3道_第2张图片

你可能感兴趣的:(算法,人工智能,机器学习,面试)