Autodesk的C++笔试题,看你能答出多少,该怎么处理

Autodesk的C++笔试题,看你能答出多少
太多了,详细请参考www.findgs.com
一、技术题  

1.   在类的普通成员函数中调用虚函数,情况是怎么样的?(对象、引用、指针)  

2.   关于成员变量初始化顺序,几个有依赖关系的成员变量要初始化,让写出构造函数。  

3.   写一个双链表。  

4.   写个is-a和has-a。  

5.   struct   vs.   class.  

6.   称8个小球的问题  

7.   stl   里面vector的实现(内部空间的申请与分配)  

8.   struct   /class的区别  

9.   为什么要用struct   //成员的默认属性不同,用struct的话,主要是作为数据的集合。  

10.   怎样使一个class不能被实例化   //1,构造函数私有化,2,抽象类  

11.   私有继承和public继承的区别。   //is-a   has-a  

12.   void   *p的问题   //不能++  

13.   引用和指针的区别与联系。引用是否可以更改  

14.   windows编程基础,线程与进程的区别  

15.   com+是否熟悉  

16.   简述一下hash算法  

17.   一个32位的数据,怎样找到最左边的一个1?//   n位的2进制数据怎样找罪左边的1,如果是在最左位,这个数是负数,否则的话,左移一位,看是否变成负数,这是O(n)的算法,O(n/2)的算法:二分方式查找  

18.   一个4*4的格子,填入1~15   然后给个目标状态,怎样去搜索。  

19.   给你100万个数据,数据的值在0~65535之间   用最快的速度排序  

20.   如果我们的一个软件产品,用户回复说:运行速度很慢,你怎么处理?  

21.   八皇后问题,详述解法  

22.   kmp快速匹配算法   ---不算轻松的搞定  

23.   无向图中两点间最短路问题   ---伟大的迪杰克斯拉算法  

24.   空间中任意给两个向量,求角平分线  

25.   什么是平衡树  
26.   哈夫曼编码问题  

27.   有向图求环  

28.   .给n个点,求凸包问题  

29.   四则运算(给一个前缀表达式,然后求解;给一个中缀表达式)  

30.   STL中container有哪些?  

31.   map中的数据存储方式是什么?  

32.   map和hashmap有什么区别?  

33.   hashmap是标准库中的吗?  

34.   vector中的erase方法跟algorithm的remove有什么区别?  

35.   object是什么?  

36.   C++中如何阻止一个类被实例化?  

37.   一般在什么时候构造函数被声明成private呢?//比如要阻止编译器生成默认的copy   constructor  

38.   什么时候编译器会生成默认的copy   constructor呢?  

39.   如果你已经写了一个构造函数,编译器还会生成copy   constructor吗?  

40.   为什么说如果一个类作为基类,则它的析构函数要声明成virtual的?  

41.   inline的函数和#define有什么区别?什么时候会真的被inline,什么时候不会呢?  

42.   如果把一个类的成员函数写在类的声明中是什么意思?  

43.   public继承和private继承有什么架构上的区别?//public是is-a的关系,private是has-a的关系  

44.   在多继承的时候,如果一个类继承同时继承自class   A和class   B,而class   A和B中都有一个函数叫foo(),如何明确的在子类中指出override哪个父类的foo()?  

45.   虚拟继承的语法是什么?  

46.   部分模版特例化和全部模版特例化有什么区别?  

47.   编一个函数,使一个单项链表转置。  

48.   拆解一个整数,比如4,可以拆解成4=3+1;4=2+2;4=2+1+1;4=1+1+1+1  

49.   不用库函数,实现strcpy或者memcpy等函数  

50.   内联函数的作用和缺点  

51.   指针和引用的区别  

52.   友元的意义  

53.   虚函数的意义  

54.   Overload,   Overwrite,   Override   各自的特点和意义  

55.   头文件中的ifndef/define/endif   干什么用?//防止该头文件被重复引用。  

56.   2#i   nclude   <filename.h>   和#i   nclude   “filename.h”   有什么区别?  

57.   在C++   程序中调用被C   编译器编译后的函数,为什么要加extern   “C”?//C++语言支持函数重载,C   语言不支持函数重载。函数被C++编译后在库中的名字与C   语言的不同。C++提供了C   连接交换指定符号extern“C”来解决名字匹配问题  
58.   一个类有基类、内部有一个其他类的成员对象,构造函数的执行顺序是怎样的?//先执行基类的(如果基类当中有虚基类,要先执行虚基类的,其他基类则按照声明派生类时的顺序依次执行),再执行成员对象的,最后执行自己的。  

59.   请描述一个你熟悉的设计模式  

60.   在UML   中,聚合(aggregation)和组合(composition)有什么区别?