首页 > 百度Java开发一面、二面、三面(收到接收函)
头像
拾光的模样~
编辑于 2020-09-20 19:39
+ 关注

百度Java开发一面、二面、三面(收到接收函)

一面

JAVA基础

1. Hashmap底层、是否线程安全、在高并发的情况下会出现什么问题?

2. 如何让hashmap安全?

3. Concurrenthashmap的底层实现

4. 反射是什么?

5. Hashmap的put时key应该注意什么(hashcode和equals)

线程

1. 线程的实现方式

2. 线程池的参数

3. 线程的抛弃策略

4. 线程中的工作队列是否有界

5. 线程池的实现流程

6. Volatile的作用

7. 详细说一下happens-before

8. ReetrantLock和sychronized的区别

9. Sychronized的锁(偏向锁----自旋锁----重量级锁)

10. CAS出现的问题,如何解决

JVM

1. 介绍一下什么是JMM?

2. JAVA创建对象的过程?对象头中包含什么?

3. JVM的内存区域?虚拟机栈中存着什么?

4. 垃圾回收的算法?

5. GC roots可以是哪些对象

6. 详细说一下双亲委派机制?

7. 能不能打破双亲委派机制?(自己重写classload方法,或者将查找parent设为null)

8. 类加载器有哪些?

9. 加载后的类信息存在哪个区域?

10. 说一下对象锁和类锁?

Spring

1. 说说Spring AOP的实现

2. Spring中用到了那些设计模式

3. Spring中Bean对象的生成过程

Mysql

1. 数据库引擎有哪些?他们之间的区别

2. MySQL的索引有哪些?

3. 什么是MVCC?

4. 发现慢查询以后如何做?

5. Explain中的关键字有哪些?(id、table、type、key、rows)

6. Hbase和MySQL的区别?

7. MySQL保证原子性?(使用undo log实现原子一致性,当事务回滚时,可以通过undo log进行回滚,如果inert,此时需要delete;他记录了回滚需要的信息)

Zookeeper

1. 说一说Zookeeper(文件配置、集群管理、分布式锁、队列管理)(监听机制:ZooKeeper的Watcher机制主要包括客户端线程客户端WatcherManagerZookeeper 服务器三部分。客户端在向ZooKeeper服务器注册的同时,会将Watcher对象存储在客户端的WatcherManager当中。当ZooKeeper服务器触发Watcher事件后,会向客户端发送通知,客户端线程从WatcherManager中取出对应的Watcher对象来执行回调逻辑)选举机制:半数机制

2. Zookeeper的心跳机制

3. 了解负载均衡吗?

二面(重点通过项目展开问题)

1. 大文件数据上传这个有没有什么改进?(多线程上传、value的静态内部类是否可以用枚举、boolean是否可以用位存储)

2. 多线程的优势和缺点?(优点:高并发、多核CPU上利用上下文切换资源少)(缺点:资源少的情况下出现死锁、缓存一致性、指令重排)

3. 你觉得CPU上可能出现指令重排吗?

4. 如果你说的这个是多线程上下文切换资源少的话,用进程不可以吗?交换数据使用共享内存

5. 假设有4个CPU,每个CPU上有一个进程,进程之间使用共享内存?你觉得不用线程是不是可以?像ngnix

6. 为什么多线程过程中是有缓存一致性?(工作内存和共享主存)

7. Volatile 如何保证内存可见性?

8. 工作内存和共享内存存在哪里?

9. 那如果存在栈中就不应该有缓存一致性呀?

10. MESI协议中有几级缓存?缓存中哪一级是私有的,哪一级是共有的?那缓存存在哪里?

11. 如何会产生死锁?

12. 那你会写一个死锁吗?

13. 写完以后你这个为什么不报错呢?

14. 打开快照,问你是否能看懂?为什么不报错?

三面

1. 是否能来实习?
2. 未来的职业规划?
3. 你自己的的优缺点?

更多模拟面试

全部评论

(2) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐