百度软件笔试题范文_第1页
百度软件笔试题范文_第2页
百度软件笔试题范文_第3页
百度软件笔试题范文_第4页
百度软件笔试题范文_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

百度软件笔试题范文 一、选择题:15分 共10题 1. 一个含有n个顶点和e条边的简单无向图,在其邻接矩阵存储结构中共有_个零元素, A.e B.2e C.n2-e D.n2-2e 2. _是面向对象程序设计语言中的一种机制。这种机制实现了方法的定义与具体的对象无关,而对方法的调用则可以关联于具体的对象。 A.继承(Inhertance) B.模板(Template) C.对象的自身引用(Self-Reference) D.动态绑定(Dynamic Binding) 3. 应用层DNS协议主要用于实现 网络服务功能. A. IP地址到网络设备名字的映射 B. IP地址到网络硬件地址的映射 C. 网络设备名字到IP地址的.映射 D. 网络硬件地址到IP地址的映射 4. linux默认情况下,一个进程最多能打开多少文件? A.64 B. 128 C. 512 D. 1024 5. 下面结构体 struct s1 char ch, *ptr; union short a, b; unsigned int c:2, d:1; struct s1 *next; ; 的大小是_: A. 12字节 B.16字节 C.20字节 D. 24字节 6. 任何一个基于“比较”的内部排序的算法,若对6个元素进行排序,则在最坏情况下所需的比较次数至少为_。 A.10 B.11 C.21 D.36 7. 以下不是进程间通讯的是_ A 共享内存 B 信号量 C线程局部存储 D 消息队列 8. 下面程序,求count的值 int func(x) int count= 0; x=9999; while(x) Count +; x = x&(x-1); return count; A 8; B 10; C 5; D 11 9. 使用malloc系统调用分配的内存是在_ 上分配的? A 栈; B bss; C 物理内存; D 堆 10. 最坏情况下,合并两个大小为n的已排序数组所需要的比较次数_ A.2n B.2n-1 C.2n+1 D.2n-2 二、简答题:20分,共3题 1. (5分)下面这段代码是把中英文混合字符串(汉字用两个字节表示,特点是第一个字节的最高位为1)中的大写字母转化为小写字母,请找出其中的bug,注意各种异常情况。 for (char *piterator = szWord; *piterator != 0; piterator+) if (*piterator & 0x80 != 0) piterator+; else if (*piterator = A & *piterator = Z) *piterator += 32; 2. (5分)对给定的上亿条无序的url,请按照domain、site以及path分别排序,并请指出排序过程中可能会遇到的哪些问题?如何提高效率? 例如:.baidu./path/about.html,domain、site以及path的定义分别如下: Domain:baidu. Site:.baidu. Path: .baidu./path 3. (10分)某型CPU的一级数据缓存大小为16K字节,cache块大小为64字节;二级缓存大小为256K字节,cache块大小为4K字节,采用二路组相联, 为了进一步提高效率,你还可以采取什么办法? A段代码 int matrix102315; const char *str = this is a str; int i, j, tmp, sum = 0; tmp = strlen(str); for(i = 0; i 1023; i+) for(j = 0; j 15; j+) sum += matrixij + tmp; B段代码 int matrix102517; const char *str = this is a str; int i, j, sum = 0; for(i = 0; i 17; i+) for(j = 0; j 1025; j+) sum += matrixji + strlen(str); 三、编程题:30分 共1题 注意:要求尽可能提供完整代码,如果可以编译运行酌情加分。 1. 内存中有一个长数组,条目数为10万,数组单元为结构体struct array,sizeof(struct array)为512字节。结构有一int型成员变量weight。现需要取得按weight值从大到小排序的前500个数组单元,请实现算法,要求效率尽可能高。 四、设计题:35分 共1题 注意:请尽可能详细描述你的数据结构、系统架构、设计思路等,建议多写一些伪代码或者流程说明。 1. 请设计一个字典。以字符串为索引,存储用户定义的定长结构。要求有增、删、查、改的功能。已经给定一个函数,可以由字符串映射到一个签名,每个签名由两个unsigned int类型组成。假设每一个字符串能够对应唯一的一个签名,完全没有重复(或者重复的概率可以忽略),并且签名分布足够均匀。 请描述你的数据结构?内存如何申请?增、删、查、改的功能如何实现?如果操作很频繁,该如何优化? / 有一个数据库,用一张表存储了某超市的历史销售记录,这个表中包含如下数据信息:商品大类、商品小类、商品编号、商品名称、供应商编号、供应商名称、入库时间、入库价格、批次、当批入库总量、目前库存量、销售时间、商品单价、销售数量、付款方式、销售金额、是否优惠、优惠金额、销售柜台号、销售终端号、销售人员姓名等。 (1)请把数据表拆分成符合第三范式的多个表(写出表的结构定义SQL语句); (2)根据拆分后的结构,写出如下统计SQL语句: 某种商品的总销售额; 某个供应商的总交易次数; 每月每个商品大类的销售额

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论