微软2013暑期实习笔试回忆
一共是20道选择题(有可能多选),答对加分,答错扣分,所以了不敢乱选啊,现在开始回忆一些题目:
1: 有1000瓶水,其中1瓶是有毒的,小老鼠如果喝了有毒的水会在一个星期后死掉,问至少需要多少只小老鼠来做实验,才能够在一星期后选出有毒的一瓶水。
我选的是10,2^10=1024>1000,原理跟1:N选择器一样的。
2: 1条线把平面划分为2部分,2条线把平面划分为4部分(任意两条线不平行,也不存在3条线共点情况),问100条线把平面划分为多少部分。
我选的是5051,经过归纳分析有:S(N)=S(N-1)+N ,N=2,3,4....,考验数学功底的时候来了,S(N)-S(N-1)=N,则S(100)-S(99)=100,S(99)-S(98)=99,...
S(2)-S(1)=2;把所有等式的左边和右边分别相加,有S(100)-S(1)=100+99+98+97...+2,所以S(100)=5049+2=5051
3: 在3*4的网格中,有多少个长方形。
这个只有自己数了 一共是60个长方形
4:下列哪些排序是稳定的。
这个只要记得哪些排序是不稳定的就可以选对了,记得一句话 “学习真痛苦,“快” “希” “选” 一 “堆” MM 来聊天吧(版权天勤论坛出的数据结构一书所有,还是考研时看的那上面的)。其中相应的分别是,快速排序、希尔排序、简单选择排序、堆排序,这几个都是不稳定排序,那其他的都是稳定排序了。
5:有N个球,其中一个球比任何球都轻,其他的球一样重,问下列哪些可以称3次选出轻的球。
记得个公式3^k>=N,时,可以通过K次选出,这里k=3,则在27个内的都能够在3次内选出,具体选项不记得了,好像是从12开始的。
6:一个关于图的题目,选最短路径的,比较简单,不提了。
7:知道了二叉树的哪些排序序列后,可以确定一颗二叉树。
这题比较简单了,中序遍历和前序遍历
中序遍历和后序遍历
中序遍历和层次遍历
这3种都可以确定一颗二叉树,从上面可以看出,必须要有中序遍历、
8:关于数据库update语句的题目,比较简单,给定一条更新表的语句和表,问更新了几条数据。
答案记得是2,但是具体语句和表不记得了
9:一些考察C++的继承的题目,具体的不记得了。就是给定程序,问输出结果,貌似考了3题呢,C++好久没用,做的我心里都很虚的。
10:考察MVC中,M、V、C的具体意义的题目。这题没敢多选,就选了一条。
11:
int x=10,y=10; x=x++; y=++y; cout<<x<<endl;
cout<<y<<endl;
问输出什么:
我的答案是11,11,这个什么好解释的了。
12:有个程序是把32位的有符号数x除以2,和右移1位的结果分别赋值给32位有符号数y,z.但是y不等于z,问下面哪些是对的。
我选的是x为负数,还有个选项不记得了
13:试卷第一题,表示不会,题目大概意思是问下列哪些调用支持可变长参数。
选项有:stdcall,cdecl,fastcall,pascall,表示不知道选哪个,选错了要扣分滴,这是我唯一没选的题目。
14:其他的题目不记得了,等想起来再补充吧!