百度2012研发工程师笔试卷

四次元口袋 2019-04-30 05:28:56
1.判断一个括号字符串是否匹配正确,如果括号有多种,怎么做?如(([]))正确,[[(()错误。

2.用C语言写一个函数来执行一串任务。任务是互相依赖的。比如B任务依赖A任 务,则A完成B才能执行。不考虑并发限制,假设所有的任务都能一次执行成功,所有的任务执行时间都相等。任务数据结构原型为:

typedef struct {
//该任务的 ID
int id;
//该任务依赖的任务的 ID
int *child;
//该任务依赖的任务个数
int child_num;
} task;

// 函数原型:
bool doschedule(task*pask,inttask_num);

//以下函数可以直接调用:
void dotask(int id); //执行一个进程

//等待 timeout 时间,并返回一个执行成功的任务的 id,如果没有任务在时间片内完成,则返回-1
int waittask(int timeout);

bool killtask(int id); //杀掉一个进程。

3.说明以下包含const修饰符的语句的意义
a). double * ptr=&value;
b). const double * ptr=&value;
c). double *constptr =&value;
d).const double *const ptr=&value;

4.阐述栈和堆在生命周期、速度、内存性能等方面的不同点。假如现在有一个缓冲 区域绝大多数只需要1KB空间,极少数极端情况下需要100MB,怎么样合理分配内存?

5.请问c语言中怎么去除const修饰?比如:const double value=0.2f;double *ptr;ptr 怎么样获取 value 的值?

6.百度的某服务机制类似于CS(customer-server),有时候大量用户访问服务器S,导致S运行效率缓慢。为了提升效率,拟在
C上利用一些空余的结果空间作为缓存。已知在C的一台客户机上,每天接收1000w query,其中500w uniq query,每个query 5KB,客户机内存3GB,硬盘 500GB。做出一个方案,说明系统结构、存储结构、性能优化等方面的设计。

7.在一维坐标轴上存在许多条线段,用最简单的算法找出重合长度最长得两条线段。比如线段A(1,5)、B(2,8)、C(3,9),则B和C的重合长度最长,为 5。

参考答案:https://download.csdn.net/download/weixin_39813541/11153335
...全文
37 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

591

社区成员

发帖
与我相关
我的任务
社区描述
提出问题
其他 技术论坛(原bbs)
社区管理员
  • community_281
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧