一些baidu面经

百度问的一些问题供参考:

1. epoll 和 select,epoll 两种模式,阻塞非阻塞;

2. 两个严格递增链表找出相同的元素组成新的链表; ref1   ref       

3. 网络传输中如何传送一个结构体,实现一个通用的程序;

4. accept 非阻塞模式;

5. 两段话如何计算相似度

6. stl 中 vector 的实现;

================================================

一面
(一小时)
1.面试官从简历里抽了一个较感兴趣的项目,让把项目简单介绍了下,针对项目问了几个技术问题
2. 介绍Java中垃圾回收机制,程序员平时需要关注这个吗?为什么?请举例说明。
3. 数据库隔离级别介绍、举例说明。
4. override和overload的区别。
5. 求二叉树的最大距离(即相距最远的两个叶子节点),写代码。
6. 两个栈实现一个队列,写代码。
7. 你觉得你的优势是什么?有什么技术薄弱点吗?
8. 目前手上有offer吗?


二面
(40分钟)
1.详细介绍研究生期间的小论文项目。
2. 求二叉树的宽度,先简介思路再写代码。
3. Hashmap、Hashtable和cocurrentHashMap的区别,要讲出它们各自的实现原理才行,比如Hashmap的扩容机制、cocurrentHashMap的桶分割原理、多线程安全性。
4. 进程调度算法,有哪些算法比较难实现?
5. linux下如何修改进程优先级?(nice命令的使用)。
6. linux下性能监控命令uptime介绍,平均负载的具体含义是什么?建议看server load概念。
7. linux下如何调试程序?说到gdb,具体如何调试?如何查看core文件中的堆栈信息等(bt指令)。


三面
(1小时20分钟)
1.介绍我研究生期间的论文,讲的很详细,每个点具体采用的技术、实现方法等,花了较长时间。
2. 打印二叉树两个叶子节点间的路径,写代码(汗,百度这么喜欢问二叉树)。
3. 字符串中第一个只出现一次的字符,如何优化算法使得遍历次数更少?
4. socket编程相关,如果服务器这边调用write写了100个字节的数据,客户端想要获得这个数据,是直接用read系统调用,参数也是100吗?
5. 百度新闻缓存预算问题:一般为了追求时间性能,都需要缓存一些新闻数据,你怎么计算所需预算?然后申请需要的主机……
6. 多线程的适用场景是什么?为啥要用多线程?
7. 问是否会go语言,……
8. 为啥对技术感兴趣,一些相关问题讨论。
9. 聊北京、谈offer。


总结
三面都是技术面,总体下来没有特别难的题目,从我的面试情况来看,百度这次非常看重面试者对二叉树的掌握情况,还有所做的项目详细介绍。

作者:敏敏Alexia,欢迎关注她的个人博客:程序媛想事儿。
原文网址:http://blog.csdn.net/lanxuezaipiao/article/details/40054675

 ========================================================================================================================

reference

找工作也告了一段落,最近也面了不少试,是时候做个总结,供有需要的朋友参考,顺便留给自己以后回忆。

先说下目前的状况,以后如果有新增面试经验可能会更新。

百度:实习三面->实习offer->1个月实习->转正offer->正在申请special
腾讯:这个比较坑,社招面了两次,一次是高级算法工程师,一次是地图检索组研发工程师,全挂。最近在内推TEG技术工程部,已到二面。
阿里:内推4面->在等offer
Google:发了面试邀请,还未参加面试。

本人目前的状况:属于屌丝级无所事事的码农,一天没事干,看看代码,修修bug。属于编程还过得去的码农。

百度(实习):
一面:什么话也不说,也不用自我介绍,直接拿笔开始写堆排序,由于比较粗心而且平时也是比较大大咧咧的,以至于写函数的时候,参数都懒得写全,我以为意思一下就行了,没想到面试官给我指出来了,幸亏他也没有太在意。第二个开始伪代码手写线程池,基本上了解过线程池原理就差不多,在顺带了解一下linux下posix规范也就OK了,或者用自己最熟悉的那一套线程库也OK,没有太大难度。最后设计一个算法,题目是:在拼音检索中,有很多key,分别对应的是不同的value,比如百度贴吧,bdtb,bdt,bd,b都可以对应到百度贴吧,百度糯米,bdnm,bdn,bd,b都可以对应,然后bd,b都可以对应百度贴吧和糯米,设计一套算法。

二面:二面的面试官很冷淡(与他共事之后发现他很好玩,哈哈),问了shared_ptr,auto_ptr的实现,只要看过源码基本上都差不多,memcpy,strcpy的区别,效率的话哪一个快,为什么,由于我没有看过源码也没有深入研究过,所以答的不是很好。最后给了一块业务组建上的代码,根据代码来猜意图,基本上都是STL,boost里面的东西,只要会用,看个八九不离十还是差不多的。

三面:三面是整个阿拉丁的高级项目经理,气质就是不一样,大概了解了下性格,说我语速很快,跟这边工程师很match,哈哈,然后就回去等消息了,过了几天HR通知

offer.

顺带说一下实习转正:只要你努力,认真去学,认真的思考,按时完成leader给的任务,然后有条件的话顺带拿几个其他offer,基本上就差不多了,现在在申请special。

阿里:
一面:忘得有点多,我大概回忆下,问了多态中的内存模型与linux下的滑动窗口协议栈,如何控制流量,为什么在近距离的网络传输的延迟比远距离的网络延迟要大。在问了一点ftp中设计思想,select的源代码,还有IBM的项目大概扯了点。

二面:在地铁中有入口和出口,每个站扣都有log日志,log日志记录了进入的时间和出去的时间,和公交卡ID,设计算法找出在地铁中停留中最短的公交卡ID。还问了,在云存储服务中,有命中cache,查询query的时候,会首先在cache中查找md5,如果查找不到,再去远程查找。设计一套cache,这个答的不太好,我只用了LRU,OPT的大概思想,在说了一下百度的工作,问了一些搜索引擎中的倒排检索。

三面:三面不知道面试官是忙还是怎么样,说你前两面评价还不错我就不问你技术了,然后扯了一点其它犊子就过了。

HR面:很正经的扯犊子,然后就让我等消息。

腾讯:
社招(高级算法工程师):跑到中国技术交易大厦,开始面试,面试官超屌,正眼都不看你一下。有很长一些数(百万级别),基本上都是递增的,有某小部分是乱序的,设计算法找出这一部分。还有一题忘了,然后就让我回去了,说有校招名额在通知你。

社招(地图检索组研发工程师):又叫我去,次奥,我以为有机会,(感谢若涵兄盛情款待,嘻嘻,以至于在等面试官中不那么无聊)到了面试官看完简历第一句我以为你是社招。。然后开始问,很多组数组,都是递增的,设计最优的算法找出所有数组中共同的元素,我已经想到最优了,也说了,又说如果有校招名额我们在联系你,大热天的跑来跑去,真醉了。

腾讯TEG技术工程部:
一面:感觉这次面试面的很不专业,问的大部分都是命令,工具怎么用,windows下的trace命令叫什么,有没有用过监控网络流量的工具,还有如果发现client和server的
延迟比较大,除了在代码中优化,应该还能在哪些地方优化,除了阅读代码,还有什么方式?1亿个数,找出最大的K个数。

二面:这次是副总监,问了IBM和百度的工作情况,深入问了Linux下的一些网络模型,tcp中的TIME_WAIT,CLOSE_WAIT,信号,条件变量,还有就是进程间通信,有几种方

法,找出Local下效率最高的通信模型。然后整准备问我算法,我的手机欠费了,电话自动挂断,然后就没有然后了。然后我现在还在等他的电话。

总结:校招还是比较注重基础的,基础需要打牢固。剩下的就是期待美团,蘑菇街,Google的面试能顺利通过了。

posted @ 2015-08-05 18:07  Ryan in C++  阅读(546)  评论(0编辑  收藏  举报