锁定老帖子 主题:百度面试归来,经验值又+1了
精华帖 (2) :: 良好帖 (11) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-12-13
最后修改:2011-12-13
之前去百度面试,整理了一下面试问题。没有笔试,直接和面试官交谈。感觉面试官人挺好的,挺有耐心,每次面试回来不论公司大小,不管能不能拿到offer,但基本都能有一些有价值的输入,还挺开心的。我虽然有4年工作经验,但是不是走纯技术系的,开发,维护,见客户,项目管理什么都干过,最近想换工作,粪发图强恶补算法,数据结构一类大公司特爱考的基础知识。 这次后几道题答的不好。尤其是有一个关于服务器session优化和数据库表水平拆分策略的,没说到点儿上,回来的路上有了点儿思路,回来百度一下,发现八九不离十。前面几个算法的也都是磕磕碰碰,好歹都说上来了,是不是最优的就不好说了。 以前做信息系统,更注重业务的获取与功能的实现,虽然所有人都喊性能、架构什么的,但是实际上没人在乎。反正撑死了也就那么点儿人用。互联网公司真的是不一样啊,对并发和大数据量的关注是深入骨髓的。感觉真是惭愧。虽然这几年跑客户谈需求讲ppt自诩也是混场面的,但是从心里希望自己在技术上也能再往前走一步。
根据记忆整理如下:
1. 有一个集合a,里面有n个正整数,乱序排列。给定一个正整数N,求,a中任意两个数相加等于N,共有哪些种组合情况。例如,集合为{1,3,44,2,4,5,54,222,368} N=6,则结果集为{1,5},{2,4} 这个题网上有类似的
2. Treemap的实现。 各种集合类的结构和优缺点,大家都挺爱考的。以前做行业信息化,没什么感觉,但是如果很在意性能,搞清楚还是挺有用的。
3. 有两个很大的文件,每个文件中都有1亿行,每行一个整数。问这两个集合的交集是什么。给定的前提是机器内存不足以完全装入任意一个文件。 这个几乎是网上的原题了
4. 堆和栈的定义,堆和栈里面的对象,哪个运行速度快。 还问了一些衍生的问题,记不清了,只要看清楚java教材关于这方面的介绍足矣
5. 为了实现一个折线图,需要将数据存入一种数据结构,折线图横坐标是时间,纵坐标是值,经常的查询是按时间段进行查询,如select value from t where begin>’20110101’ and end<’20111212’ ,问,使用java中的那种数据结构比较好。 还是考java中的各种集合类,本质上是问各种数据结构在顺序/随机的读取/插入上的效率
6. 数据库的索引通常用什么数据结构实现?为什么用这种数据结构。 就知道是btree,但是btree是咋回事,为啥不能用其他tree或者别的结构,这个看过一篇帖子以后才明白。算是学习了。
7. 如果数据库中有2个表,表a字段为姓名、年龄,表b字段为姓名、单位。现在使用姓名字段做left join查询,假设姓名字段都有索引了。问数据库是怎么实现的。如果把这两个表看为在内存中的数组,要自己实现left join,怎么实现? 面试官看我实在不知道数据库里leftjoin怎么实现的,就让我自己实现一个内存中的,勉强答出来了吧,但是可能不太好。
8. 数据库各种事务隔离级别 这个是纯不记得了,以前工作中从来用不到,真是汗颜。
9. wait()方法和notify()方法干什么用的,wait()方法有什么使用限制,是哪儿都能用么? 对于一个从来不用多线程的人,这么简单的问题也变得有点儿难。只知道干什么用的,不知道有什么限制。
10. 数据库中有一个表有上亿的数据量,怎么优化?(主要是拆分,除了按业务拆分外,还有什么从技术角度的,可扩展性好的水平拆分方式) 思路是拆没错,但是面试官问的不是业务拆分策略,而是从技术上考虑。还得考虑扩展性,比如拆好以后,数据量增长迅速,又要拆了,怎么办。这个水平拆分策略有好多,网上能搜到。但是我说的都不是很有体系,以前没弄过,都是现场想。。
ps:当时上新东方的时候,老师说,有的时候虽然你英语不好,但是有几个单词只要你记住了,说的时候塞到句子里,人家就会觉得你特地道,比如absolutely之流。我觉得面试的时候也有这种key words,比如位排序之流,说的时候还得特举重若轻。适用于各类新手和平时工作中压根用不到各种排序算法的人,仅供参考。
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-12-13
不错,有提高
|
|
返回顶楼 | |
发表时间:2011-12-13
5. 为了实现一个折线图,需要将数据存入一种数据结构,折线图横坐标是时间,纵坐标是值,经常的查询是按时间段进行查询,如select value from t where begin>’20110101’ and end<’20111212’ ,问,使用java中的那种数据结构比较好。
这个应该用TreeMap,查询的效率会比较高. subMap(K fromKey, K toKey) |
|
返回顶楼 | |
发表时间:2011-12-13
我和楼主差不多,面过SAP、HP、花旗,感觉问的都是基础,需要恶补!
|
|
返回顶楼 | |
发表时间:2011-12-13
感谢楼主的分享啊,像楼主这样的都是好人哇
|
|
返回顶楼 | |
发表时间:2011-12-13
最后修改:2011-12-13
楼主这种分享不只是为了抱团通过面试,更多为了检验自己在知识上的短板。
一次价值的面试,不管成功与否,总有很多收获,然后自己慢慢变得更强壮。 感觉一些时候,技术可能存在一定应用需求驱动的因素,没有应用自己研究也只能是研究其一二。 |
|
返回顶楼 | |
发表时间:2011-12-13
zhameng 写道 我和楼主差不多,面过SAP、HP、花旗,感觉问的都是基础,需要恶补!
这几家都在金科路地铁站附近啊, HP在张江高科站 |
|
返回顶楼 | |
发表时间:2011-12-13
大公司用的一般是自己公司的闭源的东西,所以一般不考SSH什么的,spring倒是问过几次
|
|
返回顶楼 | |
发表时间:2011-12-13
这些题目还真挺高端的
|
|
返回顶楼 | |
发表时间:2011-12-13
楼主 一生平安...
|
|
返回顶楼 | |