c/c++面试题
今天去面试一家公司,填了一份“户口调查”,然后就是做一份面试题,题目很简单
1、改错题,给一段程序,指出错误
2、Socket阻塞和非阻塞编程,非阻塞的实现原理
3、TCP/IP与OSI七层模型
TCP/IP参考模型共有五层:应用层、传输层、互联网层和主机至网络层。
与OSI参考模型相比,TCP/IP参考模型没有表示层和会话层。互联网层相当于OSI模型的网络层,主机至网络层相当于OSI模型中的物理层和数据链路层
4、用c实现快速判断一个数是不是2的n次方
5、写出一个排序算法其空间复杂度及时间复杂度
6、建立一个2叉树并实现一个遍历算法
题目虽然简单,还是挂了,主要还是因为准备不够,改错题没改对,眼光不锐利啊。Socket这个东西我还是不太清楚它的原理。七层协议还是记得,TCP/IP的就不记得了。2的n次方这个还是很easy的。排序我就举了冒泡排序,空间复杂度O(n),时间复杂度O(n^2)。这个题答差了,我写的空间复杂度是n,把O()给丢了,时间复杂度不知道为什么就写了个logn……郁闷,其实我知道应该是n方。二叉树我知道是怎么回事,但是不记得用c或者c++怎么写了,说了下前序遍历,写了个递归算法伪代码,也没写出程序。HR最后让我回去准备准备下次来直接做笔试题就可以了,看来我笔试差了太多,能想还是不够的,还要写出来想的东西
相关文档:
在编程的过程中,文件的操作是一个经常用到的问题,在C++Builder中,可以使用多种方法对文件操作,下面我就按以下几个部分对此作详细介绍,就是:
1、基于C的文件操作;
2、基于C++的文件操作;
3、基于WINAPI的文件操作;
4、基于BCB库的文件操作;
5、特殊文件的操作。
壹、基于C的文件操作
在A ......
排序算法是一种基本并且常用的算法。由于实际工作中处理的数量巨大,所以排序算法对算法本身的速度要求很高。
而一般我们所谓的算法的性能主要是指算法的复杂度,一般用O方法来表示。在后面我将给出详细的说明。
对于排序的算法我想先做一点简单的介绍,也是给这篇文章理一个提纲 ......
/加了下面两个头文件,是为了在Win32工程中使用MFC的特性!
#include <afx.h>
#include <afxwin.h>
#include "stdio.h"
#include "conio.h"
////加了下面两句,是为了能够用string(basic_string类型)
#include <string>
using namespace std;
int main(int argc, char* argv[ ......