前些时候做过的一份面试试题

原创 2005年03月01日 09:39:00

本次测试共三道题目,要求如下:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

1.  请用C#完成

2.  开卷独立完成,可以看书,上网等任何方式查找资料,但必须保证独立完成。一旦发现有不诚实行为,本公司将不予录取,后果自负。

 

题目一:

1.  编写冒泡排序程序

要求:

1)  请用C#编写一个冒泡排序的程序,

2)  要求排序的数据从文件C:/DATA.DAT中读取,数据间用逗号分隔。

解:

using System;

using System.IO;

class Test{

         static void BubbleSort(int[] ai) {

                   for (int j = ai.Length - 1; j > 0; j--){ // outer loop (backward)

                            for (int i = 0; i < j; i++) // inner loop (forward)

                                      if (ai[i] > ai[i+1])  Swap(ref ai[i], ref ai[i+1]);

                   }

         }

         static void Swap(ref int x,ref int y) {

                   x = x + y;

                   y = x - y;

                   x = x - y;

         }

         static void <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />Main(string[] args) {

                   int[] ai = getData();

                   BubbleSort(ai);

                   foreach (int i in ai) Console.WriteLine(i);

                  Console.ReadLine();

         }

         public static int[] getData(){

                   try{

                      StreamReader sr = new StreamReader("data.dat");

                            string sLine;

                            sLine = sr.ReadLine();

                            string[] astr = sLine.Split(new Char[]{','});

                            int[] ai = new int[astr.Length];                     

                            for(int i = 0; i < astr.Length; i++)

                                     ai[i] = Convert.ToInt32(astr[i]);

                            return ai;

                   }

                   catch (Exception e)      {

                       // Let the user know what went wrong.

                       Console.WriteLine("The file could not be read:");

                       Console.WriteLine(e.Message);

                       return null;

                   }

         }

}

 

2.完成下面函数

         public static string Left(string sSource, int iLength)

         {

                   //完成类似于VBLeft函数的功能(返回字符串sSource的左iLength位的字符串)。

         }

解:

using System;

 

class Test{

    public static void Main(){

         //完成类似于VBLeft函数的功能(返回字符串sSource的左iLength位的字符串)。

         Console.WriteLine("Please enter a string to treaded:");

         string s = Console.ReadLine();

         int i = 0;

         bool bInputValid = false;

         while(!bInputValid){

                   try{

                            Console.WriteLine("Please enter the length from left most:");

                            i = Convert.ToInt32(Console.ReadLine());

                            if(i > s.Length) throw new Exception("");

                   }

                   catch(Exception e){

                            Console.WriteLine("It seen that your input data is not a integer or over flow, try again!");

                            Console.WriteLine(e.Message);

                            continue;

                   }

                   bInputValid = true;

         }

         Console.WriteLine("The left part string is {0} ", Left(s, i)); 

    }

         public static string Left(string sSource, int iLength){

                   char[] achar = new char[iLength];

                   for(int i = 0; i < iLength; i++)

                            achar[i] = sSource[i];//直接可字串中的单个字符,关键在这儿了

                   string sLeftPart = new string(achar);//直接构造回一个string

                   return sLeftPart;

         } 

}

 

2.   动物(animals)中的猫(cat)和狗(dog)都有咬(bit)的动作。请运用.net中对象的多态性技术展示猫咬和狗咬的动作。要求用C#代码实现。

 

 


 

解:

using System;

 

public class animals{

         //string sName;

         public virtual void bit(){

                   Console.Write("i am animals");

         }

}

 

public class dog : animals{

         public override void bit(){

                   Console.Write("bit by a dag!");

         }

}

 

public class cat : animals{

         public override void bit(){

                   Console.Write("bit by a cat!");

         }

}

 

public class Test{

         public static void Main(){

                   animals[] aa = new animals[2];

                   aa[0] = new dog();

                   aa[1] =  new cat();

                   foreach(animals a in aa) a.bit();

         } 

}

现在Java程序员面试有多偏,一份面试题让你跪倒在面试官面前

红叶JAVA 2017-05-03 17:02 今日,有同学跟我说他在最近在面试的时候,面试官问了他一个很简单的问题,结果他一脸懵逼,他可是有过一年开发经验的,怎么可能会在面试的时候马失前蹄了呢?...

在学校的时候,自己做过的一些项目,感觉挺有成就

毕业选题管理系统 项目时间: 2013年05月-2013年11月 项目简介: (1)该系统分为三大模块,权限管理员模块、教师模块、学生模块。 每个不同的用户有着不同的权限,管理员可以进行对用户信...

面试时如何讲解自己做过的项目

  • 2012年04月06日 18:12
  • 52KB
  • 下载

java,html5+css3以及javascript面试题------自己面试的时候遇到的面试题,所以整理一下

java,html5+css3以及javascript面试题

面试时如何谈自己做过的项目

1、介绍项目架构 把项目整体架构描述一遍,系统环境和软件架构可以一句话带过。网络架构可以按照网络拓扑来说明,顺便把服务器角色和业务流程说一下。要突出运维体系架构中的关键点:监控报警、负载均衡、冗余...

面试中如何介绍自己做过的运维项目

如果你是一位有运维工作经验的职场人士,当你去面试的时候,面试官会很自然地问到你曾做过什么项目,让你详细描述一下工作中曾处理过的一个故障?这个看似很简单,但是很多应聘者却回答的不好,没能在应答中展现自己...
  • laven54
  • laven54
  • 2013年12月10日 08:45
  • 683

面试如何谈自己做过的项目

1、介绍项目架构 把项目整体架构描述一遍,系统环境和软件架构可以一句话带过。网络架构可以按照网络拓扑来说明,顺便把服务器角色和业务流程说一下。要突出运维体系架构中的关键点:监控报警、负载均衡、冗余、高...
  • twc829
  • twc829
  • 2016年04月03日 21:25
  • 291

面试中初级程序员常常遇到的问题—— 描述你做过的项目

开发人员的面试中,面试官经常会让你描述之前做过的一些项目,以及你在其中开发的部分。看似很简单,很多人就是讲不清楚,要么寥寥几句讲不清楚,要么东扯西凑不着重点。原因很简单,要么你不懂接口,要么你描述不清...
  • lidog
  • lidog
  • 2017年05月20日 23:03
  • 1035

面试时如何谈自己做过的项目

前段时间换工作,搬家什么的,学习感觉耽误了,但在找工作面试的时候,感觉下面一些意见很有用,分享一下   1、介绍项目架构 把项目整体架构描述一遍,系统环境和软件架构可以一句话带过。网络架构可...

(4.6.22)来吧,是时候撸一份自己的RxJava框架啦

RxJava是什么,在这里就不多做赘述了,如果不太懂,请出门google 简单提一下它的优点: 1. 链式调用—不再出现一缕缕的callback,实现代码整洁和良好可读 2. 线程调...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:前些时候做过的一份面试试题
举报原因:
原因补充:

(最多只允许输入30个字)