百度2012研发工程师笔试卷

时长:120分钟 总分:100分

202浏览 0人已完成答题

题型介绍
题型 简答题
数量 8
1.
搜索引擎的日志要记录所有查询串,有一千万条查询,不重复的不超过三百万,要统计最热门的10条查询串。
问题详情

搜索引擎的日志要记录所有查询串,有一千万条查询,不重复的不超过三百万
要统计最热门的10条查询串. 内存<1G. 字符串长 0-255
(1) 主要解决思路
(2) 算法及其复杂度分析
2.
用 C 语言写一个函数来执行一串任务。任务是互相依赖的。比如 B 任务依赖 A 任务,则 A 完成 B 才能执行。不考虑并发限制,假设所有的任务都能一次执行成功,所有的任务执行时间都相等。任务数据结构原型为: typedefstruct { int id;//该任务的 ID int *child;//该任务依赖的任务的 ID intchild_num//该任务依赖的任务的个数 }task; 函数原型: booldoschedule(task*pask,inttask_num )
问题详情

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

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

说明以下包含 const 修饰符的语句的意义

a). double * ptr=&value;

b). const double * ptr=&value

c). double *constptr =&value

d).const double *const ptr=&value

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

请问 c 语言中怎么去除 const 修饰? 比如:
const double value=0.2f; double *ptr;
ptr 怎么样获取 value 的值?
6.
在一维坐标轴上存在许多条线段, 用最简单的算法找出重合长度最长得两条线段。
问题详情

在一维坐标轴上存在许多条线段, 用最简单的算法找出重合长度最长得两条线段。 比如线段 A(1,5)、B(2,8)、C(3,9),则 B 和 C 的重合长度最长,为 5。
7.
百度的某服务机制类似于 CS(customer-server), 已知在 C 的一台客户机上,每天接收 1000w query,其中 500w uniq query,每个 query 5KB,客户机内存 3GB,硬盘 500GB。做出一个方案,说明系统结构、存储结 构、性能优化等方面的设计。
问题详情

百度的某服务机制类似于 CS(customer-server),有时候大量用户访问服务器 S, 导致 S 运行效率缓慢。 为了提升效率, 拟在 C 上利用一些空余的结果空间作为缓存。 已知在 C 的一台客户机上,每天接收 1000w query,其中 500w uniq query,每个 query 5KB,客户机内存 3GB,硬盘 500GB。做出一个方案,说明系统结构、存储结 构、性能优化等方面的设计。
8.
判断一个括号字符串是否匹配正确,如果括号有多种,怎么做?如(([]))正确,[[(()错误。
问题详情