weidagang2046的专栏

物格而后知致
随笔 - 8, 文章 - 409, 评论 - 101, 引用 - 0
数据加载中……

微软考试归来――顺记我的繁忙的一天

【 以下文字转载自 Career_MS 讨论区 】
发信人: ljsdut (小石头), 信区: Career_MS
标  题: 微软考试归来――顺记我的繁忙的一天
发信站: 水木社区 (Sun Oct 16 20:44:04 2005), 站内

2005年10月16日,星期天,我繁忙但充实的一天。
今天主要做了三件事:看到神六,过把评委瘾,微软笔试。
第一件:我看到神六了。
这真的是令人兴奋,我看到神六了!时间是2005-10-16凌晨。5:25 准时守候在北极星前,茫茫夜空悄然无声,门口卖早餐的人们已经开始了一天的工作,我出了大门,我边走边仰头望天,心中的好奇冲淡了秋晨的寒凉。突然看到远处一个星星自西向东缓缓而来,在北极星下方掠过,继续匀速前行,亮度约相当于2等星,持续时间为半分钟左右,这是神六的末级火箭,低头看看表时间约为5:34。目送火箭远去,我继续搜寻,西方的天空重归寂静,我下意识抬了抬头,果然,又一颗星星迎面而来,亮度比火箭稍强,在北极星上方自西向东划过,穿过北极星与勺口的连线直奔北斗腹地,哈哈,我看到神六了,不知我们的航天员他们此时在做些什么,他们可会知道神州大地有多少人正在兴奋地望着他们。它并不留情面,很快便离我远去,奔向前方,期望他们平安回来,我默默的在心中说到。总算如愿以偿,我,第一次看到我们的飞船了。
第二件事:过把评委瘾。
跨越两个学期的课程终于结束,商业道德这个企业冠以自诩的名词,终于要和你说再见了。再见至于我还有幸做回评委,十足过了把瘾。忽然发现,原来挑别人的刺还是蛮舒服的。
不过,瘾过得有点大,散会后12点多了,饭后就12:40多了,我还没有打印准考证,而且,还没有准备让我百思不其起解的准考证上注明要准备的铅笔。算啦,不管怎么说,既然他写了,我就拿之支吧,只是害得我还得买橡皮。嘻嘻。一切准备就绪已经13:20了,呵呵,不着急,找地方我很拿手。
第三件事:微软笔试。
赶到考场已经13:45,闲话少数,考试开始了。经过一番没睡午觉后的疲劳作战,考试结束了。走出考场就像先睡一觉。呵呵不管了,一切听天由命吧。不过,人不能太自私,总结一下,利己利人吧^_^。
我做的A卷,这套题共分五部分,依次是Basic,Reasoning,Programming,Design,Testing。
Basic好像有11道题多选题,答对一个加一分,答错一个扣0。5。
有一个是给汇编代码,让选择其功能。最后一个是SQL题,我不懂,不会:(。别的记不起来了。
Reasong部分好像有12道题。其中前两道题我敢断定是从GRE上抄来的,可惜GRE的书我虽然借了,但是没看。这两道题根本没读懂,也就不说了。后面的题由一个大题组成,分成好像是10个小题。
大题题面大意为:现欲举办一场音乐会,组织者准备请四个小提琴家F,G,H,J和五个钢琴家R,S,T,W,Z。会议有六天,每天只能有一个人表演,但是有如下限制:
(1)    如果F表演,则前三天必须都为小提琴表演;
(2)    如果J表演,则必须是在第六天
(3)    如果R表演,则T必须在第一天表演。
(4)    如果W表演,它的前一天和后一天都不能是钢琴表演。
问组织者应如何安排表演?
下边有10个小题左右,都是针对可能情况发问的。我随便举一例吧:
下面哪项可能为真?(多选)
A.    如果F表演,则W不可能表演。
B.    如果R表演,则W不可能表演。
C.    如果J表演,则F,W不能同时表演
D.    如果W表演,则S,T不能同时表演。
声明:此题为我根据印象编制的,反映题目类型。忠告大家:要对付此题有一个绝好的办法:你去找那个五个小姐,领养五个宠物,穿五种颜色衣服,喜欢吃五种水果那道题。自己推出那道题,此类问题一概搞定。
Programing部分有两道大题。
第一题如下:编写一个函数GetGCD,来求一个数组中N个数的GCD(Greatest Common Demonitor),即最大公约数。并写出尽可能多的测试用例。
例如GCD(18,12)=6, GCD(14,35)=7。。。
(1)函数原型如下:int GetGCD(CAryInt & aryInt);
(2)数组访问使用[]操作符,
(3)数组元素个数由CAryInt 的成员函数GetSize获得。
众所周知,求最两个数大公约数算法为欧几里得算法,求整个数组的最大公约数就可以先求头两个的,然后求结果和第三个数的最大公约数,依次反复,直到最后,具体算法在此不赘述。
第二题如下:设计一个数据结构,用来存储一个字典。并写一个函数PrintWord,当要查询‘ab’时,其输出为所有以ab开头的单词。此题开始没想到怎么做,后来突然想起可以用树来存储,我的实现为:将所有相同字母开头的单词组成一个树,这样26个树组成的森林即为整个字典。树的每个结点有26个儿子,分别代表a到z,然后还要有个字段表示该结点的字符串,还要有个字段表示该字符串长度,遗憾的事,还应该有个字段表示该结点是否是单词,可惜我当时没想到,不管啦,听天由命吧。具体算法即结构定义略。
Design部分一个大题,题目是让你给MSN Messenger提出新的特性,如果给你三个月时间,你如何改进它?这个题我自己从用户界面角度编了这么几条(纯属个人意见,不要骂我哦):
(1)    应该有自动隐藏功能,像QQ那样。
(2)    还应该有留言功能。
(3)    还应该能更换皮肤
(4)    还应该能有MSN Space的快照,让我方便的看到我朋友的MSN空间的缩略信息。
Testing部分有两个大题:
第一题为找bug,改bug题。给的程序是判断一个单向链表是否含有环的程序,如果有,返回产生环的第一个结点的指针,否则返回NULL。并写出尽可能多的测试用例
Struct LinkedList {
    LinkedList *pNext;
}
Struct LinkedList *IsCyclicList(struct LinkedList *pHead)
{
    Struct LinkedList *pCur, *pStart;
    While(pCur){
        For(;;){
            If(pCur!=pStart)
                pStart=pStart->pNext;
        }
        pCur = pCur->pNext
    }
}
这个程序写得实在太烂了,改都不好改。我就简单指出了其几个典型错误,然后就自己写了一个算法。
其典型错误为:链表结构定义的不对,没有数据字段,否则这个链表没任何意义;指针没初始化;for循环会陷入死循环。
我给出的算法是
Struct LinkedList {
    Int data;
    Struct LinkedList *pNext;
}
Struct LinkedList *IsCyclicList(struct LinkedList *pHead)
{
    Struct LinkedList *pCur, *pStart;
    If (!pHead)
        Return NULL;
    Else if(!pHead->pNext)
        Return NULL;
    pCur=pHead;
    pStart=pHead->pNext;
    While(pStart&&pCur!=pStart){
        If(pStart->pNext)
            pStart=pStart->pNext->pNext;
        else
            pStart=NULL;
        pCur=pCur->next;
    }
    Return pStart;
}
我也没仔细推敲,对不对反正就它了。
第二题为:给你一个函数int system(char *command),该函数为command字符串的命令解释器,其命令为机器可执行的命令,让你写出尽可能多的测试用例,有多少写多少。
以前经常在往事看前人们的总结,现在也贡献给大家一点,欢迎各位考友补充,希望对大家有帮助,也顺便纪念我这繁忙而充实的一天^_^。

posted on 2005-10-17 23:15 weidagang2046 阅读(320) 评论(0)  编辑  收藏 所属分类: Others


只有注册用户登录后才能发表评论。


网站导航: