C#面试电话

bydxyj 2009-10-22 02:59:31
今天接到一个面试电话,很意外,虽然在考虑换工作,但是突然发觉自己还没有做好面试的准备呢。
打电话的是个女士,感觉很亲切,问了几个简历里的问题,我说完后又问了两个关于C#的问题,我基本上都没有回答出来,郁闷!!!
1、Int的最大值是多少?(想了半天,记得是2的32次方,但是不敢确定,就没有说,唉!平时不注意细节啊!)

2、给你200个数,这些数是0-99中的任意组合,用什么方法将重复的数据取出来?(我当时想到的就是循环比较,她问有没有好的方法,我想了半天,还是没有想出来,唉~~~,郁闷至极啊!)
...全文
502 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
wartim 2009-10-23
  • 打赏
  • 举报
回复
说错了,是-2^31 - 2^31-1 ,最高位是符号位
wartim 2009-10-23
  • 打赏
  • 举报
回复
Int的最大值是多少

你如果知道int就是int32的简写就马上看出来了,32个字节可以表示的数字有2^32个,所以是0-2^32-1,最大是2^32-1
bydxyj 2009-10-23
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 vrhero 的回复:]
ps:这两个题跟C#或者.NET都没多大关系...1是计算机基础知识,2是算法基础...
[/Quote]

嗯,她问过我对算法还记得多少?用的多不多? 我说,基本上没用
sohighthesky 2009-10-23
  • 打赏
  • 举报
回复
这问题也问,??郁闷哦
bydxyj 2009-10-23
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 vrhero 的回复:]
在C#中int是System.Int32,最大值是0x7FFFFFFF,即2^31-1...在没有上下文的时候Int的最大值是没有准确答案的...

第二题该用排序...这么基础的题答不上我看你是没什么机会了...
[/Quote]

嗯,我也觉得没啥希望。
vrhero 2009-10-22
  • 打赏
  • 举报
回复
ps:这两个题跟C#或者.NET都没多大关系...1是计算机基础知识,2是算法基础...
vrhero 2009-10-22
  • 打赏
  • 举报
回复
在C#中int是System.Int32,最大值是0x7FFFFFFF,即2^31-1...在没有上下文的时候Int的最大值是没有准确答案的...

第二题该用排序...这么基础的题答不上我看你是没什么机会了...
EsMo 2009-10-22
  • 打赏
  • 举报
回复
marked
tkscascor 2009-10-22
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 chrisak 的回复:]
int最大值2的31次方,因为要留一位用作符号位.
第二个同上,用个长度为100的数组.
引用 9 楼 tkascor 的回复:
1.int型占位16位. 所以 是-2的15次方-1至2的15次方-1
2 我会用数组, 长度100 ,
从数据中赋值给数组的索引,初始该值为1,循环有相同数,就+1
这位用的是TC2.0吧@_@
[/Quote]

>_<
ChrisAK 2009-10-22
  • 打赏
  • 举报
回复
int最大值2的31次方,因为要留一位用作符号位.
第二个同上,用个长度为100的数组.
[Quote=引用 9 楼 tkascor 的回复:]
1.int型占位16位. 所以 是-2的15次方-1至2的15次方-1
2 我会用数组, 长度100 ,
从数据中赋值给数组的索引,初始该值为1,循环有相同数,就+1
[/Quote]这位用的是TC2.0吧@_@
tkscascor 2009-10-22
  • 打赏
  • 举报
回复
1.int型占位16位. 所以 是-2的15次方-1至2的15次方-1
2 我会用数组, 长度100 ,
从数据中赋值给数组的索引,初始该值为1,循环有相同数,就+1
cqsfd 2009-10-22
  • 打赏
  • 举报
回复
C#Int32 有20亿吧,应该是2的31次方(因为有一半在负数)
我记得好像C里面的int才6万多,是16位的
第二个问题我会回答用个100的数组记录,应该比hash表好吧
LutzMark 2009-10-22
  • 打赏
  • 举报
回复
2147483647 = int.MaxValue
leehong0704 2009-10-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 li281970067 的回复:]
2题应该是这样吧!
    IList list = new ArrayList();
                for (int i = 0; i < size; i++)
                {
                 
                    if(list.Contains(args[i]){
                    }
                }
要是考虑到性能肯定用Contains()这个方法
[/Quote]
list.contains(o),系统会对list中的每个元素e调用o.equals(e),方法,加入list中有n个元素,那么会调用n次o.equals(e),
这个效率跟2重循环差不多.
qq249143834 2009-10-22
  • 打赏
  • 举报
回复
帮顶
stning 2009-10-22
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 yuwenge 的回复:]
一个hashtable,一个循环,搞定。
[/Quote]正解,而且这个的效率非常的高。
卧_槽 2009-10-22
  • 打赏
  • 举报
回复
一个hashtable,一个循环,搞定。
flybao51 2009-10-22
  • 打赏
  • 举报
回复
循环比较?你说那么吓人干啥?你给她说具体点啊,循环里面又没要循环200次
li281970067 2009-10-22
  • 打赏
  • 举报
回复
2题应该是这样吧!
IList list = new ArrayList();
for (int i = 0; i < size; i++)
{

if(list.Contains(args[i]){
}
}
要是考虑到性能肯定用Contains()这个方法

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧