一些经典问题,大家学习讨论

uuussseeennn 2007-11-07 10:42:06
加精
1. 在类的普通成员函数中调用虚函数,情况是怎么样的?(对象、引用、指针)

多态, 事实上,这是 Template Method模式的关键
2. 关于成员变量初始化顺序,几个有依赖关系的成员变量要初始化,让写出构造函数。

在初始化列表中,成员变量的初始化顺序是其在类中声明顺序,而非列表中的顺序。

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

Class Pet{};

Class Dog: public Pet{};

Class Boy{Pet* m_pPet;};

5. struct vs. class.

1)默认访问属性, struct为public, class为private
2)默认继承属性,struct为public, class为private
3)class可以用来声明模板参数,而struct不能

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

Vector中文名字是动态数组, 其内部数据结构就是一个数组, 但是在数组元素不够用的时候,就要动态的重新分配, 一般是现在大小的两倍, 然后把原数组的内容拷贝过去。所以, 在一般情况下, 其访问速度同一般数组, 只有在重新分配发生时, 其性能才会下降


9. 为什么要用struct

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

10. 怎样使一个class不能被实例化

1,构造函数私有化,2,抽象类

11. 私有继承和public继承的区别。

私有继承: 只继承实现,不继承实现 has-a

公有继承:继承接口与实现 is-a

12. void *p的问题

不能++

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

联系: 支持多态,可以用来引用同一对象

区别:指针可以为NULL, 引用不可以; 指针可以重赋值, 引用不可以;

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

程序是一系列静态的指令序列

进程是程序的一次动态执行,进程其实是一个资源的容器,包括一个私有的虚拟地址空间,一些初始的代码与数据, 一些系统资源的句柄等

线程是一个进程中的执行体, 一般包括CPU寄存器状态,两个栈(内核模式,用户模式)以及一个TLS(Thread-Local Storage)等

15. 什么是com+

COM+是COM技术的延伸与发展, 它包括了所有COM的基本功能(基于接口的编程模型,基本组件服务),并组合了DCOM(使组件技术延伸到了分布式领域)和MTS-Microsoft Transaction Server(提供了服务器端的组件管理与配置管理),并新增了一些服务:负载平衡,内存数据库,事件模型,队列服务等,主要用于Windows DNA(Distributed interNet Application Architecture)三层结构的中间层。

16. 简述一下hash算法

哈希表的目的是表查询插入修改能够达到O(1)的算法复杂度, 通过对key编码来确定其存储地址来实现, 当不同的key得到相同的编码时,便需要进行冲突检测与处理,一般方法有除留余数法, 线性探测法,平方探测法, 这使其无法真正达到O(1)

17. 一个32位的数据,怎样找到最左边的一个1?

如果是在最左位,这个数是负数,否则的话,左移一位,看是否变成负数,这是O(n)的算法, 也可以用一个模板去与,并不断改变这个模板

O(n/2)的算法:二分方式查找 ???

18. 一个4*4的格子,填入1~15 然后给个目标状态,怎样去搜索。
比如:
1 2 3 6
0 4 5 7
8 9 10 11
12 13 14 15

再给出个最终的状态 (随便都可以)
0 表示一个空格,可以移动,有点像拼图;


人工智能的教材上用的应该就是这个例子,用A*算法,它既不是广度搜索,也不是深度搜索,而是一种启发式搜索,在进行下一步搜索之前,会用一个估价函数来对后面的节点评分, 取评分最优的进行下一步搜索,如果找不到结果,回溯。对于本题,用曼哈顿距离作为评分标准是个不错的选择。

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

多关键字基数排序MSD(MOST SIGNIFICANT DIGIT FIRST)
...全文
15223 305 打赏 收藏 转发到动态 举报
写回复
用AI写文章
305 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuphore 2012-08-15
  • 打赏
  • 举报
回复
mark
yongyuanonly 2012-08-15
  • 打赏
  • 举报
回复
有点长。正在努力看呢
softerjj 2012-07-12
  • 打赏
  • 举报
回复
留个足印,以后可能用的上。
晓夜寒光 2012-07-10
  • 打赏
  • 举报
回复
对照帖子,寻找空白
li312358907 2012-07-10
  • 打赏
  • 举报
回复
送分收藏
小菩提的尾巴 2012-03-28
  • 打赏
  • 举报
回复
好贴,mark一下,谢谢楼主了
lmdrc 2012-03-27
  • 打赏
  • 举报
回复
西安都有哪几家婚纱摄影楼 西安婚纱摄影 艾菲尔西安婚纱摄影 爱摄影西安婚纱摄影 宽地摄影 西安婚纱摄影 金色年华 西安婚纱摄影
欧阳_7777 2012-02-01
  • 打赏
  • 举报
回复
虽然不知道楼主还看不看这贴,但还是要谢谢楼主,对我来说是这是雪中送炭
pinyue 2012-02-01
  • 打赏
  • 举报
回复
学习了
wuxinsheng2011 2012-02-01
  • 打赏
  • 举报
回复
mark!
koolxiaoyuer 2012-01-31
  • 打赏
  • 举报
回复
MARK
程序圆圆圆 2012-01-31
  • 打赏
  • 举报
回复
楼主威武呀,果断学习了
程序员小迷 2012-01-30
  • 打赏
  • 举报
回复
谢谢分享
氰客 2012-01-17
  • 打赏
  • 举报
回复
坐等讨论- -
邺水朱华 2012-01-16
  • 打赏
  • 举报
回复
不错的帖子..........我来慢慢看一看,学习了...........
wizard_tiger 2011-12-29
  • 打赏
  • 举报
回复
收藏了,学习学习!
zhuxingjie339 2011-12-28
  • 打赏
  • 举报
回复
强大!!
luohaoran2010 2011-12-13
  • 打赏
  • 举报
回复
新手进来学习啦
WANwuwei 2011-12-13
  • 打赏
  • 举报
回复
Mark
shenwei650732 2011-12-12
  • 打赏
  • 举报
回复
好强大的帖子
加载更多回复(285)

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧