写点什么

2021 最新美团面经分享:999 页 Java 程序员面试清单(下载量已突破 30W

用户头像
极客good
关注
发布于: 刚刚

1.Java 筑基(Tomcat+Mysql+设计模式+并发+Netty+JVM)


以 JVM 面试题为例:


  • Java 类加载过程?

  • 描述一下 JVM 加载 Class 文件的原理机制?

  • Java 内存分配

  • GC 是什么? 为什么要有 GC?

  • 如何判断一个对象是否存活?(或者 GC 对象的判定方法)

  • 垃圾回收的优点和原理。并考虑 2 种回收机制

  • 垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?

  • Java 中会存在内存泄漏吗,请简单描述

  • ......



JVM 核心面试题(答案+解析)



JVM 核心知识点


2.分布式(限流+缓存+通讯)


分布式限流:Zookeeper+Nginx



分布式缓存:mongoDB+memcached+Redis



分布式通讯:RabbitMQ+Kafka


以 Redis 为例:


  • redis 和 memcached 什么区别?为什么高并发下有时单线程的 redis 比多线程的 memcached 效率要高?

  • redis 主从复制如何实现的?redis 的集群模式如何实现?redis 的 key 是如何寻址的?

  • 使用 redis 如何设计分布式锁?说一下实现思路?使用 zk 可以吗?如何实现?这两种有什么区别?

  • 知道 redis 的持久化吗?底层如何实现的?有什么优点缺点?

  • redis 过期策略都有哪些?LRU 算法知道吗?写一下 java 代码实现?

  • 缓存穿透、缓存击穿、缓存雪崩解决方案?

  • 在选择缓存时,什么时候选择 redis,什么时候选择 memcached

  • 缓存与数据库不一致怎么办?

  • 主从数据库不一致如何解决?

  • Redis 常见的性能问题和解决方案?

  • Redis 的数据淘汰策略有哪些?

  • Redis 当中有哪些数据结构?

  • 假如 Redis 里面有 1 亿个 key,其中有 10w 个 key 是以某个固定的已知的前缀开头的,如果将它们全部找出来?

  • 使用 Redis 做过异步队列吗,是如何实现的?

  • Redis 如何实现延时队列?

  • ......



Redis 核心面试题(答案+解析)



Redis 核心知识点


3.开源框架(Spring+SpringMVC+MyBatis)


以 Spring 为例:


  • 什么是 Spring 框架?Spring 框架有哪些主要模块?

  • 使用 Spring 框架能带来哪些好处?

  • 什么是控制反转(IOC)?什么是依赖注入?

  • 请解释下 Spring 框架中的 IoC?

  • BeanFactory 和 ApplicationContext 有什么区别?

  • Spring 有几种配置方式?

  • 如何用基于 XML 配置的方式配置 Spring?

  • 如何用基于 Java 配置的方式配置 Spring?

  • 怎样用注解的方式配置 Spring?

  • 请解释 Spring Bean 的生命周期?

  • Spring Bean 的作用域之间有什么区别?

  • 什么是 Spring inner beans?

  • Spring 框架中的单例 Beans 是线程安全的么?

  • 请举例说明如何在 Spring 中注入一个 Java Collection?

  • 如何向 Spring Bean 中注入一个 Java.util.Properties?

  • 请解释 Spring Bean 的自动装配?

  • 请解释自动装配模式的区别?

  • 如何开启基于注解的自动装配?

  • ......



Spring 面试题(答案+解析)



Spring 核心知识点


4.微服务架构(Dubbo+SpringBoot+SpringCloud)


以 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 依赖项?

  • ......



Spring 面试题(答案+解析)



Spring 核心知识点


5.一线互联网企业历年面试真题(阿里+字节跳动+美团+网易+拼多多+京东+B 站等)


以美团为例(部分):


  • List 和 Set 的区别

  • HashSet 是如何保证不重复的?

  • HashMap 是线程安全的吗?为什么不是线程安全的?(最好画图说明多线程环境下不安全)

  • HashMap 的扩容过程

  • HashMap 1.7 与 1.8 的 区别,说明 1.8 做了哪些优化,如何优化的?

  • 对象的四种引用

  • Java 获取反射的三种方法

  • Java 反射机制

  • Arrays.sort 和 Collections.sort 实现原理和区别?

  • LinkedHashMap 的应用

  • Cloneable 接口实现原理

  • wait 和 sleep 的区别?

  • 讲一下数组在内存中如何分配?

  • ......



一线互联网企业面试真题(答案详解版)


美团面试题分享(5 轮压力面)


==============


**下面的面试题我把答案整理在了文档内了,答案和解析都是面试后续进行整理和总结的,包括个人见解和思考,不完全正确,具有一定参考价值,如果需要点击[传送门](


)?即可!!**


美团一面:


  1. 做一下自我介绍吧,简单说一下你的项目;

  2. 有遇到过内存泄漏吗?你们是怎么解决的?

  3. java 的基本类型有哪几个?String 是不是 java 的基本类型?String 为什么要是 final 类型的?

  4. 反射机制的底层实现是什么?动态呢?动态的实现原理?

  5. hashmap 了解吗?说一下 hashm


【一线大厂Java面试题解析+核心总结学习笔记+最新架构讲解视频+实战项目源码讲义】
浏览器打开:qq.cn.hn/FTf 免费领取
复制代码


ap 相关的一些东西?hashmap 是线程安全的吗?为什么是线程安全的?


  1. concureenthashmap 了解吗?他是如何实现线程安全的?

  2. 你刚才说 1.8 基于 cas?cas 的 ABA 问题怎么解决?

  3. 说一下 JVM 的线程模型?这些区域都分别是干啥用的?

  4. 说一下 java 类加载器的工作机制?类加载在哪个区域进行的?

  5. 说一下 java 的线程模型?

  6. violate 了解吗?它的原理是什么?violate 是线程安全的吗?

  7. 保证线程安全的解决方法有哪些?说一说读写锁吧,读写锁的读

  8. 数据库的索引有哪几种?为什么要用 B+树来做索引?组合索引和几个单个的索引有什么区别?数据库的大表查询优化了解吗?MVCC 机制了解不?MVCC 机制有什么问题?怎么去解决这个问题?mysql 慢语句调优做过吗?说说你是怎么做的?

  9. redis 了解吗?你说说怎么用 redis 实现分布式锁?

  10. spring 中 Bean 的作用域,springMVC 的 controller 是线程安全的吗?怎么去保证线程安全呢?

  11. 消息队列有用过吗?说说你怎么用的?

  12. 计算机网络了解吗?说一说 TCP 三次握手和四次挥手吧

  13. time_wait 状态产生的原因是什么?,有什么危害?可以如何避免?

  14. 寻找旋转排序数组中的最小值


假设按照升序排序的数组在预先未知的某个点上进行了旋转。

用户头像

极客good

关注

还未添加个人签名 2021.03.18 加入

还未添加个人简介

评论

发布
暂无评论
2021最新美团面经分享:999页Java程序员面试清单(下载量已突破30W