您的位置:首页 > 编程语言 > C语言/C++

C++面试题总结

2016-07-17 22:39 281 查看
1.MVC含义

(模型、视图、控制器)

M-Model   V-View  C-Control  业务逻辑-数据-界面 显示分离的方法组织
C是用来确保M与V的同步

2.遍历D盘

思路:加载D盘QString strTemp;

1.使用QFileInfo info=entryInforList(QDir::Dirs | QDir::Files);
2.if(info.at(i).isDir)//如果是Dir目录
获取当前路径
QString=strTemp+"/"info.at(i).fileName;
遍历
3.else 
info.at(i).isFile
打印文件名
判断当前路径

3.实现进度条的方法

方法一:QProgressBar
方法二:QProgressDialog

4.递归1-N的数.(N为10亿,实现代码优化)

5.产生随机数的模板
int iSeed=1;
int uniform_init(int a,int b)
{
if(iSeed)
{
iSeed=0;
srand((unsigned int )time(NULL));
}
return (rand()/((RAND_MAX+1.0)/(b-a+1.0)+a))
}

6.QT如何实现壁纸的换肤
1.换肤选图片窗口,使用QPushButton中setStyleSheet,对图片进行加载
2.点击选择图片后,触发信号
3.主窗口,创建换肤窗口的指针,主窗口接收换肤窗口指针信号进行QPlatte换肤

步骤1).QString strqss="background-image:url(:/img/small_"+btnText[i]+".png)";
使用setStyleSheet("background:"+"url");
步骤2).QPalette palette;
palette.setBrush(QPalette::Background,QBrush(QPixmap(":/image/big_spring.png")));
setPalette(palette);

7.两个有序链表合并为 一个链表,依然有序

8.设计一个算法,找出二叉树上任意两个结点的最近共同父节点。要求复杂度低于平方

9.求一个区域中的最大值,要求复杂度尽可能最低,O(n)最好

10.求一个正整数域上的闭区间,寻找该区间内所有素数(质数),并求复杂度

11.链表,队列,双向链表,栈的实现

12.重载输入、输出

13.已知strcpy函数原型:char *strcpy(char *strDest,char *strSrc),不调用字符串库函数,
实现strcpy函数

14.面向对象的三大基本特征
封装、继承、多态  重载、重写的理解

15.new delete 与malloc free的联系和区别

16.数组与指针的区别

17.文件中有一组整数,要求排序后输出到另外一个文件中(ps:数据结构中几个排序一定要熟悉)

18.写一个在一个字符串(n)中寻找一个子串(m)第一个位置的函数

19.如何判断一个单链表是有环的?

20.static和const关键字的运用和作用

21.什么是拷贝构造函数

22.面向对象设计的优点

23.strlen和sizeof的区别

24.二叉树的前序遍历

25.不允许使用系统时间,写出一个随机数生成函数

26.指针和引用的区别

27.线程池的机制和实现

28.网络通信,HTTP的理解

29.加密和解密机制

30.从键盘上输入一系列整数,以输入-1结束,将输入的数据保存到文件data.txt中

31.字符串倒叙

32.堆和栈的区别

33.异步通讯和同步通讯的区别

34.TCP协议的三次握手,协议的作用

35.双向循环链表的增删查操作

36.两个字符串数组进行比较

37.设计模式和技巧(代理模式、装饰模式、桥接模式、观察者模式)

38.类内枚举类型

39.模板编写泛型代码(类模板)

40.异常机制、堆栈的释放与清理

41.多线程编程,原子操作(多线程日志记录类)

42.软件工程学(软件周期模型)

43.MySQl数据库,多表联查

44.请写一个算法删除数组[1,1,1,2,2,2,2,2,7,7,1,5,5,5,0]中重复的数字,
使其转变成1,2,7,1,5,0

46.使用udp和tcp进程网络传输,为什么tcp能保证包是发送顺序,而 udp无法保证?
1).主机每次发送数据时,TCP就给每个数据包分配一个序列号并且在一个特定的时间内
等待接收主机对分配的这个序列号进行确认,如果发送主机在一个特定时间内没有收到接收主机的确认,
则发送主机会重传此数据包。接收主机利用序列号对接收的数据进行确认,
以便检测对方发送的数据是否有丢失或者乱序等,接收主机一旦收到已经顺序化的数据,
它就将这些数据按正确的顺序重组成数据流并传递到高层进行处理。
2).UDP不提供可靠的数据传输!一个端口发往同一个目的端口的几个数据包的顺序可能会出现混乱
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: