2022年微软面试题 .pdf
《2022年微软面试题 .pdf》由会员分享,可在线阅读,更多相关《2022年微软面试题 .pdf(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、面试 微软面试题解析与答案面试题此帖已被设为推荐 微软部分面试题解析与答案,也许对你会有所启发(微软 2004-11-13 的笔试题解析)1、求函数返回值,输入x=9999; int func(x) int countx = 0; while(x) countx +; x = x&(x-1); return countx; 【试题解析】解这道题的时候,如果拿出一个二进制数来分析就会容易的多了,x=x&(x-1) 实际上就是把 x 的二进制形式的最后一个“1”变成“ 0” ,x 的二进制形式有多少个“1”循环就执行多少次。9999/256 = 39 余 15,把这两个数分别转化一下就很快了39
2、= 32 + 4 + 2 +1 = 00100111 15 = 0F = 00001111 所以9999=0010011100001111,共有 8 个 1,答案就是8 了2、实现以下程序,以方便binary search. .要有处理错误语句.队列的分配的大小是固定的MAX_LEN, 由第二个参数输入.不能复制队列insert (int *arr, /队列size_l len, / 队列大小size_l count, /队列元素的数目int varl /要处理的数据)返回插入数据的索引remove(int *arr,size_l len,size_l count,int varl)返回删除元
3、素的索引search(int *arr,size_l len,size_l count,int varl) 返回搜索道元素的索引【试题解析】略。数据结构书上都有的。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 8 页 - - - - - - - - - 3、堆栈 R,从顶到底 :2,4,6,8,10, 逐个取出放入队列Q 中 ,再从 Q 中逐个取出放入R 中,问现在堆栈R 中从顶到底的顺序。【试题解析】这个也不用了吧,10,8,6,4,2 4、写出程序的结果:_ int
4、 funa(int *a) a0 +; int funb(int b) b1 += 5; main() int a5 = 2,3,4,5,6; int b5 = 2,3,4,5,6; int *p; p = &a0; (*p)+; funa(p); for(int i = 0; i3; i+) printf(%d,a); p = &b1; funb(p); for(i = 0; i(MAX_PATH_LENGTH-1) ) return -2; 没有检查新开辟的空间能否容纳传进来的字符串,否则有可能越界 *pBuffer 题中的原意是当到字符串末尾的时候跳出循环,所以应该是取字符串的内容 同
5、delete pBuffer; pBuffer=NULL; 没有释放新开辟的空间,会造成内存泄漏6、你觉得下一代浏览器应该添加什么功能?【题目解析】当时随便写的,比如安全性,搜索功能等。7、给出函数strcmp()的测试方案int strcmp(const char * str1, const char *str2) 【题目解析】主要考查考虑问题的全面型,我觉得有一个电冰箱测试的例子不错名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 8 页 - - - - - - - -
6、 - 我写了几个(仅供参考):str1 str2 NULL NULL a NULL NULL a a abc abc acd .xj sefn 8、测试一个DVD Player ,如果你仅有有限的时间,你会如何做?【题目解析】只是说说我的思路,不是标准答案。首先测试基本功能,然后是常用功能,然后是高级功能。9、在过去的这些年,你遇到了哪一个最大的困难,你是如何解决它的?你是单独做的还是和别人一起做的决定?为什么做这个决定?现在结果如何?10、逻辑题 : 有一 5 节车厢的过山车,每节能座两人,现有Luair,Jack,Gwen,Tom,Mark,Paul,6 人去乘车,有以下条件1,Luair
7、 和别人同乘2,Mark 不合别人同乘,而且Mark 的前一节车厢是空的3,Tom 不和 Gwen 与 Paul 中的任何一人同乘4,Gwen 乘 3,或者 4 节.下面是一些断言性的语句,让你判断对错【题目解析】Mark 和那节空车厢可以当作一个整体,剩下的就是按照规则做排列组合就可以了,可能的种类不是太多。如果用笔画个草图的话就比较容易了。11、链表反转 : (这道题不是微软的,不过考的比较多,就不另外开贴了) 数据结构如下:typedef struct _Node int data; struct _Node *next; Node; 完成函数Node *Reverse(Node *he
8、ad) ,head为不带头节点的链表的首部。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 8 页 - - - - - - - - - Node *Reverse(Node *head) Node *tmp = NULL; / 缓冲变量Node *newHead = NULL; / 反转后的新头节点if ( head=NULL ) return head; / 空链表的情况if ( head-next=NULL ) return head; / 链表只有一个节点的情况wh
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年微软面试题 2022 微软 试题
限制150内