面试题目,大家帮忙答一下

wjq19801212 2005-08-21 04:49:54
这是面试过程中遇到的几个问题,各位大侠帮忙答一下,谢了,注:最好用c#答,不要使用类库函数,用最优的办法:
1、Write a function given the head in a link list.
2.比较两个已排序(注意:是已排序的)字符串,相等返回TRUE,不相等返回FALSE;
3.输入一个字符串,判断它是否逆序输出与正序输出一致
4.你是否了解网络,对TCP/IP的理解
5.软件开发模型包含哪些内容
6.软件生存周期包含哪些内容,在各个生存周期中,需要产生的有关测试方面的制品有哪些?
7.链表的倒序
...全文
847 39 打赏 收藏 转发到动态 举报
写回复
用AI写文章
39 条回复
切换为时间正序
请发表友善的回复…
发表回复
kqh0319 2005-08-23
  • 打赏
  • 举报
回复
好难...
wwwcampus 2005-08-23
  • 打赏
  • 举报
回复
垃圾
lgxysl 2005-08-23
  • 打赏
  • 举报
回复
第一题到底是什么意思?我英文不好,翻译成中文看看。
fengyunleo 2005-08-23
  • 打赏
  • 举报
回复
晕了
houcong 2005-08-23
  • 打赏
  • 举报
回复
UP!
Toti 2005-08-22
  • 打赏
  • 举报
回复
日,怎么这么难,发现自己一个也不会
wjq19801212 2005-08-22
  • 打赏
  • 举报
回复
这些题表面上看起来并不难,用framework的类库统统解决了,但是什么都不让用就比较恶心了,唉,有些题目答出来了,但是感觉效果不好,所以来问问大家,看看大家的思路和理解。
再瞧瞧还有别人怎么回答,明天结贴!
wjq19801212 2005-08-22
  • 打赏
  • 举报
回复
哦,忘了说一声,我面试的是测试工程师,所以不允许用库函数,但是普通的循环语句,或者比较什么的当然可以用,但是因为string的==是framework重载了的,所以不能用,要不然出题的意义就没了。
Ivony 2005-08-22
  • 打赏
  • 举报
回复
考算法就用C,一个String对象,你什么方法都不准用,神仙也做不出。[]是索引器、ToCharArray是方法、Length是属性,好吧都不用,你算给我看。
pengdeoo 2005-08-22
  • 打赏
  • 举报
回复
呵呵
EverBluesoft 2005-08-22
  • 打赏
  • 举报
回复
感觉不是很难啊。。
lnzyquan 2005-08-22
  • 打赏
  • 举报
回复
to: wuyi8808(c) copyleft 1985-2005  :)

你真厉害

这个单词Palindrome
都用上了

英语六级了?
wjq19801212 2005-08-22
  • 打赏
  • 举报
回复
这些都是微软的题啊,说难不难,说简单吧,面试的时候真是不好答啊,基本上都是算法,软件工程,数据结构类的
to:lgxysl(我心欲静),你的那个链表的那个应该是没错的吧,比较字符串的那个肯定是不对了。
wuyi8808(c) copyleft 1985-2005  :) 的那个比较字符串正序逆序的,我也是这个思路,不知是否是正解。
字符串比较的那个给出了是已经排序的条件,这个条件肯定是不能忽略的。
lnzyquan 2005-08-22
  • 打赏
  • 举报
回复
第二个面试题:


private bool Compare( string inStr1 , string inStr2 )
{
int _count1 = GetStrLengh( inStr1 ) ;
int _count2 = GetStrLengh( inStr2 ) ;
if ( _count1 != _count2 ) return false ;
bool _rtn = false ;
try
{
for( int i = 0 ; i < _count1 ; i++ )
{
if ( inStr1[i] != inStr2[i] )
return false ;
}
_rtn = true ;
}
catch
{
_rtn = false ;
}
return _rtn ;
}

private int GetStrLengh( string inStr )
{
int _rtn = 0 ;
try
{
foreach( char _c in inStr )
{
if ( _c != '\0' )
_rtn++ ;
}
}
catch
{
_rtn = 0 ;
}
return _rtn ;
}
jimh 2005-08-22
  • 打赏
  • 举报
回复
废话,什么都不用那干脆使用机器代码吧,汇编也可以,高级语言就是因为它提供了很多功能封装,可以直接调用。
kknd2005 2005-08-22
  • 打赏
  • 举报
回复
很EASY 的面试题,是哪个公司的

让偶自信大增啊......
lgxysl 2005-08-22
  • 打赏
  • 举报
回复
关于链表的问题,好象我的方法没有用库函数吧。不违规吧,楼主。
测试工程师怎么出这些面试题,那个关于生命周期的还有点象,他应该出这样的题目呀:
1、什么叫黑盒法测试,对于一个输入参数为字符串,输出结果也是字符串的过程,你打算用哪些样例来进行测试?
2、int的取值范围是什么?对于一个输出结果为int或运算过程中用到int的类,你怎样判断在实际的应用中,是否会产生溢出错误,如果产生这样的错误,对程序和正常运会造成什么影响?

如果我是面试官,考你这两题。
toball 2005-08-22
  • 打赏
  • 举报
回复
第一题:
using System;

namespace CS数据结构
{
/// <summary>
/// 结点类
/// 为方便起见,结点数据类型用int表示
/// </summary>
public class ListNode
{
public int data; //ElemType
public ListNode()
{
}
public ListNode next;
}

/// <summary>
/// 链表类
/// </summary>
public class LinkList
{
private ListNode first; //第一个结点
public LinkList()
{
first = null;
}

public bool IsEmpty()
{
return first == null;
}

public int Length()
{
ListNode current = first;
int length = 0;
while(current != null)
{
length++;
current = current.next;
}
return length;
}

/// <summary>
/// 返回第k个元素至x中
/// </summary>
/// <param name="k"></param>
/// <param name="x"></param>
/// <returns>如果不存在第k个元素则返回false,否则返回true</returns>
public bool Find( int k, ref int x )
{
if( k<1 )
return false;
ListNode current = first;
int index = 1;
while( index<k && current != null )
{
current = current.next;
index++;
}
if( current != null )
{
x = current.data;
return true;
}
return false;
}

/// <summary>
/// 返回x所在的位置
/// </summary>
/// <param name="x"></param>
/// <returns>如果x不在表中则返回0</returns>
public int Search( int x )
{
ListNode current = first;
int index = 1;
while( current != null && current.data !=x )
{
current = current.next;
index++;
}
if(current != null)
return index;
return 0;
}

/// <summary>
/// 删除第k个元素,并用x返回其值
/// </summary>
/// <param name="k"></param>
/// <param name="x"></param>
/// <returns></returns>
public LinkList Delete( int k, ref int x )
{
//如果不存在第k个元素则引发异常
if( k<1 || first == null )
throw( new OutOfBoundsException() );
ListNode pNode = first; //pNode将最终指向第k个结点
//将pNode移动至第k个元素,并从链表中删除该元素
if( k == 1 ) //pNode已经指向第k个元素
first = first.next; //删除之
else
{
//用qNode指向第k-1个元素
ListNode qNode = first;
for( int index=1; index< k-1 && qNode != null; index++ )
qNode = qNode.next;
if( qNode == null || qNode.next == null )
throw( new OutOfBoundsException() );//不存在第k个元素
pNode = qNode.next; //pNode指向第k个元素
qNode.next = pNode.next; //从链表中删除第k个元素
x = pNode.data;
}
return this;
}

/// <summary>
/// 在第k个元素之后插入x
/// </summary>
/// <param name="k"></param>
/// <param name="x"></param>
/// <returns></returns>
public LinkList Insert( int k, int x )
{
//如果不存在第k个元素,则引发异常OutOfBoundsException
if( k<0 )
throw( new OutOfBoundsException() );
ListNode pNode = first; //pNode将最终指向第k个结点
for( int index = 1; index<k && pNode != null; index++ )
pNode = pNode.next;
if( k>0 && pNode == null )
throw( new OutOfBoundsException() );//不存在第k个元素
ListNode xNode = new ListNode();
xNode.data = x;
if( k>0 )
{
//在pNode之后插入
xNode.next = pNode.next;
pNode.next = xNode;
}
else
{
//作为第一个元素插入
xNode.next = first;
first = xNode;
}
return this;
}

public void Clear()
{
first = null;
}

public void OutPut()
{
ListNode current;
for( current = first; current != null; current = current.next )
{
Console.Write("{0}", current.data.ToString() );
}

Console.WriteLine();
}
}
}
seekg 2005-08-22
  • 打赏
  • 举报
回复
旁听
working1997 2005-08-22
  • 打赏
  • 举报
回复
难啊,我怎么一个都不会
加载更多回复(19)

110,539

社区成员

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

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

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