面试1

1.STL的六大组件

容器: 分为向量(vector),双端队列(deque),表(list),队列(queue),堆栈(stack),集合(set),多重集合(multiset),映射(map),多重映射(multimap)

算法:

迭代器:

仿函数:

适配器:

配置器:

整理来自:http://www.cnblogs.com/welen/articles/3533008.html

2.用过哪些qt的库

<QMainWindow> , <QPushButton> , <QTime> ,<QDialog> , <QPainter>

QDialog类是对话框窗口的基类

 

QMainWindow类提供一个有菜单条、工具栏、状态条的主应用程序窗口(例如:开发Qt常用的IDE-Visual Studio、Qt Creator等)。

 

一个主窗口提供了构建应用程序的用户界面框架。Qt拥有QMainWindow及其相关类来管理主窗口。

QPushButton是一个按键类。

QTimer是一个计时器类 
它的使用分三步,创建对象,连接signal和slot函数,start()

 

QPainter类低水平的绘制,例如在窗口部件上。

绘制工具为做到绝大部分绘制图形用户界面程序的需要提供了高度优化的函数。QPainter可以绘制从简单的直线到像饼图和弦这样的复杂形状。它也可以绘制排列的文本和像素映射。通常,它在一个“自然的”坐标系统中绘制,但是它也可以在视和世界转换中做到这些。

3.qt可视化项目中的通信主要是怎么实现的

通过型号槽机制

4.具体描述一下你们linux项目的内容,perf工具做过哪些东西

5.描述一下深度算法

首先说明图的存储方式:

图的存储结构有两种:一种是基于二维数组的邻接矩阵表示法。

            另一种是基于链表的的邻接表。

分析深度优先遍历:
    从图的某个顶点出发,访问图中的所有顶点,且使每个顶点仅被访问一次。这一过程叫做图的遍历。

    深度优先搜索的思想:

      ①访问顶点v;
      ②依次从v的未被访问的邻接点出发,对图进行深度优先遍历;直至图中和v有路径相通的顶点都被访问;
      ③若此时图中尚有顶点未被访问,则从一个未被访问的顶点出发,重新进行深度优先遍历,直到图中所有顶点均被访问过为止。

 

6.tcp三次握手协议

首先解释几个信号:

 

SYN表示建立连接,

 

FIN表示关闭连接,

 

ACK表示响应,

 

PSH表示有 DATA数据传输,

 

RST表示连接重置。

 

 

第一次握手:主机A发送位码为syn=1,随机产生seq number=1234567的数据包到服务器,主机B由SYN=1知道,A要求建立联机;

 

 第二次握手:主机B收到请求后要确认联机信息,向A发送ack number=(主机A的seq+1),syn=1,ack=1,随机产生seq=7654321的包;

 

 第三次握手:主机A收到后检查ack number是否正确,即第一次发送的seq number+1,以及位码ack是否为1,若正确,主机A会再发送ack number=(主机B的seq+1),ack=1,主机B收到后确认seq值与ack=1则连接建立成功。

 

 完成三次握手,主机A与主机B开始传送数据。

 

posted @ 2018-03-03 11:45  陈焕彪  阅读(126)  评论(0编辑  收藏  举报