您的位置:首页 > 其它

百度2014移动研发笔试题目

2014-09-21 21:21 337 查看
一.简答题
  1.简述计算机的存储系统分为哪几个层次,为什么这样的分层能够提高程序的执行效率。

所谓存储系统的层次结构,就是把各种不同存储容量、存取速度和价格的存储器按层次结构组成多层存储器,并通过管理软件和辅助硬件有机组合成统一的整体,使所存放的程序和数据按层次分布在各种存储器中。目前,在计算机系统中通常采用三级层次结构来构成存储系统,主要由高速缓冲存储器Cache、主存储器和辅助存储器组成。
      存储系统多级层次结构中,由上向下分三级,其容量逐渐增大,速度逐级降低,成本则逐次减少。整个结构又可以看成两个层次:它们分别是cache一主存层次和主存一辅存层次。这个层次系统中的每一种存储器都不再是孤立的存储器,而是一个有机的整体。它们在辅助硬件和计算机操作系统的管理下,可把主存一辅存层次作为一个存储整体,形成的可寻址存储空间比主存储器空间大得多。由于辅存容量大,价格低,使得存储系统的整体平均价格降低。由于Cache的存取速度可以和CPU的工作速度相媲美,故cache一主存层次可以缩小主存和CPU之间的速度差距,从整体上提高存储器系统的存取速度。尽管Cache成本高,但由于容量较小,故不会使存储系统的整体价格增加很多。
     综上所述,一个较大的存储系统是由各种不同类型的存储设备构成,是一个具有多级层次结构的存储系统。该系统既有与CPU相近的速度,又有极大的容量,而成本又是较低的。其中高速缓存解决了存储系统的速度问题,辅助存储器则解决了存储系统的容量问题。采用多级层次结构的存储器系统可以有效的解决存储器的速度、容量和价格之间的矛盾。

  2.浮点数在计算中如何表示,如何对浮点数判等。

浮点数由阶码j和尾数S两部分组成。阶码是整数,阶符和阶码的位数m合起来反映浮点数的表示范围和小数点的实际位置;尾数是小数,其位数n反映了浮点数的精度;尾数的符号代表了浮点数的正负。

  3.简述TCP与UDP协议的差别,两者与HTTP的关系。并列举HTTP的方法,以及常见的返回状态码。

 TCP:是一个面向连接的协议。从客户端到服务器可以建立一个连接,然后数据通过这个连接进行传输。TCP有一下特点:

   1>.可靠的。从TCP套接字发送消息,只要连接没有中断,就可以到达目的地。如果丢失了,服务器会请求重新发送。

   2>. 有序的。TCP数据包中有序号和确认号。

   3>. 重量级的。当TCP字节流以错误顺序到达,计算机将发出重新发送请求。序列中已经发出的部分必须一起放回。

 UDP:是无链接的,特点如下:

   1>.不可靠的。不保证到达,可能会丢失

   2>.无序的。当你发送两个消息,你无法确定哪一个会先到达。

   3>. 轻量级的。仅仅是发出去就不再管它了,速度非常快。

 HTTP是建立在TCP协议上的应用层协议。常见的返回状态码有:

一些常见的状态代码包括:

200 – 服务器成功返回网页
404 – 请求的网页不存在
503 – 服务器暂时不可用

二.算法与程序设计

  1.设计一个反转字符串的函数 char *reverse_str(char *str),不使用系统函数。

  2.给定一个字符串,(1,(2,3),(4,(5,6),7)),使它变为(1,2,3,4,5,6,7),设计一个算法消除其中嵌套的括号。(c/c++)

  3.使用C语言实现htonl(将long性转为网络字节码),不使用系统自带函数。

const int BigEnd = 0;
const int LittleEnd = 1;

int isBigOrSmall()
{
    short int flag = 0x0001;
    char *t = (char *)(&flag);
    return t[0]? LittleEnd : BigEnd;
}
uint32_t EndConvert(uint32_t A)
{
    return ((A&(0xff000000))>>24)|((A&(0x00ff0000))>>8)|((A&(0x0000ff00))<<8)|((A&(0x000000ff))<<24);
}
uint32_t mhtonl(uint32_t t)
{
    return isBigOrSmall() ? EndConvert(t) : t;
}

int main()
{
    uint32_t tt = 0x11223344;
    printf("%x\n",EndConvert(tt));


三.系统设计题

  面向对象是一种思想,使用C语言来实现下列问题。

  1.如何定义一个类?

  2.如何创建以及销毁对象?

  3.如何实现类的继承?

  从上面来看,计算机原理知识两道,网络协议方面一道,其余都为C方面的考察,两道字符串处理,一个C和面向对象思想的结合。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: