热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

两年Java开发经验,全网最具深度的三次握手、四次挥手讲解

#1.美团面试官问的SpringBoot问题1.什么是SpringBoot?2.为什么要用SpringBoot?3.SpringBoot的核心配置文件有哪几个?它们的区别是什么?4

# 1.美团面试官问的Spring Boot问题
1. 什么是 Spring Boot?
2. 为什么要用 Spring Boot?
3. Spring Boot 的核心配置文件有哪几个?它们的区别是什么?
4. Spring Boot 的配置文件有哪几种格式?它们有什么区别?
5. Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的?
6. 开启 Spring Boot 特性有哪几种方式?
7. Spring Boot 需要独立的容器运行吗?
8. 运行 Spring Boot 有哪几种方式?
9. Spring Boot 自动配置原理是什么?
10. Spring Boot 的目录结构是怎样的?
# 1.1我的Spring Boot学习笔记
1. Spring Boot、Spring MVC 和 Spring 有什么区别?
2. 什么是自动配置?
3. 什么是 Spring Boot Stater ?
4. 你能否举一个例子来解释更多 Staters 的内容?
5. Spring Boot 还提供了其它的哪些 Starter Project Options?
6. Spring 是如何快速创建产品就绪应用程序的?
7. 创建一个 Spring Boot Project 的最简单的方法是什么?
8. Spring Initializr 是创建 Spring Boot Projects 的唯一
9. 为什么我们需要 spring-boot-maven-plugin?
10. 如何使用 SpringBoot 自动重装我的应用程序?
11. 什么是嵌入式服务器?我们为什么要使用嵌入式服务器呢?
12. 如何在 Spring Boot 中添加通用的 JS 代码?
![美团二面惜败,我的凉经复盘(附学习笔记+面试整理+进阶书籍)](http://www.icode9.com/i/li/?n=2&i=images/20210705/1625441153563695.jpg)
# 1.2Spring学习路线思维导图
![美团二面惜败,我的凉经复盘(附学习笔记+面试整理+进阶书籍)](http://www.icode9.com/i/li/?n=2&i=images/20210705/1625441153777345.jpg)
# 2.美团面试官问的RabbitMQ问题
1. 使用RabbitMQ有什么好处?
2. RabbitMQ 中的 broker 是指什么?cluster 又是指什么?
3. RabbitMQ 概念里的 channel、exchange 和 queue 是逻辑概念,还是对应着进程实体?分别起什么作用?
4. vhost 是什么?起什么作用?
5. 消息基于什么传输?
6. 消息如何分发?
7. 消息怎么路由?
8. 什么是元数据?元数据分为哪些类型?包括哪些内容?与 cluster 相关的元数据有哪些?元数据是如何保存的?元数据在 cluster 中是如何分布的?
# 2.1我的RabbitMQ学习笔记
1. 什么是rabbitmq
2. 为什么要使用rabbitmq
3. 使用rabbitmq的场景
4. 如何确保消息正确地发送至RabbitMQ? 如何确保消息接收方消费了消息?
5. 如何避免消息重复投递或重复消费?
6. 消息基于什么传输?
7. 消息如何分发?
8. 消息怎么路由?
9. 如何确保消息不丢失?
10. 使用RabbitMQ有什么好处?
11. rabbitmq的集群
12. mq的缺点
![美团二面惜败,我的凉经复盘(附学习笔记+面试整理+进阶书籍)](http://www.icode9.com/i/li/?n=2&i=images/20210705/1625441154918654.jpg)
# 3.美团面试官问的MySQL问题
1. 事务四大特性
2. MySQL的事务隔离级别
3. 数据库的索引
4. 数据库三范式
5. 脏读&不可重复读&幻读
6. 存储引擎 MyISAM和InnoDB区别
7. Mysql中有哪几种锁?
8. 讲一下存储过程
# 3.1我的MySQL灵魂拷问笔记
1. Mysql的技术特点是什么?
2. Heap表是什么?
3. Mysql服务器默认端口是什么?
4. 与Oracle相比,Mysql有什么优势?
5. 如何区分FLOAT和DOUBLE?
6. 如何获取当前的Mysql版本?
7. Mysql中使用什么存储引擎?
8. Mysql驱动程序是什么?
9. 主键和候选键有什么区别?
10. 如何使用Unix shell登录Mysql?
11. 你怎么看到为表格定义的所有索引?
12. InnoDB是什么?
![美团二面惜败,我的凉经复盘(附学习笔记+面试整理+进阶书籍)](http://www.icode9.com/i/li/?n=2&i=images/20210705/1625441154291163.jpg)
# 3.2MySQL学习路线思维导图
![美团二面惜败,我的凉经复盘(附学习笔记+面试整理+进阶书籍)](http://www.icode9.com/i/li/?n=2&i=images/20210705/1625441154728522.jpg)
# 4.美团面试官问的设计模式问题
1. 请列举出在JDK中几个常用的设计模式?
2. 什么是设计模式?你是否在你的代码里面使用过任何设计模式?
3. Java 中什么叫单例设计模式?请用Java 写出线程安全的单例模式
4. 在 Java 中,什么叫观察者设计模式(observer design pattern)?
5. 使用工厂模式最主要的好处是什么?在哪里使用?
6. 举一个用 Java 实现的装饰模式(decorator design pattern)?它是作用于对象层次还是类层次?
7. 在 Java 中,为什么不允许从静态方法中访问非静态变量?
8. 例说明什么情况下会更倾向于使用抽象类而不是接口?
# 4.1 23种设计模式知识要点
1. 单例模式
2. 工厂模式
3. 抽象工厂模式
4. 模板方法模式
5. 建造者模式
6. 代理模式
7. 原型模式
8. 中介者模式
9. 命令模式
10. 责任链模式
![美团二面惜败,我的凉经复盘(附学习笔记+面试整理+进阶书籍)](http://www.icode9.com/i/li/?n=2&i=images/20210705/1625441154147338.jpg)
# 4.2设计模式学习路线思维导图
![美团二面惜败,我的凉经复盘(附学习笔记+面试整理+进阶书籍)](http://www.icode9.com/i/li/?n=2&i=images/20210705/1625441155126608.jpg)
# 5.美团面试官问的并发编程问题
1. Java中有几种方法可以实现一个线程?
2. 如何停止一个正在运行的线程?
3. 什么是Daemon线程?它有什么意义?
4. ava如何实现多线程之间的通讯和协作?
5. 乐观锁和悲观锁的理解及如何实现,有哪些实现方式?
6. 什么是可重入锁(ReentrantLock)?
7. 什么叫线程安全?servlet是线程安全吗?
8. 同步有几种实现方法?
# 5.1并发编程面试专题
1. Java中守护线程和本地线程区别
2. 什么是多线程中的上下文切换
3. 死锁与活锁的区别,死锁与饥饿的区别
4. 线程与进程的区别
5. Java中用到的线程调度算法是什么
6. 什么是线程组,为什么在Java中不推荐使用
7. 在Java中Executor和Executors的区别
8. 什么是原子操作,在Java Concurrency API中有哪些原子类(atomic classes)
9. 什么是Executors框架
10. 什么是阻塞队列,阻塞队列的实现原理是什么,如何使用阻塞队列来实现生产者-消费者模型
![美团二面惜败,我的凉经复盘(附学习笔记+面试整理+进阶书籍)](http://www.icode9.com/i/li/?n=2&i=images/20210705/1625441155996550.jpg)
# 5.2并发编程学习路线思维导图
![美团二面惜败,我的凉经复盘(附学习笔记+面试整理+进阶书籍)](http://www.icode9.com/i/li/?n=2&i=images/20210705/1625441155517521.jpg)
# 6.美团面试官问的JVM虚拟机问题
1. 什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?
2. 什么是类的加载
3. 描述一下JVM加载class文件的原理机制?
4. 如何判断对象可以被回收?
5. 什么时候一个对象会被GC?
6. 为什么要在这种时候对象才会被GC?
7. JVM内存分为哪几部分,这些部分分别都存储哪些数据?
8. 一个对象从创建到销毁都是怎么在这些部分里存活和转移的?
# 6.1JVM虚拟机面试专题
1. Java 类加载过程?
2. 描述一下 JVM 加载 Class 文件的原理机制?
3. Java 内存分配。
4. GC 是什么? 为什么要有 GC?
5. 简述 Java 垃圾回收机制。
6. 如何判断一个对象是否存活?(或者 GC 对象的判定方法)
7. 垃圾回收的优点和原理。并考虑 2 种回收机制。
8. 垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?
9. Java 中会存在内存泄漏吗,请简单描述。
10. 深拷贝和浅拷贝
![美团二面惜败,我的凉经复盘(附学习笔记+面试整理+进阶书籍)](http://www.icode9.com/i/li/?n=2&i=images/20210705/1625441155467862.jpg)
# 6.2 JVM虚拟机学习路线思维导图
![美团二面惜败,我的凉经复盘(附学习笔记+面试整理+进阶书籍)](http://www.icode9.com/i/li/?n=2&i=images/20210705/1625441156175337.jpg)
# 7.美团面试官问的Redis问题
1. 什么是Redis?简述它的优缺点?
2. Redis相比memcached有哪些优势?
3. Redis支持哪几种数据类型?
4. Redis主要消耗什么物理资源?
5. Redis的全称是什么?
6. Redis有哪几种数据淘汰策略?
7. Redis官方为什么不提供Windows版本?
8. Redis集群方案应该怎么做?都有哪些方案?
9. 为什么Redis需要把所有数据放到内存中?
10. Redis有哪些适合的场景?
# 7.1 Redis面试专题
1. 为什么要用 redis /为什么要用缓存
2. 为什么要用 redis 而不用 map/guava 做缓存?
3. redis 和 memcached 的区别
4. redis 常见数据结构以及使用场景分析
5. redis 设置过期时间
6. redis 内存淘汰机制(MySQL里有2000w数据,Redis中只存20w的数据,如何保证Redis中的数据都是热点数据?)
7. redis 持久化机制(怎么保证 redis 挂掉之后再重启数据可以进行恢复)
8. redis 事务
9. Redis 常见异常及解决方案
10. 分布式环境下常见的应用场景
![美团二面惜败,我的凉经复盘(附学习笔记+面试整理+进阶书籍)](http://www.icode9.com/i/li/?n=2&i=images/20210705/1625441156168610.jpg)
# 7.2 Redis学习路线思维导图
![美团二面惜败,我的凉经复盘(附学习笔记+面试整理+进阶书籍)](http://www.icode9.com/i/li/?n=2&i=images/20210705/1625441156167526.jpg)
**8\. 我的参考学习资料:Java核心知识点整理**
JVM,集合,HTTP网络,多线程并发,JAVA基础,Spring,微服务,Zookeeper,Kafka,RabbitMQ,Hbase,消息中间件,MongoDB,设计模式,负载均衡,数据库,一致性哈希,算法,数据结构,加密算法,分布式缓存,Netty,Linux,Tomcat,Nginx,Redis等
![美团二面惜败,我的凉经复盘(附学习笔记+面试整理+进阶书籍)](http://www.icode9.com/i/li/?n=2&i=images/20210705/1625441156994933.jpg)
**9\. 各类学习书籍整理**
![美团二面惜败,我的凉经复盘(附学习笔记+面试整理+进阶书籍)](http://www.icode9.com/i/li/?n=2&i=images/20210705/1625441157496729.jpg)
**10\. 各类面试题整理**
![美团二面惜败,我的凉经复盘(附学习笔记+面试整理+进阶书籍)](http://www.icode9.com/i/li/?n=2&i=images/20210705/1625441157761454.jpg)
#
# **写在最后**
以上就是我的面试过程,为了这次面试,也收集了很多的面试题,反正我已经面过了,那就免费分享出来吧!
需要的朋友:**关注一下,然后[点击这里即可](https://docs.qq.com/doc/DSmxTbFJ1cmN1R2dB)免费领取**
以下是部分面试题截图
![Java程序员秋招三面蚂蚁金服,我总结了所有面试题,也不过如此](http://www.icode9.com/i/li/?n=2&i=images/20210705/1625441157946773.jpg)
推荐阅读
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • 本文介绍了Sencha Touch的学习使用心得,主要包括搭建项目框架的过程。作者强调了使用MVC模式的重要性,并提供了一个干净的引用示例。文章还介绍了Index.html页面的作用,以及如何通过链接样式表来改变全局风格。 ... [详细]
  • MySQL数据库锁机制及其应用(数据库锁的概念)
    本文介绍了MySQL数据库锁机制及其应用。数据库锁是计算机协调多个进程或线程并发访问某一资源的机制,在数据库中,数据是一种供许多用户共享的资源,如何保证数据并发访问的一致性和有效性是数据库必须解决的问题。MySQL的锁机制相对简单,不同的存储引擎支持不同的锁机制,主要包括表级锁、行级锁和页面锁。本文详细介绍了MySQL表级锁的锁模式和特点,以及行级锁和页面锁的特点和应用场景。同时还讨论了锁冲突对数据库并发访问性能的影响。 ... [详细]
  • Servlet多用户登录时HttpSession会话信息覆盖问题的解决方案
    本文讨论了在Servlet多用户登录时可能出现的HttpSession会话信息覆盖问题,并提供了解决方案。通过分析JSESSIONID的作用机制和编码方式,我们可以得出每个HttpSession对象都是通过客户端发送的唯一JSESSIONID来识别的,因此无需担心会话信息被覆盖的问题。需要注意的是,本文讨论的是多个客户端级别上的多用户登录,而非同一个浏览器级别上的多用户登录。 ... [详细]
  • 本文讨论了在shiro java配置中加入Shiro listener后启动失败的问题。作者引入了一系列jar包,并在web.xml中配置了相关内容,但启动后却无法正常运行。文章提供了具体引入的jar包和web.xml的配置内容,并指出可能的错误原因。该问题可能与jar包版本不兼容、web.xml配置错误等有关。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 本文整理了315道Python基础题目及答案,帮助读者检验学习成果。文章介绍了学习Python的途径、Python与其他编程语言的对比、解释型和编译型编程语言的简述、Python解释器的种类和特点、位和字节的关系、以及至少5个PEP8规范。对于想要检验自己学习成果的读者,这些题目将是一个不错的选择。请注意,答案在视频中,本文不提供答案。 ... [详细]
author-avatar
勇敢的无心睡眠888
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有