2012百度实习生笔试

     投了个北京c/c++软开,笔试地点:南大

     题目分为3部分:简单题3道、算法编程题3道、系统设计题1道

简答题:

1、兄弟单词(变位词),如army和mary为兄弟单词,设计一个算法,找出给定字典中的所有兄弟单词;


2、系统日志分为几个层次,第一级分为A、B、C、D...第一级下分为第二类a、b....,第二类下又分为第三级ⅠⅡⅢⅣⅤ、第三级下为数据项key-value对,key为数据项,从1开始,写入log时,用户提供5个参数,采用write_log(A,a,Ⅰ,1,xia),从log中读出时提供4个参数get_log(A,a,Ⅰ,1),返回对应的value值。设计合理的数据结构存储日志


3、c和c++如何动态分配和释放内存,区别是什么


编程题

1、网络爬虫,从链接www.baidu.com/a.html开始搜索,a.html链接到b.html,为简化问题,假设链接到的都不包含相同url,现从baidu.com/a.html和baidu.com/b.html两个入口进行爬虫,则得到2个单链表,如何找出其中相同的url(假设url有上百万,不能用hash)


2、

2012百度实习生笔试_第1张图片

图中的方框代表层,圆圈代表数据节点,现在竖着画一条线(可以拐弯),穿过数据节点

(1)写出一个函数,判断哪些节点有可能在一条线上,

(2)给出一个函数,求所有可能与其在一条线上的节点


系统设计题

百度的提示栏

问实现思路,给出实现的数据结构和算法描述;如果要改进,怎么能在时间和空间上有所提升

你可能感兴趣的:(2012百度实习生笔试)