☕ 包括 Java 集合、JVM、多线程、并发编程、设计模式、SpringBoot、SpringCloud、Redis、MySQL、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、MongoDB、RabbitMQ、Kafka、Linux、Netty、Tomcat、Python、HTML、CSS、Vue、JavaScript、大数据、BATJ 大厂面试题等等技术栈!
- 什么是集合
- 集合的特点
- 集合和数组的区别
- 使用集合框架的好处
- 常用的集合类有哪些?
- List,Set,Map三者的区别?
- 集合框架底层数据结构
- 哪些集合类是线程安全的?
- Java集合的快速失败机制 “fail-fast”?
- 怎么确保一个集合不能被修改?
........
- 多线程的作用?
- 线程和进程的区别是什么?
- Java 实现线程有哪几种方式?
- 启动线程方法 start()和 run()有什么区别?
- 怎么终止一个线程?如何优雅地终止线程?
- 一个线程的生命周期有哪几种状态?它们之间如何流转的?
- 线程中的 wait()和 sleep()方法有什么区别?
- 多线程同步有哪几种方法?
- 什么是死锁?如何避免死锁?
- 多线程之间如何进行通信?
......
- 为什么要使用并发编程
- 多线程应用场景
- 并发编程有什么缺点
- 并发编程三个必要因素是什么?
- Java 程序中怎么保证多线程的运行安全?
- 并行和并发有什么区别?
- 什么是多线程
- 多线程的好处
- 多线程的劣势
- 线程和进程区别
......
- 我们开发人员编写的Java代码是怎么让电脑认识的
- 为什么说java是跨平台语言
- Jdk和Jre和JVM的区别
- 说一下 JVM由那些部分组成,运行流程是什么?
- 说一下 JVM 运行时数据区
- 详细的介绍下程序计数器?(重点理解)
- 详细介绍下Java虚拟机栈?(重点理解)
- 你能给我详细的介绍Java堆吗?(重点理解)
- 能不能解释一下本地方法栈?
- 能不能解释一下方法区(重点理解)
......
- Tomcat的缺省端口是多少,怎么修改?
- Tomcat 有哪几种Connector 运行模式(优化)?
- Tomcat 有几种部署方式?
- Tomcat容器是如何创建servlet类实例?用到了什么原理?
- Tomcat 如何优化?
- Tomcat 内存调优
- Tomcat 垃圾回收策略调优
- Tomcat 共享session处理
- Tomcat 添加JMS远程监控
- 专业点的分析工具有
....
- MySQL 中有哪几种锁?
- MySQL 中有哪些不同的表格?
- 简述在MySQL 数据库中 MyISAM 和InnoDB 的区别
- MySQL 中InnoDB 支持的四种事务隔离级别名称
- CHAR 和VARCHAR 的区别?
- 主键和候选键有什么区别?
- myisamchk 是用来做什么的?
- 如果一个表有一列定义为TIMESTAMP,将发生什么?
- 你怎么看到为表格定义的所有索引?
- 列对比运算符是什么?
.......
- Memcached是什么,有什么作用?
- Memcached服务分布式集群如何实现?
- Memcached服务特点及工作原理是什么?
- 简述Memcached内存管理机制原理?
- Memcached是怎么工作的?
- Memcached最大的优势是什么?
- Memcached和MySQL的querycache相比,有什么优缺点?
- memcached和服务器的local cache(比如PHP的APC、mmap文件等)相比,有什么优缺点?
- memcached的cache机制是怎样的?
- memcached如何实现冗余机制?
......
- 什么是Redis?
- Redis有哪些优缺点?
- 使用redis有哪些好处?
- 为什么要用 Redis / 为什么要用缓存
- 为什么要用 Redis 而不用 map/guava 做缓存?
- Redis为什么这么快
- Redis有哪些数据类型
- Redis的应用场景
- Redis持久化
- Redis 的持久化机制是什么?各自的优缺点?
......
- elasticsearch 了解多少,说说你们公司 es 的集群架构,索引数据大小,分片有多少,以及一些调优手段
- elasticsearch 的倒排索引是什么
- elasticsearch 索引数据多了怎么办,如何调优,部署
- elasticsearch 是如何实现 master 选举
- 详细描述一下 Elasticsearch 索引文档的过程
- 详细描述一下 Elasticsearch 搜索的过程?
- Elasticsearch 在部署时,对 Linux 的设置有哪些优化方法
- ucence 内部结构是什么?
- Elasticsearch 是如何实现 Master 选举的?
- Elasticsearch 中的节点(比如共 20 个),其中的10 个选了一个 master,另外 10 个选了另一个 master,怎么办?
......
- ZooKeeper 是什么?
- ZooKeeper 提供了什么?
- Zookeeper 文件系统
- ZAB 协议?
- 四种类型的数据节点 Znode
- Zookeeper Watcher 机制 -- 数据变更通知
- 客户端注册 Watcher 实现
- 服务端处理 Watcher 实现
- 客户端回调 Watcher
- ACL 权限控制机制
......
- 为什么要用 Dubbo?
- Dubbo 是什么?
- Dubbo 的使用场景有哪些?
- Dubbo 核心功能有哪些?
- Dubbo 核心组件有哪些?
- Dubbo 服务器注册与发现的流程?
- Dubbo 的整体架构设计有哪些分层?
- Dubbo Monitor 实现原理?
- Dubbo 类似的分布式框架还有哪些?
- Dubbo 和 Spring Cloud 有什么关系?
......
- RocketMq 是什么
- RocketMq 有什么功能
- RoctetMq 架构
- RocketMq 消息模型(专业术语)
- 核心问题
- 顺序消息
- 消息过滤
- 消息去重
- 分布式事务消息
- 消息的可用性
- 刷盘实现
- 负载均衡
......
- Kafka 架构
- Kafka 基础概念
- Kafka Rebalance (重平衡)
- 日志索引
- 高性能, 高吞吐
- 分区的原因
- 顺序写
- 批发送
- 数据压缩
- Page Cache & MMap
- Page Cache
- MMap (Memory Mapped Files, 内存映射文件)
......
- 什么是MQ
- MQ的优点
- 解耦、异步、削峰是什么?
- 消息队列有什么缺点
- 你们公司生产环境用的是什么消息中间件?
- Kafka、ActiveMQ、RabbitMQ、RocketMQ 有什么优缺点?
- MQ 有哪些常见问题?如何解决这些问题?
- 什么是 RabbitMQ?
- Rabbitmq 的使用场景
- RabbitMQ基本概念
......
- Netty
- I/O 模式
- I/O 多路复用
- select
- poll
- epoll
- Java 的 I/o
- Netty 线程模型和 Reactor 模式
- Echo服务
- 源码剖析
......
- 百度篇
- 滴滴篇
- 华为篇
- 京东篇
- 美团篇
- 腾讯篇
- 头条篇
.......
持续更新中!
关注公众号: Java架构师进阶编程,回复 “面试” ,获取上百份面试资源! 我也会在公众号发布面试要点精讲,欢迎关注!