百度社招Java面试经历_Java面试经历


百度面试题

(面试题+答案领取方式:关注公众号回复【666】)

1、首先详细询问了最近一份工作项目的架构和工作内容,

2、然后围绕工作中用到的组件和中间件技术来扩展,考察掌握程度。

3、MySQL InnoDB存储的文件结构

4、索引树是如何维护的?

5、数据库自增主键可能的问题

6、Redis的主键争用问题如何解决了解Redis事务的CAS操作吗

7、分析线程池的实现原理和线程的调度过程

8、动态代理的几种方式

(1)定义接口和实现

(2)jdk动态代理实现

(3)cglib动态代理实现


9、Spring AOP与IOC的实现

10、为什么CGlib方式可以对接口实现代理?

11、RMI与代理模式

12、Dubbo的底层实现原理和机制

(1)Dubbo :是一个RPC框架,SOA框架

(2)作为RPC:支持各种传输协议,如dubbo,hession,json,fastjson,底层采用mina,netty长连接进行传输。典型的provider和cusomer模式。

(3)作为SOA:具有服务治理功能,提供服务的注册和发现!用zookeeper实现注册中心。启动时候服务端会把所有接口注册到注册中心,并且订阅configurators,服务消费端订阅provide,configurators,routers,订阅变更时,zk会推送providers,configuators,routers,启动时注册长连接,进行通讯。proveider和provider启动后,后台启动定时器,发送统计数据到monitor,提供各种容错机制和负载均衡策略。


13、描述一个服务从发布到被消费的详细过程

14、分布式系统怎么做服务治理

15、接口的幂等性的概念

(1)幂等性定义:

①在某二元运算下,幂等元素是指被自己重复运算的结果等于它自己的元素。例如:乘法下的两个唯一幂等元素0和1,满足s*s=s。

②在某一元运算下,幂等元素作用在任一元素运算两次后和作用一次的结果相同。即f(f(x))=f(x)。

(2)接口幂等性就是用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用。


16、Maven出现版本冲突如何解决

17、JVM垃圾回收机制,何时触发MinorGC等操作

18、新生代和老生代的内存回收策略

19、Eden和Survivor的比例分配等

20、Synchronized和Lock的区别

21、算法方面考察了一个简单的数组就地去重问题,用丢弃数组尾部元素的方式实现了。