0
点赞
收藏
分享

微信扫一扫

某大佬的20+公司面试题总结和自己的补充

附上原文链接(在此基础上自己做了补充和修改。)

ZooKeeper

1. CAP定理
2. ZAB协议
3. Leader选举算法和流程

Redis

1. Redis的应用场景
2. Redis支持的数据类型(必考)
3. zset跳表的数据结构(必考)
4. Redis的数据过期策略(必考)
5. Redis的LRU过期策略的具体实现
6. 如何解决Redis缓存雪崩,缓存穿透问题
7. Redis的持久化机制(必考)
8. Redis的管道pipeline
9.Redis和memcached的区别
10.Redis并发竞争key的解决方案
11.Redis与Mysql双写一致性方案

Mysql

1. 事务的基本要素
2. 事务隔离级别(必考)
3. 如何解决事务的并发问题(脏读,幻读)(必考)
4. MVCC多版本并发控制(必考)
5. binlog,redolog,undolog都是什么,起什么作用
6. InnoDB的行锁/表锁
7. myisam和innodb的区别,什么时候选择myisam
8. 为什么选择B+树作为索引结构(必考)
9. 索引B+树的叶子节点都可以存哪些东西(必考)
10. 查询在什么时候不走(预期中的)索引(必考)
11. sql如何优化
12. explain是如何解析sql的
13. order by原理
14.Mysql为什么不用红黑树?

JVM

1. 运行时数据区域(内存模型)(必考)
2. 垃圾回收机制(必考)
3. 垃圾回收算法(必考)
4. Minor GC和Full GC触发条件
5. GC中Stop the world(STW)
6. 各垃圾回收器的特点及区别
7. 双亲委派模型
8. JDBC和双亲委派模型关系
9. JVM锁优化和锁膨胀过程

Java基础

1. HashMap和ConcurrentHashMap区别(必考)
2. ConcurrentHashMap的数据结构(必考)
3. 高并发HashMap的环是如何产生的
4. volatile作用(必考)
5. Atomic类如何保证原子性(CAS操作)(必考)
6. synchronized和Lock的区别(必考)
7. 为什么要使用线程池(必考)
8. 核心线程池ThreadPoolExecutor的参数(必考)
9. ThreadPoolExecutor的工作流程(必考)
10. 如何控制线程池线程的优先级
11. 线程之间如何通信
12. Boolean占几个字节
13. jdk1.8/jdk1.7都分别新增了哪些特性
14. Exception和Error
补充:
简单说说怎么让三个线程循环打印

Spring

1. Spring的IOC/AOP的实现(必考)
2. 动态代理的实现方式(必考)
补充:2.9bean的创建流程
3. Spring如何解决循环依赖(三级缓存)(必考)

4. Spring的后置处理器

5. Spring的@Transactional如何实现的(必考)
6. Spring的事务传播级别
7. BeanFactory和ApplicationContext的联系和区别

其他

1. 高并发系统的限流如何实现
2. 高并发秒杀系统的设计
3. 负载均衡如何设计

某37互娱一面节选(Lucene篇)

1.Lucene为什么比数据库快?
2.什么是倒排索引?
3.倒排索引有哪几部分?分词属于那一部分(不确定)

其他补充:

网络:

TCP和UDP的区别?
TCP是怎么保证安全的?
https和http的区别?
get/post区别?
Http请求的完整过程
为什么连接的时候是三次握手,关闭的时候却是四次握手
cookie和session的区别
xss攻击和ddos?
你知道的协议有哪些,在哪个层,有什么用?
常见状态码及原因短语

计算机系统

进程和线程的区别
进程的调度算法
什么是虚拟内存
进程间的通信方式
死锁怎么形成的,怎么解决死锁

Dubbo

什么是spi?dubbo对其做了什么改动?
服务暴露流程和引用流程?
dubbo的负载均衡机制?
dubbo的容错机制?
灰度发布了解吗?

消息队列

消息队列的作用?
kafka的角色组成?
kafka怎么保证高可用?
如果重复消费/消息消费失败怎么办?怎么保证幂等?
怎么保证消息的有序执行?
消息如何保证不丢失?
消息积压怎么办?
举报

相关推荐

0 条评论