赞
踩
盛大笔试:
1.求输出结果:
- #include "iostream"
- #include "vector"
- using namespace std;
-
- int main(void)
- {
- vector<int>array;
- array.push_back(100);
- array.push_back(300);
- array.push_back(300);
- array.push_back(500);
- vector<int>::iterator itor;
- for(itor=array.begin();itor!=array.end();itor++)
- {
- if(*itor==300)
- {
- itor = array.erase(itor);
- }
- }
- for(itor=array.begin();itor!=array.end();itor++)
- {
- cout<<*itor<<" ";
- }
- return 0;
- }
-
vector在erase之后,指向下一个元素的位置,其实进行erase操作时将后面所有元素都向前移动,迭代器位置没有移动。itor=array.erase(itor) erase返回下一个元素的地址,相当于给itor一个新值。这里,第一个300被删除后,迭代器指向第二个300,然而随后就有itor++,就指向500了。
2、在win32平台下,以下哪种方式无法实现进程同步?A
A、Critical Section B、Event C、Mutex D、Semaphore
3、按照升序排列的一组数据123456798,下面哪种排序法在空间和时间上最优?C
A、快速排序 B、冒泡排序 C、插入排序 D、堆排序
快排在基本有序的时候效率最低,为O(n2),冒泡一直是O(n2),插入排序在有序的时候最快,这个题目中只要比较9次,交换一次就完成了排序。最差的时候为逆序的时候。堆排序和归并排序相对来说很稳定。
4、TCP的关闭过程,说法正确的是(D)
A、TIME_WAIT状态称为MSL(Maximum Segment Lifetime)等待状态 (2MSL)
B、对一个established状态的TCP连接,在调用shutdown函数之前调用close接口,可以让主动调用的一方进入半关闭状态
C、主动发送FIN消息的连接端,收到对方回应ack之前不能发只能收,在收到对方回复ack之后不能发也不能收,进入CLOSING状态(进入TIME_WAIT)
D、在已经成功建立连接的TCP连接上,如果一端收到RST消息可以让TCP的连洁端绕过半关闭状态并允许丢失数据。
5、操作系统的一些特别端口要为特定的服务做预留,必须要root权限才能打开的端口描述正确的是(C)
A、端口号在64512-65535之间的端口
B、所有小于1024的每个端口
C、RFC标准文档中已经声明特定服务的相关端口,例如http服务的80端口,8080端口等
D、所有端口都可以不受权限限制打开
6、以下描述正确的是
A、虚函数是可以内联的,可以减少函数调用的开销提高效率
B、类里面可以同时存在函数名和参数都一样的虚函数和静态函数
C、父类的析构函数是非虚的,但是子类的析构函数是虚的,delete子类对象指针会调用父类的析构函数
D、以上都不对
C为对的,即使父类和子类都没有加上virtual,还是会照常调用父类的析构函数的。
A为正确的,可以参考:http://blog.csdn.net/zy1691/article/details
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。