写在前面
作为一名Java开发者,进大厂是不是所有人的期待,就是最终想获得大厂的offer,可能在面试的时候会经历层层筛选。想要进入大厂首先要有过硬的技术,以及面试的时候要有一个良好的心态,只有这样在面试的时候才不会与心仪大厂失之交臂。
今天分享给大家的都是目前大厂使用最高频的面试题:redis,SpringBoot,SpringCloud,SpringMVC,zookeeper,并发编程,多线程面试,开源框架,乐观锁与悲观锁,设计模式等等,希望都能进到大厂,工资加加加。
redis
- 什么是 Redis?简述它的优缺点?
- Redis 与 memcached 相比有哪些优势?
- Redis 支持哪几种数据类型?
- Redis 主要消耗什么物理资源?
- 使用 Redis 有哪些好处?
- Redis 是单进程单线程的?
- Redis 的持久化机制是什么?各自的优缺点?
- Redis 常见异常问题和解决方案(雪崩,穿透...)
- redis 过期键的删除策略?
- 为什么 redis 需要把所有数据放到内存中?
- Redis 集群的主从复制模型是怎样的?
- Redis key 的过期时间和永久有效分别怎么设置?
- Redis 集群方案什么情况下会导致整个集群不可用?
- MySQL 里有 2000w 数据,redis 中只存 20w 的数据,如何保证 redis 中的数据都是热点数据?
SpringBoot
- 什么是 Spring Boot?
- Spring Boot 有哪些优点?
- 什么是 JavaConfig?
- 如何重新加载 Spring Boot 上的更改,而无需重新启动服务器?
- Spring Boot 中的监视器是什么?
- 如何在 Spring Boot 中禁用 Actuator 端点安全性?
- 如何在自定义端口上运行 Spring Boot 应用程序?
- 什么是 YAML?
- 如何实现 Spring Boot 应用程序的安全性?
- 如何集成 Spring Boot 和 ActiveMQ?
- 如何使用 Spring Boot 实现分页和排序?
- 什么是 Swagger?你用 Spring Boot 实现了它吗?
- 什么是 Spring Profiles?
- 什么是 Spring Batch?
- 什么是 FreeMarker 模板?
- 如何使用 Spring Boot 实现异常处理?
- 您使用了哪些 starter maven 依赖项?
- 什么是 CSRF 攻击?
- 什么是 WebSockets?
- 什么是 AOP?
- 什么是 Apache Kafka?
- 我们如何监视所有 Spring Boot 微服务?
SpringCloud
- 什么是 Spring Cloud?
- 使用 Spring Cloud 有什么优势?
- 服务注册和发现是什么意思?Spring Cloud 如何实现?
- 负载平衡的意义什么?
- 什么是 Hystrix?它如何实现容错?
- 什么是 Hystrix 断路器?我们需要它吗?
- 什么是 Spring Cloud Bus?我们需要它吗?
- 什么是 Netflix Feign?它的优点是什么?
zookeeper
- ZooKeeper 是什么?
- ZooKeeper 提供了什么?
- Zookeeper 文件系统
- 四种类型的 znode
- Zookeeper 通知机制
- Zookeeper 做了什么?
- zk 的命名服务(文件系统)
- zk 的配置管理(文件系统、通知机制)
- Zookeeper 集群管理(文件系统、通知机制)
- Zookeeper 分布式锁(文件系统、通知机制)
- 获取分布式锁的流程
- Zookeeper 队列管理(文件系统、通知机制)
- Zookeeper 数据复制
- Zookeeper 工作原理
- zookeeper 是如何保证事务的顺序一致性的?
- Zookeeper 下 Server 工作状态
- zookeeper 是如何选取主 leader 的?
- Zookeeper 同步流程
- 分布式通知和协调
- 机器中为什么会有 leader?
- zk 节点宕机如何处理?
- zookeeper 负载均衡和 nginx 负载均衡
- zookeeper watch 机制
并发编程
- Synchronized 用 过 吗 , 其 原 理 是 什 么 ?
- 你 刚 才 提 到 获 取 对 象 的 锁 , 这 个 “ 锁 ” 到 底 是 什 么 ? 如 何 确 定对 象 的 锁 ?
- 什 么 是 可 重 入 性 , 为 什 么 说 Synchronized 是 可 重 入 锁 ?
- JVM 对 Java 的 原 生 锁 做 了 哪 些 优 化 ?
- 为 什 么 说 Synchronized 是 非 公 平 锁 ?
- 什 么 是 锁 消 除 和 锁 粗 化 ?
- 为 什 么 说 Synchronized 是 一 个 悲 观 锁 ? 乐 观 锁 的 实 现 原 理又 是 什 么 ? 什 么 是 CAS, 它 有 什 么 特 性 ?
- 乐 观 锁 一 定 就 是 好 的 吗 ?
- 跟 Synchronized 相 比 , 可 重 入 锁 ReentrantLock 其 实 现原 理 有 什 么 不 同 ?
- 那 么 请 谈 谈 AQS 框 架 是 怎 么 回 事 儿 ?
- 请 尽 可 能 详 尽 地 对 比 下 Synchronized 和 ReentrantLock的 异 同 。
- ReentrantLock 是 如 何 实 现 可 重 入 性 的 ?
- 除 了 ReetrantLock, 你 还 接 触 过 JUC 中 的 哪 些 并 发 工 具 ?
- 请 谈 谈 ReadWriteLock 和 StampedLock。
- 如 何 让 Java 的 线 程 彼 此 同 步 ? 你 了 解 过 哪 些 同 步 器 ? 请 分 别介 绍 下 。
- CyclicBarrier 和 CountDownLatch 看 起 来 很 相 似 , 请 对 比下 呢 ?
- Java 中 的 线 程 池 是 如 何 实 现 的 ?
- 创 建 线 程 池 的 几 个 核 心 构 造 参 数 ?
- 线 程 池 中 的 线 程 是 怎 么 创 建 的 ? 是 一 开 始 就 随 着 线 程 池 的 启 动
- 既 然 提 到 可 以 通 过 配 置 不 同 参 数 创 建 出 不 同 的 线 程 池 , 那 么
- Java 中 默 认 实 现 好 的 线 程 池 又 有 哪 些 呢 ? 请 比 较 它 们 的 异 同 。创 建 好 的 吗 ?
- 如 何 在 Java 线 程 池 中 提 交 线 程 ?
- 什 么 是 Java 的 内 存 模 型 , Java 中 各 个 线 程 是 怎 么 彼 此 看 到对 方 的 变 量 的 ?
开源框架
- BeanFactory 和 ApplicationContext 有什么区别
- Spring Bean 的生命周期
- Spring IOC 如何实现
- 说说 Spring AOP
- Spring AOP 实现原理
- 动态代理(cglib 与 JDK)
- Spring 事务实现方式
- Spring 事务底层原理
- 如何自定义注解实现功能
- Spring MVC 运行流程
- Spring MVC 启动流程
- Spring 的单例实现原理
- Spring 框架中用到了哪些设计模式
- 为什么选择 Netty
- 说说业务中,Netty 的使用场景
- 原生的 NIO 在 JDK 1.7 版本存在 epoll bug
- 什么是 TCP 粘包/拆包
- TCP 粘包/拆包的解决办法
- Netty 线程模型
- 说说 Netty 的零拷贝
- Netty 内部执行流程
设计模式
- 请列举出在 JDK 中几个常用的设计模式?
- 什么是设计模式?你是否在你的代码里面使用过任 何设计模式?
- Java 中什么叫单例设计模式?请用 Java 写出线程安全的单例模式
- 在 Java 中,什么叫观察者设计模式(observer design pattern
- 使用工厂模式最主要的好处是什么?在哪里使用?
- 举一个用 Java 实现的装饰模式(decorator design pattern) ?它是作用于对象层次还是类层次?
- 在 Java 中,为什么不允许从静态方法中访问非静态变量?
- 设计一个 ATM 机,请说出你的设计思路?
- 在 Java 中,什么时候用重载,什么时候用重写?
- 举例说明什么情况下会更倾向于使用抽象类而不是接口?
由于资料内容太多,平台篇幅限制,小编就展现了以上部分面试专题与资料,如需获取以下全部面试资料的同学,
获取方式:
来源:oschina
链接:https://my.oschina.net/u/4400107/blog/3228960