10-16东南大学微软招聘笔试经过

来源:互联网 发布:视客眼镜网怎么样 知乎 编辑:程序博客网 时间:2024/04/29 14:13

时间:10-16-2004 15:00-18:00
地点:东南大学礼东201/202/301/302

参加笔试首先要在网上报名然后下载打印邀请函,带着邀请函和身份证件就能踏进考场了.试卷是英文的,大约有10页,分A,B卷.除了最后一部分essay,你都可以选择用中文或者英文答题.
三个小时的答题时间还算是充裕的,完成后将简历附在试卷后面一并上交.

下面是考试内容.(A卷)


I Basic
这个部分有近二十道多项选择题和若干填空题,内容繁多零散,大部分是关于数据结构和c/c++语言,还有关于软件工程,测试方法,无状态网络的一些题目;填空题是读程序填结果,当然最后还有一道比较复杂的逻辑题目.
回忆一下读程序的题目和逻辑题目
int s(int v)
{
     int count=0;
     int x=v;
     while (x)
     {
          count++;
          x=x&(x-1)
     }
     return count;
}

s(9999)=?
还有一道读程序的题目是关于数组指针的,想不起来了.
逻辑题目是说有5辆车1,2,3,4,5,每辆最多可坐两人,有六个人ABCDEF坐在里头,已知条件有:
A是和人合坐一辆车的
B是一个人坐的,而且正好在一辆空车的后面
C没有和D或者E一起坐
D要么在3号车要么在4号车
然后就是给了一些新条件,问你排列情况

II Programming
1 Translate MIPS assembly code into a function in C/C++
* your code should be concise
* no any GOTOs/pointers

MIPS code:
func:
     li $v0,0
     li $t0,0
l1:
     add $t1,$a0,$a0
     lb $t2,0($t1)
     beq $t2,$zero,l3
     bne $t2,$a1,l2
     add $v0,$v0,1
l2:
     add $t0,$t0,1
     j     l1
l3:
     jr $ra

(caller register: $t0~$t9,$a0~$a3,$v0~$v1; callee $s0~$s7,$ra)
然后列出了指令表,li是赋值,lb是将字段后第一个寄存器内容个字节的内容复制到第二个寄存器,beq是等值转移ben是不等值转移,j是无条件转移,jr转移至寄存器标示的内容.

2 binary search for an integer in array
* error case should be handled
* duplicates are not allowed
* outcome should be organized in increasing order
* length of array should be passed as the second parameter

III Design
如果要你设计下一个版本的Internet Explorer的新特性(从核心到界面什么都可以),你会设计什么?阐述你的设计和方案计划.

IV Testing
1 DVD-player
如果要你测试一台DVD-player,你会测试哪些部分?为什么?如果你的时间极其有限,你会测试什么?为什么?

2 测试strCmp函数
strCmp返回两个字符串的差别,函数形式:
strCmp(const char* string1, const char* string2)
你选择用哪些数据去测试这个函数?

3 改错题

V Essay(用英文回答)
你经历过的最难的决策是在什么场合下用什么办法解决的?详细描述经过.



我还想读研,并没有打算工作,被同学拉着才参加这次考试的,既没有带简历也没有带证件,全凭监考人员看我一脸诚意才放我进来.IE,DVD和essay我都没有写,所以90分钟后我就出来了.题目看似容易上手,实际上要做好很难.感觉这套题目侧重考查编程的功底和经验,还有思维的严密性.大概这些能力就是微软考查员工的重点吧.

原创粉丝点击