百度搜索-实习

原文链接:

百度搜索实习生面经

一面面试官是个小年轻,非常Nice。

先是自我介绍,之后就是出题

1、有序双链表去重,很简单。

2、TCP、UDP、网络编程socket,问一些QQ传送是什么协议,答得一般,最后说不太了解

3、多线程、进程线程区别,多线程编程注意哪些问题、线程间通信、进程间通信、答得也一般。

4、shell编程、脚本语言,当时嘴贱说了解一点,其实基本不会shell,一个文件每行放站点跟IP地址,所有站点不重复,要求输出IP地址以及出现次数。当场跪。

5、A与B是朋友,B与C是朋友,则A与C也是朋友,一个很大的文件,每行放两个人名字,要求输入两个人名字,能够快速判断是不是朋友关系。

立马想到的一种是set(string),把一个朋友圈里面所有人当作一个set,共有M个圈子,时间复杂度是O(M),问有没有更好的。

当时想到了位图,所有名字进行映射,然后用一个大矩阵存储,输入两个名字找对应位置,时间复杂度O(1),空间复杂度比较高 O(n^2)。问还有没有更好的。没想出来

6、概率题。随机电子密码正看倒看都是数字的概率。正看倒看是同一个数的概率,比较简单。

然后问看法,之后直接把2面叫上来面

2面面试官看起来不怎么nice,整个人冷冰冰的,爱理不理。

继续自我介绍。花了挺长时间讨论项目,实验室的项目都非常的水,也没得说,有做过一个界面的项目,聊的比较多。

问:做得项目跟我们的需求不符,你怎么看。(脸很臭)

只能笑笑说是导师分配,但是平时喜欢看一些算法、数据结构的书籍,兴趣在此

问:除了。。。这些项目,还做过什么(继续臭脸)

刚好几天前做过一个新闻网站,收集百度、腾讯、搜狐、网易的热点新闻的、用的是python。

说了这个项目之后,明显面试官稍稍热情了,啪啪啪问了一堆。啪啪啪答了一堆

问:这个项目还有想要什么改进

灵机一动:搜索(面的是搜索岗)

啪啪啪问了一堆,啪啪啪答了一点。

问:为什么要做这个项目

啪啪啪。。想进军互联网,但是没做过web开发,因此想学,刚好会python,so啪啪啪

OK,进入正题,终于开始问问题了,这个时候才感觉面试官脸不那么臭。

1、判断链表有无环

2、一个人报1-100的数字,中间漏报一个,另外一个人每次只能记一个数,怎么实现 。。啪啪啪

3、问语法。指针引用区别  。。啪啪啪

4、有指向空的指针么,有指向空的引用么。答有立马又问既然引用必须初始化,怎么会有

啪啪啪啪。。返回局部对象的引用。。。面试官嗯了一声不说话了

5、对大数据、hadoop、mapreduce了解么 答了解

6、说一下mapreduce原理 啪啪啪

7、mapreduce所处理数据特点 啪啪啪

8、mapreduce能聚类么?答应该能

9、聚类时要注意什么? 啪啪啪。。特征值的分散。。

10、reduce怎么把同一个键映射到筒里面。。啪啪啪排序

然后面试官开始讲mapreduce的原理,啪啪讲了一堆,讲完之后,好,我们来做一道题。。。

11、两个文件A里面放的是不重复的10亿个数字,B一样。求A-B,A+B,A交B

想加、value=2是相交,value=1,2是A+B,A-B呢,想了一会

啪啪啪。。。A里面将value都设为3。。。value=4是相交。value=3是A-B。

问:不让你修改value。。

啪啪啪没想出来

提示:可以多次输入

啪啪啪,那就跟之前一样了 OK过

12、求第2大的数

立马知道要问什么了,因此不着急慢慢来,冒泡先

果然。一次遍历呢?  啪啪啪

果然 第K个。

不着急慢慢来,先来个数组顺序保存K个,因此复杂度O(n*k)

k=n就是n^2了,优化一下

数组变堆,O(nlogk)

继续优化。。。。。

啪啪啪有点焉了

继续。。。

胡扯。。。啪啪啪

继续。。。

胡扯。。。啪啪啪

提示:不要想数组链表什么的,往树上想

能想到的只有堆了,不满意。

OK结束。有什么问题

最后一道这个?  回去看看B+树。我搓~~~

OK,下去看看3面有没有空。先坐会

5分钟后,3面没空,我送你下去

下楼时候very nice,冲我笑笑,挥挥手,这还是一个人么?

整个面试将近3个小时

你可能感兴趣的:(百度搜索-实习)