c/c++笔试题1

转自 http://blog.youkuaiyun.com/suxinpingtao51/article/details/8015147

1.进程和线程的差别。  

线程是指进程内的一个执行单元,也是进程内的可调度实体. 

与进程的区别: 

(1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位 

(2)并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行 

(3)拥有资源:进程是拥有资源的独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源.  

(4)系统开销:在创建或撤消进程时,由于系统都要为之分配和回收资源,导致系统的开销明显大于创建或撤消线程时的开销。  

2.测试方法

人工测试:个人复查、抽查和会审 

机器测试:黑盒测试和白盒测试

2.Heap与stack的差别

Heap是堆,stack是栈。 Stack的空间由操作系统自动分配/释放,Heap上的空间手动分配/释放。 Stack空间有限,Heap是很大的自由存储区 C中的malloc函数分配的内存空间即在堆上,C++中对应的是new操作符。 程序在编译期对变量和函数分配内存都在栈上进行,且程序运行过程中函数调用时参数的传递也在栈上进行 

3.Windows下的内存是如何管理的?  

4.介绍.Net和.Net的安全性。 

5.客户端如何访问.Net组件实现Web Service?  

6.C/C++编译器中虚表是如何完成的?  

7.谈谈COM的线程模型。然后讨论进程内/外组件的差别。  

8.谈谈IA32下的分页机制  小页(4K)两级分页模式,大页(4M)一级  

9.给两个变量,如何找出一个带环单链表中是什么地方出现环的?  一个递增一,一个递增二,他们指向同一个接点时就是环出现的地方   ??  

10.在IA32中一共有多少种办法从用户态跳到内核态?  通过调用门,从ring3到ring0,中断从ring3到ring0,进入vm86等等  

11.如果只想让程序有一个实例运行,不能运行两个。像winamp一样,只能开一个窗口,怎样实现?  用内存映射或全局原子(互斥变量)、查找窗口句柄..  FindWindow,互斥,写标志到文件或注册表,共享内存。.   

12.如何截取键盘的响应,让所有的‘a’变成‘b’?  键盘钩子SetWindowsHookEx  13.Apartment在COM中有什么用?为什么要引入?  

14.存储过程是什么?有什么用?有什么优点?       存储过程(Stored Procedure)是一组为了完成特定功能的SQL 语句集,经编译后存储在数据库。中用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。 存储过程用于实现频繁使用的查询、业务规则、被其他过程使用的公共例行程序 存储过程在创建时即在服务器上进行编译,所以执行起来比单个 SQL 语句快  

15.Template有什么特点?什么时候用?  

16.谈谈Windows DNA结构的特点和优点。  

17.网络编程中设计并发服务器,使用多进程与多线程 ,请问有什么区别?  

1,进程:子进程是父进程的复制品。子进程获得父进程数据空间、堆和栈的复制品。

2,线程:相对与进程而言,线程是一个更加接近与执行体的概念,它可以与同进程的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。 

区别:两者都可以提高程序的并发度,提高程序运行效率和响应时间。线程和进程在使用上各有优缺点:线程执行开销小,但不利于资源管理和保护;而进程正相反。同时,线程适合于在SMP机器上运行,而进程则可以跨机器迁移。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值