[10.10] 和协航电笔试

应聘VC软件开发。这是做过的最有特点的一份笔试题目,分成几个方面,每个方面都出几道题,考查特别全面,许多方面一点儿不会,只能空下。共有以下一个方面:

  1. 基础
    各种指针问题,sizeof,排序算法,继承与虚函数。
    2.VC/MFC
    GUI、文件
  2. 数据库
    写一个SQL语句
  3. 网络通信
    WinSokect编程,有几种套接字。
  4. 多线程
    线程同步方法有几种
    多线程环境下对double变量L加1。
    创建和终止线程
  5. STL
    考了vector和list的区别,和list删除数据中迭代器变化问题。
    vector和list的区别《vector与list区别

vector为存储的对象分配一块连续的地址空间,因此对vector中的元素随机访问效率很高。在vecotor中插入或者删除某个元素,需要将现有元素进行复制,移动。如果vector中存储的对象很大,或者构造函数复杂,则在对现有元素进行拷贝时开销较大,因为拷贝对象要调用拷贝构造函数。对于简单的小对象,vector的效率优于list。vector在每次扩张容量的时候,将容量扩展2倍,这样对于小对象来说,效率是很高的。
list中的对象是离散存储的,随机访问某个元素需要遍历list。在list中插入元素,尤其是在首尾插入元素,效率很高,只需要改变元素的指针。
综上所述:
vector适用:对象数量变化少,简单对象,随机访问元素频繁
list适用:对象数量变化大,对象复杂,插入和删除频繁

c.earse(p) 返回一个迭代器,指向被删除元素后面的元素。若p是最后一个元素,指向超出末端的下一位置。
7. 三维知识
考D3D如何渲染,和坐标转换。
8. 其它
考版本控制工具。
还有一题忘了。