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不提供可靠的数据传输!一个端口发往同一个目的端口的几个数据包的顺序可能会出现混乱
(模型、视图、控制器)
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不提供可靠的数据传输!一个端口发往同一个目的端口的几个数据包的顺序可能会出现混乱
相关文章推荐
- Path Sum
- C语言的体系结构--main函数存在的必然性(听杨力祥老师的课)
- C语言的体系结构--main函数存在的必然性(听杨力祥老师的课)
- C++内存管理
- 配置eclipse编写C++程序
- 进程分配
- C++之友元函数
- C语言指针
- C++引用示例&
- C++用mysql自带的头文件连接数据库
- codeforces 527C Glass Carving
- c++11 std::async使用注意
- usaco 2.2.2 subset
- 关于C++ 顶层const和底层const对拷贝操作的影响
- 高级指针
- c++22、string虚假泄露问题,以及简单string类实现
- 必看:学习C语言的思路,让学习不再感到有压力!
- 结构体练习题
- 山东理工OJ 1171 C语言实验——保留整数
- 山东理工OJ 1162 C语言实验——保留字母