百度校园招聘2015杭州站(软件研发)笔试题

进修社 人气:2.37W

这是9月26号参加的杭州站笔试题,感觉我好不厚道啊- -!,本人是学java方向的,但这次出题好多都是C里面的,另楼主直冒冷汗啊,毕竟还是菜鸟一枚,所以说感觉直接跪在笔试的可能性比较大,废话不说了,就凭本人的记忆来说一下今天的考试题吧

百度校园招聘2015杭州站(软件研发)笔试题

时间不早了就简单的说下自己的答案,仅供参考,希望大家批评指正

一、简答题

1、栈和队列的区别?举出不少于三个栈和队列的常用接口方法?

答:栈为先进后出数据结构,队列为先进先出,方法pop,push,isEmpty

2、什么是多态?在c++里面有什么方法表示多态,举出一个例子?

答:多态就是多种状态,有重载和覆盖

3、什么是tcp四次握手关闭连接?怎么理解TIME_WITE;

二、算法与程序设计题

1、用C++写出一篇文章的.单词倒转,例如第一个单词倒转后为最后一个单词,最后一个单词倒转后为第一个单词。要求不准使用库函数以及系统调用,函数原型为 *char word_revese(*char str);

2、设一个数组有{a1,a2,a3,……,an},求单调增的字串长度,例如,7,3,4,8,5,6,单调增字串为3,4,5,6.长度为4;

动态规划,比较简单

#include<stdio.h>

#include<string.h>

int main()

{
   int N,i,j,count,len,a[10010];

   char str[10010];

   scanf("%d",&N);

   while(N--)

   {

        scanf("%s",&str);

        len=strlen(str);

        for(i=0,a[0]=-200,count=1;i<len;i++)

           for(j=count-1;j>=0;j--)

          if(a[j]<str[i])//一旦在a[t-1]中找到就退出

          {

              a[j+1]=str[i];

             if(j==count-1)

                count++;

             break;

          }

       printf("%dn",count-1);

    }

  return 0;

}

3、设计个有限自动机,取出一个c文件里的所有注释。

三,系统设计题

这个是一个游戏排名系统的设计题,要求用户在客户端游戏结束之后需要向服务器提交分数,然后测出你的排名和在服务器的排名

1、客户端与服务器端应该如何设计,数据的存放和结构应该是用什么方式,便于查找和插入。

2、如果同时在线人数超过一亿你的设计还能使用吗?能,请说明理由。不能的话应该如何优化和设计?