发布于 2014-09-29 10:20:01 | 216 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的精品教程,程序狗速度看过来!

百度(Baidu)中文搜索引擎

百度(Nasdaq简称:BIDU)是全球最大的中文搜索引擎,2000年1月由李彦宏、徐勇两人创立于北京中关村,致力于向人们提供“简单,可依赖”的信息获取方式。“百度”二字源于中国宋朝词人辛弃疾的《青玉案·元夕》词句“众里寻他千百度”,象征着百度对中文信息检索技术的执著追求。


一.编程题
1.用C语言写一个函数来执行一串任务。任务是互相依赖的。比如B任务依赖A任务,则A完成B才能执行。不考虑并发限制,假设所有的任务都能一次执行成功,所有的任务执行时间都相等。任务数据结构原型为: typedefstruct { int id;//该任务的ID
int *child;//该任务依赖的任务的ID intchild_num;//该任务依赖的任务的个数 }task; 函数原型:
booldoschedule(task*pask,inttask_num ); 以下函数可以直接调用:
void dotask(int id);//执行一个进程
intwaittask(int timeout);//等待timeout时间,并返回一个执行成功的任务的id,如果没有任务在时间片内完成,则返回-1 boolkilltask(int id);//杀掉一个进程
2.如果考虑并发限制,应该怎么改进?

二、简答题
1.阐述栈和堆在生命周期、速度、内存性能等方面的不同点。假如现在有一个缓冲区域绝大多数只需要1KB空间,极少数极端情况下需要100MB,怎么样合理分配内存?
2.说明以下包含const修饰符的语句的意义 a). double * ptr=&value; b). const double * ptr=&value; c). double *constptr =&value; d).const double *const ptr=&value;
3.请问c语言中怎么去除const修饰? 比如:
const double value=0.2f; double *ptr;
ptr怎么样获取value的值? 解:Ptr=(int *)&value;

三.算法设计题
1.在一维坐标轴上存在许多条线段,用最简单的算法找出重合长度最长得两条线段。比如线段A(1,5)、B(2,8)、C(3,9),则B和C的重合长度最长,为5.
2.是一道求最短路径的问题,例子给出了一个包含5个节点的有向图,标有权值,求始点到终点的距离,图就不画了 。 这两道题都需要详细写明算法与函数设计
四.系统设计题
百度的某服务机制类似于CS(customer-server),有时候大量用户访问服务器S,导致S运行效率缓慢。为了提升效率,拟在C上利用一些空余的结果空间作为缓存。已知在C的一台客户机上,每天接收1000w query,其中500w uniq query,每个query 5KB,客户机内存3GB,硬盘500GB。做出一个方案,说明系统结构、存储结构、性能优化等方面的设计。



最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务