面试题

EMC
1. 多线程开发中有什么问题, 同步对象以及区别
2. Windbg的问题
3. Windows API的问题
4. 以前做过的项目介绍
5. SQL API的问题
6. 内存分布
7. 函数调用栈
8. 堆栈自动增长原理
9. 基本的存储知识,SAN和NAS的区别
IGT
1. 内存泄漏是怎么发生的,泄漏的是什么内存,如何调试内存泄漏问题
当程序动态申请了内存堆,又忘记释放,就造成了内存泄漏。内存泄漏泄漏的是进程的可用内存堆,当进程没有可用内存堆后,进程就无法继续正常工作了。
 声明:
#define _CRTDBG_MAP_ALLOC
#include <stdlib.h>
#include <crtdbg.h>
在需要检测内存泄漏的地方添加:
_CrtDumpMemoryLeaks(); 用来dump出内存分配块。
使用_CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF )标志来启用在程序退出时自动调用_CrtDumpMemoryLeaks()
2. 多线程同步机制,同步对象,各个同步对象都有什么区别
Critcal section, mutex, event, semaphone
3. socket并发编程,如何实现高性能的并发socket访问
4. Com的实现原理,如何实现一个COM组件
5. 成员初始化列表与构造函数的区别
6. 为什么基类的析构函数要声明为virtual
7. 覆盖与重载的区别,如何实现,原理是什么
8. windows的消息机制
9. 标准模板库的应用,以及如何删除vector里面的内容
10. SQL语句的inner join和outner join的区别

 

微软的SDET

写一个简化版的sprintf函数,要求之处理%d这样的情况,并写出test case。

写一个除法的实现,不能使用乘法,除法和模运算符。

写一个二叉树的横向遍历算法。 

posted @ 2010-08-25 23:40  moonz-wu  阅读(566)  评论(0编辑  收藏  举报