百度面试

第一面
项目:
1、找一个项目,介绍下情况。其中遇到了什么问题,每种问题怎么样的解决方案。
算法题:
2、一个排好序的数组,找出两数之和为m的所有组合
3、自然数序列,找出任意连续之和等于n的所有子序列
数据结构:
4、从数据库查出一个数据结果集,其中有一个时间字段,请用一个数据结构存储使得可以最快速的查出某个时间段内的记录。
5、上一题我提到了B+树,他就继续问了为何用B+树实现索引而不用二叉树
数据库:
6、说说Oracle数据库的事务隔离级别,以及遇到的相关问题
这个我说了标准的四种级别,Oracle实现的三种级别,并概述了下多版本读一致性
项目相关技术:
7、看到简历上写了个rpc,讲讲,我说了跟rmi比较像,说了异同点,然后又展开到内存分配的问题,不过没搞懂他到底要说什么。还问题java客户端跟c程序服务端的通信情况,比如说c那边直接一个结构体过来,怎么处理,答曰没遇到过。
8、简历上写的jvm性能调优,说说都做了什么事情
9、说到jvm的时候,说到了我们用windows开发,就问linux的脚本知道么,awk用过么
10、简历上写web框架开发维护,就问浏览器端跟服务器端如何通信,不过最后只落到了java对象如何传递到客户端,客户端数据如何传递到服务端。
java基础:
11、并发同步的问题,synchorized是如何使用,Object的wait、notify方法什么作用
框架:
12、是否了解spring,ioc的实现,aop的实现方案,各种方案有什么限制

第二面
项目:
1、介绍下你做的项目,稍微高层次一些的介绍下,意思是不要没完没了的介绍
其中提到了主实例集群节点与主实例备用节点的单例状态如何保持同步
2、rpc通信和rmi区别
3、并发访问同一条数据的时候,如何保证数据同步。
4、网站性能优化都做了什么,具体的?ETag、Last-Modified、Expires、Cache-Control
5、最近看什么书,印象最深刻的是什么?
算法:
6、二叉树,找两个节点的最底层的公共父节点,给思路
7、单向链表反转,写代码

第三面(就记了这么多)
自我介绍:
1、个人基本情况,顺便提到项目,就开始扯了几下
数据库:
2、数据库性能优化有做么?做了些什么?
设计:
3、设计一个小商店进销存系统的的表结构设计,老板每天要知道卖出的货物,要定期查看货物的成本、销售额和利润。
这里要注意,重点之一是如何进行成本计算,要知道成本计算的几种方法,选其中一种实现,这个会影响表结构的设计
算法:
4、1到1亿的自然数,求所有数的拆分后的数字之和,如286 拆分成2、8、6,如1到11拆分后的数字之和 => 1 + ... + 9 + 1 + 0 + 1 + 1。



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.   数据库中有一个表有上亿的数据量,怎么优化?(主要是拆分,除了按业务拆分外,还有什么从技术角度的,可扩展性好的水平拆分方式)
   思路是拆没错,但是面试官问的不是业务拆分策略,而是从技术上考虑。还得考虑扩展性,比如拆好以后,数据量增长迅速,又要拆了,怎么办。这个水平拆分策略有好多,网上能搜到。但是我说的都不是很有体系,以前没弄过,都是现场想。。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值