中软面试题-最新

中软的面试比较经典,也比较严格,一般有四轮,类似于微软的面试。中软面过以后,根据项目组,会推到美国微软那边运用live meeting & con-call 再面一次。以下是我的面试题及个人的小分析,拿出来和大家share一下。希望更多的人能过这个坎。如有什么问题,可以一起交流。直接进入主题:

1. English communication. (sale yourself, project information, your interesting,and how to deal with problem    you encounter etc.)

2.  the using of key words "new".

Regarding this problem, you can refer to my other blog with this path: new . or you can get more information from internet.

3.Write a method which can remove the same unit from a Array which has been sorted.

//在排序好的数组中移除相同的元素public int [] RemoveCommon(int [] a)

{

       if (a.Length==0)

    {

        return a;

    }            

    List <int> Result = new List<int>();

    int i , j;

    i = j = 0;

    int temp = a[0];

while (i < a.Length)

    {

        if (a[i] != temp)

        {   

            j++;     

            temp = a[i];

            Result.Add(temp);    

        }

        i++;

    } 

    // convert List to Array

    //......

    return Result;            

}

4. Judge Triangle and write test case for your code.

判断一个三角形,如果是等边的返回1,等腰返回2,其他的返回3,不能构成三角形的返回 4。 再编写test case 测试判断一个三角形,如果是等边的返回1,等腰返回2,其他的返回3,不能构成三角形的返回 4。 再编写test case 测试

public int Triangle(int a, int b, int c)

{           

    if (a <= 0 || b <= 0 || c <= 0)

    {

        return 4;

    }

    int [] arry = new int [3] { a, b, c };

    Array.Sort(arry);

    int min, mid, max;

    min = arry[0];

    mid = arry[1];

    max = arry[2];

    if (max-mid<min)  // 注意:用这个去判断是否能构成三角形

    {

        return 4;  //不能构成三角形

    }

    if (min == max)

    {

        return 1;  //等边

    }

    else if ( mid==min || mid == max)

    {

        return 2; // 等腰

    }

    else

        return 3;   // 其他         

}

在这里,我最想提的就是这一题了,因为,我们知道,判断三角形,我们常用 两边之和大于第三边。但是,在这里,就不能用了。例如: a= int.MaxValue, b=int.MaxValue, c=int.MaxValue, 这时候三边肯定能构成三角形,但是,a+b 的和已经超过了int 型的最大值。造成内存溢出。 有人说,内存溢出 就是 0 或者负数,用这个不就可以判断吗?这个还真不行。你可以多写几个test case 试试。

Test case:

其他的普通的case,我就不写了,在这里就强调一下,边界值的问题(也就是常说的 临界值)。int.maxvalue, 0 etc.

5.Reverse string.

字符串反转,例如: string str="I love china", 反转后就是 str="china love I".private char [] Convent(char [] str,int start, int end)

{

    char temp;

    int len = end - start;          

    int i=0;

      while(i<len/2)

      {

           temp = str[start+i];

           str[start +i] = str[end -i - 1];

           str[end-i-1] = temp;

           i++;

        }

    return str;

}

public string Reverse(string str)

{

    if (String.IsNullOrEmpty(str))

    {

        return null;

    }

     char [] objstr = str.ToCharArray(); ;

     int length=objstr.Length;

     objstr = Convent(objstr,0,length);

     int i = 0;

     int start=0,end=0;

    while (i < length)

    {                 

        if (objstr[i] == ' '||i==length-1)

        {

            if (i == length - 1)

            {

                end = i + 1;

            }

            else

            {

                end = i;

            }

            objstr = Convent(objstr, start, end);

            start = end+1; 

         }

         i++;

    }

     return new string(objstr);

}

6. Find the most width level in a tree and return the count of level, if there are many one, just return the nearest level. (it can be found in the internet)

寻找树的最宽层,并返回那层的层数(如有多个最宽层,返回离根节点最近的层数)static int  M 10 //假设二叉树最多的层数

int Width(BinTree T)

 { 

  int static n[M];//向量存放各层结点数

  int static i=1;

  int static max=0;//最大宽度

  if(T)

   {

    if(i==1) //若是访问根结点

     { 

      n[i]++; //第1层加1

      i++; //到第2层

      if(T->lchild)//若有左孩子则该层加1

       n[i]++;

      if(T->rchild)//若有右孩子则该层加1

       n[i]++;

     }

    else

     { //访问子树结点

      i++; //下一层结点数

      if(T->lchild)

       n[i]++;

      if(T->rchild) 

       n[i]++;

     }

    if(max<n[i])max=n[i];//取出最大值

     Width(T->lchild);//遍历左子树

    i--; //往上退一层

    Width(T->rchild);//遍历右子树

   }

  return max;

 }//算法结束

7. Implement the function: Int ConvertToInt(string num)

实现 Int ConvertToInt(string num)public  int ConvertToInt(string num)

{          

    int result=0;

    int temp=0;

    if (!string.IsNullOrEmpty(num))

    {

        if (IsInteger(num))

        {

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

            {

                temp = result;

                result = result * 10 + ((int)num[i] - 48); //0 的Asscall码 是48

                if (temp == result)

                    continue;

            }

            if (temp != result)

时间: 2024-09-14 18:20:42

中软面试题-最新的相关文章

一起谈.NET技术,中软面试题-最新

      中软的面试比较经典,也比较严格,一般有四轮,类似于微软的面试.中软面过以后,根据项目组,会推到美国微软那边运用live meeting & con-call 再面一次.以下是我的面试题及个人的小分析,拿出来和大家share一下.希望更多的人能过这个坎.如有什么问题,可以一起交流.直接进入主题:  1. English communication. (sale yourself, project information, your interesting,and how to deal

调研机构中怡康最新测算数据显示

调研机构中怡康最新测算数据显示,今年上半年,国内家电市场累计零售额总规模达6913亿元,较去年同期相比增长了19 .6%.其中黑电市场规模达945亿元,同比增长19 .6%:白电市场规模达1635亿元,同比增长25 .4%.厨卫.生活电器等市场规模均有增长. 中怡康副总裁彭煜指出,下半年将是电商发力的高峰期,年内国内家电电商占比有望达到整体家电市场的10%-12%.

ASP.NET MVC中如何标记最新的发布新闻或文章

在开发的网站过程中,一些文章列表或新闻列表,需要在标题前放置一个小new.gif小图,标记为是最新的新闻或是文章.今天Insus.NET的练习,就是在asp.net mvc的应用程序中实现这样功能.计划使用三种不同的方法来实现. 先从数据库开始,创建一个表,添加一些数据,创建一个获取所有记录的存储过程: 在MVC应用程序中,创建模型: 创建一个Entity,方例与数据交互,获取资料:

如何在Ubuntu中升级到最新内核

每过段时间,就有新的设备和技术出来,因此如果我们想要充分利用它,保持最新的 Linux 内核就显得很重要.此外,更新系统内核将使我们能够利用新的内核优化,并且它还可以帮助我们避免在早期版本中发现的漏洞. 准备好了在 Ubuntu 16.04 或其衍生版本(如 Debian 和 Linux Mint)中更新你的内核了么?如果准备好了,请你继续阅读! 第一步:检查安装的内核版本 要发现当前系统安装的版本,我们可以: $ uname -sr  下面的截图显示了在 Ubuntu 16.04 server

如何在 Ubuntu 中升级到最新内核

每过段时间,就有新的设备和技术出来,因此如果我们想要充分利用它,保持最新的 Linux 内核就显得很重要.此外,更新系统内核将使我们能够利用新的内核优化,并且它还可以帮助我们避免在早期版本中发现的漏洞. 建议阅读: 如何升级 CentOS 7内核 准备好了在 Ubuntu 16.04 或其上下游衍生版本(如 Debian 和 Linux Mint)中更新你的内核了么?如果准备好了,请你继续阅读! 第一步:检查安装的内核版本 要发现当前系统安装的版本,我们可以: $ uname -sr 下面的截图

linux中面试题之awk的使用详解

面试题内容: 需求:以"|"为分隔符,打印第一字段第一个字符是1,第二个字段第二个字符是2,第三个字段第三个字符是3,以此类推:倒数第二个字段前8个字符是当天日期如"20140610". 源文件raw_data.txt: 1|12|a7f865ce-b274-4b23-890c-893c7d1f2198||||2016082055104 3|22|bd166d4f-5222-4d69-a277-deb543db1a9d||||20141117012936| 1|a2

Dedecms频道,列表页,内容页中调用全站最新文章

利用dede建站时经常要调用全站的最新文章,本文讲方法总结如下: 1.如果是在首页调用全站的最新文章,标签如下:  代码如下 复制代码 {dede:arclist row=10} <a href="[field:arcurl/]">[field:title/]</a> {/dede:arclist} 2.如果是在频道页列表页调用全站最新文章,标签如下:  代码如下 复制代码 {dede:arclist typeid='top' row='10'} <a h

中兴笔试题

下面这段代码的输出是多少(在32位机上).char *p;//指针char *q[20];//指针数组char *m[20][20];//二维指针数组int (*n)[10]; // 这是行指针struct MyStruct{char dda;double dda1;int type ;}:MyStruct k;printf("%d %d %d %d",sizeof(p),sizeof(q),sizeof(m),sizeof(n),sizeof(k));答案:4,80,1600,4,2

如何动态添加滚动图片就是在后台添加一张图片时可以在首页相册中显示所有相册中所有图片的最新的前几张

问题描述 <SCRIPTlanguage=javascript>//welcometowww.7stk.comvarcurrslid=0;varslidint;functionsetfoc(id){document.getElementById("focpic").src=picarry[id];document.getElementById("foclnk").href=lnkarry[id];document.getElementById("