百度Java研发面试~点滴
第一家 百度
百度Java研发面试~点滴一个美好的开端~
意料之内的等通知,其实就是拒绝的委婉说法。我懂,但是心情依然不错,说没想过去这里那是安慰自己的话。不过没能有幸加入也能接受。最后的我需要夯实一下原理,有些可能别人告诉你这么做但原理你不太清楚。你做过的项目挺多的,影射着什么?
so what? 管他呢,我写的都确实是我接触到的。
百度今天的面试官人很好,很朝气的年龄戴眼镜,说话声音也不高,很温和像我大学的一个老师。那会儿就觉得越是有能力的人才越是稳重与柔和。但是绝对是大牛,大牛,大牛,重要的事情说三遍。他很重视原理,原理,原理,原理不是基础。就我问得基础并不多,但是问一个问题就问得很深入。比如索引的左匹配原则?Spring的动态代理?跳出Java的设计模式说下这么设计的好处?
整理一下今天的问题:
没有让自我介绍;
1. 就你做过的项目拿一个出来说一下?
我说的太详细,他重新说你这是细节了,先大致的讲讲整体框架。
我说了推送京东的一个服务,涉及到Spring-kafka、rxJava、多线程批量推送;
ExecutorService、Future、Callable;
2. 为自己刨的坑,我提到了Kafka 消费,多线程等,他就问了一些Kafka消费,数据量、异步处理、服务挂掉的处理等的细节。
3. 堆和栈? Java的垃圾回收机制?
public class A{
int a;
public void cc(){
int b;
}
}
a 和 b 分别是在堆栈?
4. 设计模式? 跳出设计模式说一下设计模式这么设计的好处及为什么这么设计?比如rxJava的好处?
好处重点:解耦
5. Spring的工场模式是单例吗?Spring的Aop、IOC?Spring是怎么实现AOP的? 什么是Spring的动态代理?
单例;
AOP:
IOC:
动态代理:运行时才知道实例化具体哪个对象,动态代理用的是封装过的对象,不是对象本身。在对象操作前、中、后可以插入不同的逻辑;
6. Spring的注解:@value注入值count,方法里可以ExecutorService es = ExecutorService.newFixedThreadPool(count);这么new吗?
public class A{
@Value
int count;
public void f(){
ExecutorService es = ExecutorService.newFixedThreadPool(count);
}
}
不能,new时必须确认value已经被注入值才可以;得用注解@PostConstruct
7. mysql数据库的优化? 索引? 索引的左匹配原则?
索引的左匹配原则:like 是用不到索引的;= 会用到索引;
联合索引:a_b_c;左匹配原则是 条件里必须有 a 条件才会用到索引
当我说到时间查询比较多建立索引,有问时间的数据类型?
8. 数据库事务处理级别?具体分别说。处理并发的锁(synchronized,lock的区别?什么时候lock优于synchronized)
四种,
synchronized:独占锁;
lock:共享锁;对于读写操作时,读操作远多于写操作的时候,lock要优于synchronized;
9. https与http的区别?
10. TCP/IP协议?最重要的俩个协议?分别位于什么层?
七层简化后四层,TCP/UDP
11. 数据结构了解吗?说说你会的排序?时间空间复杂度?
讲了选择和冒泡,快速、插入排序没让讲。中间我有提到二分查找,就问了二分查找的细节和时间复杂度;以及俩种排序的时间复杂度。
n的平方、n的平方; log以2为底的n;
聊聊百度及路上:
9:10收拾出门,磨磨唧唧的我啊,9:30终于出门了,想着也没事肯定能到,搜的不到一小时就到了,怎么着时间也够了。然后就是出了地铁站各种晃悠没找到坐公交的地儿,兜了大半个圈子,才找到。看着时间过去,感觉嗯还行,能到。
坐上公交走了几步就不淡定了,时间在过去。重点百度地图和公交上的线路不一样,百度地图三站,实际5站,下车还有1.2公里。好吧,我只能撑着等到下车。走啊走,扫了个摩拜,没骑多久路过Lenovo,公司楼也阔气的,看到了路标不让骑入园区,锁了车。看了地图,还有600米,可怜我没看到前方就是Baidu的大楼,又开了一个摩拜,骑到路口发现了巨大的标有Baidu的楼。啊啊啊啊,我到了。进去问了门卫知道了确切的位置跟导航显示的是一样的。奔进去前台出示早晨发我的预约访客二维码。扫码后美丽的前台告知我去沙发上坐会儿会有人来接。此时手机11:00,刚好预约的时间。面试刚刚一个小时,12:10分大牛名字应该是刘坤送了我,我离开了。
百度Java研发面试~点滴百度的管理还是比较严格的,没有预约原来是面试不了的。进入楼就有保安拦你如果不是有发的预约二维码我都进不去。进入楼层坐电梯也需要工卡。
第一天,还不错,我需要在准备下,巩固下,面试官给我的感觉很好,厉害谦逊。原谅我注意到的小细节大牛【厉害的、谦逊的、温和的】左手无名指间戴着银色的圈儿,面试时一直在嚼口香糖。
百度Java研发面试~点滴