今天去面试一家公司,填了一份“户口调查”,然后就是做一份面试题,题目很简单
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最后让我回去准备准备下次来直接做笔试题就可以了,看来我笔试差了太多,能想还是不够的,还要写出来想的东西