2012百度实习生笔试

本文分享了一次在北京举行的C/C++软件开发岗位的笔试经验,包括简答题、编程题及系统设计题等内容,涉及兄弟单词查找算法、系统日志存储结构设计、网络爬虫URL比较等技术点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     投了个北京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、

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

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

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


系统设计题

百度的提示栏

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值