返回

绿盟科技 2021 技术面试题

第1题:

作为一名技术,在接到客户电话时首先要做什么?该用什么样的典范语言? 



第2题:

作为一名技术,出差时你认为必须要带的东西有哪些?(至少三样,笔记本除外) 



第3题:

迈克和托德的薪水相差 $21 。迈克的薪水比托德多 $20 。迈克的薪水是多少?托德的薪水是多少?(是微软公司IT技术专家碰到的一次面试题。 )



第4题:

英文描述为什么选择中联绿盟?你的短期和长期的职业目标是什么?你想要有什么的成就?



第5题:

描述tcp的三次握手,写出syn ack的关系。



三次握手:
握手过程的第一个段的代码位设置为SYN,序列号为x,表示开始一次握手。接收方收到这个段后,向发送者回发一个段。代码位设置为SYN和ACK,序列号设置为y,确认序列号设置为x+1。发送者在受到这个段后,知道就可以进行TCP数据发送了,于是,它又向接收者发送一个ACK段,表示,双方的连接已经建立。
Client --> 置SYN标志 序列号 = J,确认号 = 0 ----> Server
Client <-- 置SYN标志 置ACK标志 序列号 = K, 确认号 = J + 1 <-- Server
Clinet --> 置ACK标志 序列号 = J + 1,确认号 = K + 1 --> Server
a 发起方 b接受方
a发送一个SYN包给b,b回一个[SYN,ACK]给b,a再回一个ACK包给b;

数据交换:
a ----》b
a 发送数据完毕,(PSH,ACK) aseq = x,ack=y,datalen = z
b 接受到以后发送(ACK)  bseq = aack, back = aseq + alen, datalen=blen
b 发送数据完毕  (PSH,ACK)bseq = bseq + blen,back = back,datalen = blen
a  确认接受     (ACK)   aseq = back ,aack = bseq + blen
注:PSH标志指示接收端应尽快将数据提交给应用层。从我协议分析的经历来看,在数据传输阶段,几乎所有数据包的发送都置了PSH位;而ACK标志位在数据传输阶段也是一直是置位的

在数据传输阶段,按照常理应用层数据的传输是这样的:(我们假定建立连接阶段Client端最后的确认包中序列号 = 55555, 确认号 = 22222)
Client --> 置PSH标志,置ACK标志 序列号 = 55555, 确认号 = 22222,数据包长度 = 11 ---> Server
Client <-- 置ACK标志,序列号 = 22222, 确认号 = 55566 (=55555 + 11),数据包长度 = 0 <--- Server
Client <-- 置PSH标志,置ACK标志 序列号 = 22223, 确认号 = 55566,数据包长度 = 22 <--- Server
Client --> 置ACK标志,序列号 = 55566, 确认号 = 22244(=22222+22),数据包长度 = 0 ---> Server

 




第6题:

描述tcp/udp的区别及优劣。描述p2p机制,及其发展前景。 

1、UDP支持单播、组播和广播,而TCP不支持广播

2、基于连接与无连接
3。对系统资源的要求(TCP较多,UDP少)
4。UDP程序结构较简单
5。流模式与数据报模式
6。TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证另外结合GPRS网络的情况具体的谈一

对等网络(P2P)有3种主要的组织结构:分布式哈希表(DHT)结构、树形结构、网状结构。P2P技术已经延伸到几乎所有的网络应用领域,如分布式科学计算、文件共享、流媒体直播与点播、语音通信及在线游戏支撑平台等方面。现在人们已经开始将重心转入到覆盖层网络的节点延时聚集研究、覆盖网之间(Inter-Overlay)优化研究、P2P支撑平台研究以及P2P安全研究等方面。




第7题:

排序,用冒泡法或快速排序法,并分析时间/空间复杂度。

插入排序:主要有两种插入排序方法:直接插入排序和希尔排序。   

交换排序:冒泡排序、快速排序   

选择排序:直接选择排序和堆排序

稳定的

冒泡排序(bubble sort) — O(n2)   鸡尾酒排序 (Cocktail sort, 双向的冒泡排序) — O(n2)   插入排序 (insertion sort)— O(n2)   桶排序 (bucket sort)— O(n); 需要 O(k) 额外 记忆体   计数排序 (counting sort) — O(n+k); 需要 O(n+k) 额外 记忆体   归并排序 (merge sort)— O(n log n); 需要 O(n) 额外记忆体   原地归并排序 — O(n2)   二叉树排序 (Binary tree sort) — O(n log n); 需要 O(n) 额外记忆体   鸽巢排序 (Pigeonhole sort) — O(n+k); 需要 O(k) 额外记忆体   基数排序 (radix sort)— O(n·k); 需要 O(n) 额外记忆体   Gnome sort — O(n2)   Library sort — O(n log n) with high probability, 需要 (1+ε)n 额外记忆体

 不稳定

选择排序 (selection sort)— O(n2)   希尔排序 (shell sort)— O(n log n) 如果使用最佳的现在版本   Comb sort — O(n log n)   堆排序 (heapsort)— O(n log n)   Smoothsort — O(n log n)   快速排序 (quicksort)— O(n log n) 期望时间, O(n2) 最坏情况; 对於大的、乱数串列一般相信是最快的已知排序 




第8题:

树的深度优先遍历。 

深度优先搜索法是树的先根遍历的推广,

广度优先搜索是树的按层次遍历的推广,二叉树的深度优先遍历的非递归的通用做法是采用栈,广度优先遍历的非递归的通用做法是采用队列。

 

 




第9题:

有三顶红帽子两顶白帽子,有三个人带其中的三顶,每个人只能看到其它人的帽子,A说:我不知道我自己是什么颜色,B想了想也说:我也不知道我是什么颜色,C说我知道我是什么颜色了。



第10题:

主观题,说一下最近一年读的书,和你的收获。 



第11题:

你曾经做过的项目,包括业余自己做的,分析收获。



第12题:

你对绿盟的认识。 



第13题:

一个绘图程序要完成显示、打印功能,同时图形形状多种(比如三角形、圆),要求用UML或C++来描述对象,并写出操作方法。


相关知识