写点什么

2021 最新整理美团面经分享:999 页 Java 面试宝典 + 技术知识点总结 (1)

用户头像
Java高工P7
关注
发布于: 7 小时前
  • 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 了解吗?说一下 hashmap 相关的一些东西?hashmap 是线程安全的吗?为什么是线程安全的?

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

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

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

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

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

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

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

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


《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
浏览器打开:qq.cn.hn/FTe 免费领取
复制代码


慢语句调优做过吗?说说你是怎么做的?


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

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

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

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

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

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


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



( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。



请找出其中最小的元素。



你可以假设数组中不存在重复元素。



示例 1:



输入: [3,4,5,1,2]



输出: 1



示例 2:



输入: [4,5,6,7,0,1,2]



输出: 0


美团二面:


  1. 首先还是问项目。

  2. String,StringBuffer,StringBuilder 的区别,为什么 String 是不可变的,StringBuffer 和 StringBuilder 哪个是线程安全的,他们分别适用于什么场景。

  3. java 类加载过程是怎么样的,说一下 volatile。

  4. 并发包了解吗?假如几个线程之间相互等待,可以用哪个并发类来实现,他的原理是什么?

  5. 数据库慢查询优化了解哪些?

  6. 说一下 spring 容器的启动过程?

  7. 讲一下分布式锁,基于 zookeeper 实现和 redis 实现在性能上有什么差异?

  8. kafka 如何保证不丢消息又不会重复消费。了解大数据相关的一些技术吗?

  9. 最后写了道题:跳跃游戏;


给定一个非负整数数组,你最初位于数组的第一个位置。



数组中的每个元素代表你在该位置可以跳跃的最大长度。



判断你是否能够到达最后一个位置。



示例 1:



输入: [2,3,1,1,4]

用户头像

Java高工P7

关注

还未添加个人签名 2021.11.08 加入

还未添加个人简介

评论

发布
暂无评论
2021最新整理美团面经分享:999页Java面试宝典+技术知识点总结(1)