Java面试题大全带答案,7个多月的心血总结
内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux 等技术栈
MyBatis面试题
- 什么是 Mybatis?
- Mybaits 的优点
- MyBatis 框架的缺点
- MyBatis 框架适用场合
- MyBatis 与 Hibernate 有哪些不同?
- 如何执行批量插入?
- 如何获取自动生成的(主)键值?
- 在 mapper 中如何传递多个参数?
ZooKeeper面试题
- 1. ZooKeeper 面试题?
- 2. ZooKeeper 提供了什么?
- 3. Zookeeper 文件系统
- 4. ZAB 协议?
- 默认使用什么序列化框架,你知道的还有哪些?
- 服务提供者能实现失效踢出是什么原理?
- 服务上线怎么不影响旧版本?
Dubbo面试题
- 为什么要用 Dubbo?
- Dubbo 的整体架构设计有哪些分层?
- 默认使用的是什么通信框架,还有别的选择吗?
- 服务调用是阻塞的吗?
- 一般使用什么注册中心?还有别的选择吗?
- Dubbo 集群容错有几种方案?
- Dubbo 服务降级,失败重试怎么做?
- Dubbo 使用过程中都遇到了些什么问题?
- Dubbo Monitor 实现原理?
Elasticsearch面试题
- elasticsearch 的倒排索引是什么
- elasticsearch 索引数据多了怎么办,如何调优,部署
- elasticsearch 是如何实现 master 选举的
- memcached 的 cache 机制是怎样的?
- memcached 如何实现冗余机制?
- memcached 如何处理容错的?
Memcached面试题
- Memcached 是什么,有什么作用?
- Memcached 服务分布式集群如何实现?
- Memcached 服务特点及工作原理是什么?
- 简述 Memcached 内存管理机制原理?
- memcached 是怎么工作的?
- memcached 最大的优势是什么?
- memcached 和 MySQL 的 query
Redis面试题
- 什么是 Redis?
- Redis 的数据类型?
- 使用 Redis 有哪些好处?
- Redis 相比 Memcached 有哪些优势?
- Memcache 与 Redis 的区别都有哪些?
- Redis 是单进程单线程的?
- 一个字符串类型的值能存储最大容量是多少?
- Redis 的持久化机制是什么?各自的优缺点?
- Redis 常见性能问题和解决方案
- redis 过期键的删除策略?
- Redis 的回收策略(淘汰策略)?
MySQL面试题
- MySQL 中有哪几种锁?
- MySQL 中有哪些不同的表格?
- 简述在 MySQL 数据库中 MyISAM 和 InnoDB 的区别
- MySQL 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别?
- CHAR 和 VARCHAR 的区别?
- 主键和候选键有什么区别?
- myisamchk 是用来做什么的?
Java并发编程(一)
- 在 java 中守护线程和本地线程区别?
- 线程与进程的区别?
- 什么是多线程中的上下文切换?
- 死锁与活锁的区别,死锁与饥饿的区别?
- Java 中用到的线程调度算法是什么?
- 什么是线程组,为什么在 Java 中不推荐使用?
- 为什么使用 Executor 框架?
- 在 Java 中 Executor 和 Executors 的区别?
- 如何在 Windows 和 Linux 上查找哪个线程使用的 CPU 时间最长?
Java并发编程(二 )
- 并发编程三要素?
- 实现可见性的方法有哪些?
- 多线程的价值?
- 创建线程的有哪些方式?
- 创建线程的三种方式的对比?
- 线程的状态流转图
- Java 线程具有五种基本状态
- 什么是线程池?有哪几种创建方式?
- 四种线程池的创建
- 线程池的优点?
- 常用的并发工具类有哪些?
Java面试题(一)
- 面向对象的特征有哪些方面?
- 访问修饰符 public,private,protected,以及不写(默认)时的区别?
- String 是最基本的数据类型吗?
- float f=;是否正确?
- short s = ; s = s + ;有错吗?short s = ; s += ;有错吗?
- Java 有没有 goto?
- int 和 Integer 有什么区别?
Java面试题(二)
- Java 中能创建 volatile 数组吗?
- volatile 能使得一个非原子操作变成原子操作吗?
- volatile 修饰符的有过什么实践?
- volatile 类型变量提供什么保证?
- Java 中怎么获取一份线程 dump 文件?
- Swing 是线程安全的?
- 什么是线程局部变量?
- 用 wait-notify 写一段代码来解决生产者-消费者问题?
Spring面试题(一)
- 不同版本的 Spring Framework 有哪些主要功能?
- 什么是 Spring Framework?
- 列举 Spring Framework 的优点。
- Spring Framework 有哪些不同的功能?
- Spring Framework 中有多少个模块,它们分别是什么?
- 什么是 Spring 配置文件?
- Spring 应用程序有哪些不同组件?
- 使用 Spring 有哪些方式?
Spring面试题(二)
- 什么是 spring?
- 使用 Spring 框架的好处是什么?
- Spring 由哪些模块组成?
- 核心容器(应用上下文) 模块。
- BeanFactory – BeanFactory 实现举例。
- XMLBeanFactory
- 解释 AOP 模块
- 解释 JDBC 抽象和 DAO 模块。
- 解释对象/关系映射集成模块。
微服务面试题
- 您对微服务有何了解?
- 微服务架构有哪些优势?
- 微服务有哪些特点?
- 设计微服务的最佳实践是什么?
- 微服务架构如何运作?
- 微服务架构的优缺点是什么?
- 单片,SOA 和微服务架构有什么区别?
- 在使用微服务架构时,您面临哪些挑战?
- SOA 和微服务架构之间的主要区别是什么?
- 微服务有什么特点?
- 什么是领域驱动设计?
Linux面试题
- 绝对路径用什么符号表示?当前目录上层目录用什么表示?主目录用什么表示? 切换目录用什么命令?
- 怎么查看当前进程?怎么执行退出?怎么查看当前路径?
- 怎么清屏?怎么退出当前命令?怎么执行睡眠?怎么查看当前用户id?查看指定帮助用什么命令?
- Ls 命令执行什么功能? 可以带哪些参数,有什么区别?
- 建立软链接(快捷方式),以及硬链接的命令。
- 目录创建用什么命令?创建文件用什么命令?复制文件用什么命 令?
- 查看文件内容有哪些命令可以使用?
Spring Boot面试题
- 什么是 Spring Boot?
- Spring Boot 有哪些优点?
- 什么是 JavaConfig?
- 如何重新加载 Spring Boot 上的更改,而无需重新启动服务器?
- Spring Boot 中的监视器是什么?
- 如何在 Spring Boot 中禁用 Actuator 端点安全性?
- 如何在自定义端口上运行 Spring Boot 应用程序?
- 什么是 YAML?
- 如何实现 Spring Boot 应用程序的安全性?
- 如何集成 Spring Boot 和 ActiveMQ?
- 如何使用 Spring Boot 实现分页和排序?
Spring Cloud面试题
- 什么是 Spring Cloud?
- 使用 Spring Cloud 有什么优势?
- 服务注册和发现是什么意思?Spring Cloud 如何实现?
- 负载平衡的意义什么?
- 什么是 Hystrix?它如何实现容错?
- 什么是 Hystrix 断路器?我们需要它吗?
- 什么是 Netflix Feign?它的优点是什么?
- 什么是 Spring Cloud Bus?我们需要它吗?
RabbitMQ面试题
- 什么是 rabbitmq
- 为什么要使用 rabbitmq
- 使用 rabbitmq 的场景
- 如何确保消息正确地发送至 RabbitMQ? 如何确保消息接收方消费了消息?
- 如何避免消息重复投递或重复消费?
- 消息基于什么传输?
- 消息如何分发?
- 消息怎么路由?
- 如何确保消息不丢失?
- 使用 RabbitMQ 有什么好处?
- RabbitMQ 的集群
- mq 的缺点
kafka面试题
- 如何获取 topic 主题的列表
- 生产者和消费者的命令行是什么?
- consumer 是推还是拉?
- 讲讲 kafka 维护消费状态跟踪的方法
- 讲一下主从同步**
- 为什么需要消息系统,mysql 不能满足需求吗?
- Zookeeper 对于 Kafka 的作用是什么?
- 数据传输的事务定义有哪三种?
- Kafka 判断一个节点是否还活着有那两个条件?


浙公网安备 33010602011771号