MySQL存储引擎
共享锁及排它锁
MySQL的分区
MySQL事务及隔离性级别
执行计划
Btree与B+tree索引
Sql慢查询
Sql优化
面试题:(部分)
========
1. 索引的工作原理及其种类;
2. 与Oracle相比,MySQL有什么优势?
3. 为什么B+树相对于B树在查询上会更加优秀吗?
4. 一张表,里面有ID自增主键,当insert 了17条记录之后,删除了第15,16,17 条记录,再把Mysql重启,再insert一条记录,这条记录的ID是18还是15?
5. 主键 超键 候选键 外键
6. 数据库事务的四个特性及含义
7. ……
4、Redis
=======
Redis在国内各大公司都很热门,比如新浪、阿里、腾讯、百度、美团、小米等。Redis也是大厂面试最爱问的。项目中使用Redis,主要考虑性能和并发。
知识点:
====
缓存一致性问题;
分布式锁
缓存
应用场景
消息队列
……
面试题:(部分)
========
1.Redis相比memcached有哪些优势?
2.Redis常见性能问题和解决方案
3.MySQL里有2000w数据,Redis中只存20w的数据,如何保证Redis中的数据都是热点数据
4.Memcache与Redis的区别都有哪些?
5. Redis最适合的场景
6. 是否使用过Redis集群,集群的原理是什么?
7. ……
5、开源框架
======
Spring作为现在最流行Java开发技术,其内部源码设计非常优秀;
MyBatis在阿里等大厂十分流行,BAT等一线互联网公司面试也一定会涉及源码解析的问题。
知识点:
====
Spring
AOP
IOC
事务管理
SpringMVC
MyBatis
面试题:(部分)
========
1. 使用Spring框架能带来哪些好处?
2. 什么是控制反转(IOC)?什么是依赖注入?
3. 请解释Spring Bean的生命周期?
4. 你知道spring的生命周期初始化回调方法有几种方法实现?实现原理是什么?或者说他们的执行时机和在bean的生命周期哪里体现了?
5. 你平常工作中有做过一些spring的二次开发吗?或者你有没有针对spring去实现过扩展?
6. MyBatis源码中用了哪些设计模式?为什么要用这些设计模式?
7. 什么是缓存雪崩?如何解决?
8. ……
6、分布式
=====
知识点:
====
分布式数据库:
memcached、MongoDB、Redis
分布式通讯:
ActiveMQ、RabbitMQ、Kafka
分布式限流:
Nginx、zookeeper
面试题:(部分)
========
1. MongoDB的优势有哪些?
2. 在MongoDB中如何创建一个新的数据库?
3. zookeeper有哪些应用场景?
4. zk的分布式锁
5. 在Nginx中,如何使用未定义的服务器名称来阻止处理请求?
6. 使用“反向代理服务器”的优点是什么?
7. 请列举Nginx服务器的最佳用途。
8. ……
7、微服务
=====
知识点:
====
Dubbo
SpringBoot
SpringCloud
面试题:(部分)
========
1. Dubbo支持哪些协议,每种协议的应用场景,优缺点?
2. Dubbo超时时间怎样设置?
3. Dubbo集群的负载均衡有哪些策略
4. Dubbo的主要应用场景?
5. Dubbo的核心功能?
6. springboot启动机制。
7. ……
8、 性能优化
=======
知识点:
====
MySQL优化
JVM性能优化
并发编程性能优化
基础代码性能优化
面试题:(部分)
========
1、双11高并发大促场景下,为什么只能够下订单, 而不能够退款?(服务降级等)
2、支付宝系统可以从哪些角度优化提升性能?(缓存、异步、分布式等)
3、天猫上亿商品数据如何完成快速统计?(Fork/Join任务拆分等)
4、支付宝转账提现功能应该如何优化?(一致性、高吞吐方案等)
5、淘宝网络抖动,如何避免用户重复下订单?
6、……
《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》无偿开源 威信搜索公众号【编程进阶路】
性能优化知识体系
9、 BATJ最新面试题及答案解析
==================
阿里篇
===
1. 从innodb的索引结构分析,为什么索引的 key 长度不能太长
2. 如果让你来设计一个支持数据库、NOSQL 和大数据之间数据实时流动的数据流及处理的系统,你会考虑哪些问题?如何设计?