ayong401 发表于 2004-9-28 17:29:51

微软的测试题

Test Paper for Software Design Engineer

(Test time: 60 minutes)

Name:                   Date:                   Location:



Part 1: Technical Skills Set

(请将 “ ● ”paste在您所掌握的技能程度表格内,并注明您的使用时间和相关的证书)

技能列表精通   熟练   掌握    了解   使用时间(月)所获证书

English (oral)

English (written)

OOPprogramming skills

C/C++ (pointer, memory)

Java

C#

NET

算法&数据结构

Win API experience –plus


Part 2 : Technical Test

1.实现二分查找的递归算法的函数。(使用C++,不建议用伪码)











2.请指出该程序的错误。

#include <iostream.h>



int *p;



void Function();

{

   int n;

   n = 25;

   p = &n;

}



void main()

{

   Function();

   cout<<"value of *p: "<<*p<<endl;

}













3. 英语写作

Question: Please describe your career path in the next two years.

[ Last edited by ayong401 on 2004-9-28 at 17:32 ]

ayong401 发表于 2004-9-28 17:33:05

这是我在CSDN上发现的
大家有兴趣可以衡量一下自己的水平如何?

songfun 发表于 2004-9-30 00:35:44

版主

你的这个帖子我颇有兴趣,能给我一个链接嘛?
我想看看。

ayong401 发表于 2004-9-30 08:39:40

Originally posted by songfun at 2004-9-30 12:35 AM:
你的这个帖子我颇有兴趣,能给我一个链接嘛?
我想看看。

你好.链接如下:
http://dev.csdn.net/develop/article/33/33811.shtm
;)祝你好运!

songfun 发表于 2004-9-30 12:16:18

但是没有答案啊。看到别人的回答都不满意。

nuncio 发表于 2004-9-30 21:38:37

#include 后面为什么没东西?
int *p 可以不在函数里被定义吗?
主函数放在最后没关系把?
主函数里的Function()能成为一个单独的语句吗?

初学者,这个是我不确定的,想知道答案,高手指点

dabi1111 发表于 2004-10-2 15:25:10

回题目

应该是指针返回了局部地址的问题吧!

天网 发表于 2004-10-6 11:15:24

最大的问题:p是全局变量,在Function()函数中指向的是局部变量n的地址,Function()调用结束后,这些局部变量是要被释放的,后面再调用该地址的值很容易出错。

xinwuhan2006 发表于 2004-11-29 18:46:20

:)

archonwang 发表于 2004-11-29 21:58:50

1.实现二分查找的递归算法的函数。(使用C++)
自己写代码的水平不过关,找了一个,大家看看
int binsearch(seqlist r,int low,int high,rectype k)
{
int mid=(low+high)/2;
if (low<=high)
{
if (r.key) return mid;
if (r.key>k) return binsearch(r,low,mid-1,k);
else return binsearch(r,mid+1,high,k);
}
else return 0;
}

carol2000 发表于 2004-12-2 14:22:31

2. 请指出该程序的错误。

指针变量*p 也没有被初始化吧。。。

lanlan9685 发表于 2004-12-3 18:05:39

请高手给个改完后的答案,拜托!

qingtian 发表于 2004-12-6 09:40:35

我倒,全是高手啊~~~这么难得题目~~~


居然还在这讨论~!@#$%^&*

homeless 发表于 2004-12-7 15:31:50

Originally posted by qingtian at 2004-12-6 09:40 AM:
我倒,全是高手啊~~~这么难得题目~~~


居然还在这讨论~!@#$%^&*

汗:o
这都是C++基础啊。

Tender 发表于 2005-9-22 15:41:42

变量N在函数在FUNCTION结束后就释放掉空间了,那么*P指向的就是一个空地址了。最后输出不了什么东西的。大忌!
版主archonwang的程序没有给出具体的预定义哦!线性数组中的定义要先给出,否则其中的成员KEY是哪里来的?
开个玩笑,版主莫怪!

思飞2006 发表于 2006-7-14 23:28:05

局部变量在函数调用后,会把变量N释放,但N原来的值还在栈中.指针p 是这个变量N的地址,但在调用这个函数后,这个变量N被释放了.虽然N的值还存在栈中,但N不存在了,所以指针P也不会指到这个地址,所以我们无法知道这P指针指向什么地址.因此*p的结果是未知的.

walker_lai 发表于 2006-8-30 14:25:29

gaosou

linda22 发表于 2006-8-30 16:21:41

递归算法那道题有标准答案吗?

verdly 发表于 2006-9-5 17:11:50

递归算法

实现二分查找的递归算法的函数,只要代碼書寫規範就可以了,沒甚麼別的.我改一下上面的那個代碼.(使用C++)
int binsearch(seqlist r,int low,int high,rectype k)
{
if(low>high)
{
return -1;//0 也是數組的首位置嗎
}
else
{
int mid=(high-low)/2;   //加怎麼行了
if (r.key==k)
return mid;
if (r.key>k)
return binsearch(r,low,mid-1,k);
if(r[mid.key<k)
return binsearch(r,mid+1,high,k);
}
//可能還有錯誤,沒改

星空 发表于 2006-9-23 23:47:24

这就是学习啊,也许我们不是高手,但在这里有教室的氛围!我喜欢
页: [1] 2 3 4
查看完整版本: 微软的测试题