写点什么

总结年初到 10 月底 Java 基础、架构面试题,共计 1327 道!涵盖蚂蚁金服、腾讯、字节跳动、美团、拼多多等等一线大厂!

作者:三十而立
  • 2023-04-17
    湖南
  • 本文字数:4765 字

    阅读完需:约 16 分钟

总结年初到 10 月底 Java 基础、架构面试题,共计 1327 道!涵盖蚂蚁金服、腾讯、字节跳动、美团、拼多多等等一线大厂!


小编整理了截止到 4 月 Java 基础、架构面试中常问、必问的题!其中也不乏蚂蚁金服、字节跳动、美团、滴滴、拼多多、腾讯、华为等等一线大厂的面试真题!共计 1327 道(小编可以整理了十来个通宵,太累人了!)作为全网首发,现在免费公开!希望对大家的面试可以起到“一招制敌”的关键性作用!总目录大纲


由于文章的篇幅有限,小编只能展示出部分的面试题供大家参考,也希望大家对面试有帮助,面试题及其答案太多了,全部展现出来太不切实际,完整 PDF 版的免费获取方式放在了文末,自取即可! (注意:所有面试题全部都有答案!!!)多线程 &并发面试题


Java 中实现多线程有几种方法
复制代码


2、继承 Thread 类


3、实现 Runnable 接口。


4、ExecutorService. Callable. Future 有返回值线程


5、基于线程池的方式


4 种线程池
复制代码


7、如何停止一个正在运行的线程


8、 notify0 和 notifyAll0 有什么区别?


sleep0 和 wait0 有什么区别?
复制代码


10、volatile 是什么?可以保证有序性吗?


11、Thread 类中的 start0 和 run0 方法有什么区别?


为什么 wait, notify 和 nfifAllI 这些方法不在 thread 类里面?
复制代码


13、 为什么 wait 和 ntify 方法要在同步块中调用?


14、Java 中 interrupted 和 isInterruptedd 方法的区别?


Java 中 synchronized 和 ReentrantLock 有什么不同?
复制代码


16、 有三个线程 T1,T2,T3,如何保证顺序执行?


SynchronizedMap 和 ConcurrentHashMap 有什么区别?
复制代码


18、什么是线程安全?


Thread 类中的 yield 方法有什么作用?
复制代码


20、Java 线程池中 submit0 和 execute0 方法有什么区别?


21、说一-说自己对于 synchronized 关键字的了解


22、说说自己是怎么使用 synchronized 关键字,在项目中用到了吗 synchronized 关键字最主要的三种使用方式


23、什么是线程安全? Vector 是一个线程安全类吗?


24、volatile 关键字的作用?


25、简述一下你对线程池的理解


线程生命周期(状态)
复制代码


27、新建状态(NEW)


28、就绪状态(RUNNABLE)


29、运行状态(RUNNING)


30、阻塞状态(BLOCKED)


31、线程死亡(DEAD)


32、 终止线程 4 种方式


33、start 与 run 区别


34、JAVA 后台线程


35、什么是乐观锁


36、什么是悲观锁


37、什么是自旋锁


38、Synchronized 同步锁


39、ReentrantLock


40、Condition 类和 Object 类锁方法区别区别


41、tryLock 和 lock 和 lockInterruptibly 的区别


42、Semaphore 信号量


43、Semaphore 与 ReentrantLock 区别


44、可重入锁(递归锁)


45、公平锁与非公平锁


46、ReadWriteLock 读写锁


47、共享锁和独占锁


重量级锁(Mutex Lock)
复制代码


49、轻量级锁


50、 偏向锁


51、分段锁


52、锁优化


53、 线程基本方法


54、 线程等待(wait)


线程睡眠(sleep)
复制代码


56、 线程让步(yield)


线程中断(interrupt)
复制代码


58、Join 等待其他线程终止


为什么要用 join0 方法?
线程唤醒(notify)
复制代码


61、线程其他方法


62、进程


63、 上下文


64、寄存器


65、程序计数器


66、 PCB-“切换桢"


JVM 面试题


java 中会存在内存泄漏吗,请简单描述。
复制代码


2、64 位 JVM 中,int 的长度是多数?


3、Serial 与 Parallel GC 之间的不同之处?


4、32 位和 64 位的 JVM,int 类型变量的长度是多数?


5、Java 中 WeakReference 与 SoftReference 的区别?


JVM 选项-XX:+UseCompressedOops 有什么作用?为什么要使用
复制代码


7、怎样通过 Java 程序来判断 JVM 是 32 位还是 64 位?


32 位 JVM 和 64 位 JVM 的最大堆内存分别是多少?
JRE、 JDK. JVM 及 JIT 之间有什么不同?
复制代码


10.解释 Java 堆空间及 GC?


JVM 内存区域
复制代码


12、程序计数器(线程私有)


13.虚拟机栈(线程私有)


14、本地方法区(线程私有)


15、你能保证 GC 执行吗?


16、怎么获取 Java 程序使用的内存?堆使用的百分比?


17、Java 中堆和栈有什么区别?


18、 描述一下 JVM 加载 class 文件的原理机制


19、GC 是什么?为什么要有 GC?


20、堆(Heap-线程共享) -运行时数据区


21.方法区/永久代(线程共享)


22、JVM 运行时内存


23、新生代


24、老年代


25、永久代


26、JAVA8 与元数据


27.引用计数法


28、可达性分析


29.标记清除算法( Mark- Sweep)


30.复制算法(copying)


31、标记整理算法(Mark-Compact)


32、分代收集算法


33、新生代与复制算法


34、老年代与标记复制算法


35、JAVA 强引用


36、 JAVA 软引用


37、JAVA 弱引用


38、 JAVA 虚引用


39.分代收集算法


40、在新生代-复制算法


41、在老年代-标记整理算法


42、分区收集算法


43、GC 垃圾收集器


Serial 垃圾收集器(单线程、 复制算法)
复制代码


45、ParNew 垃圾收集器(Serial+ 多线程)


Parallel Scavenge 收集器(多线程复制算法、高效)
复制代码


57、Serial Old 收集器(单线程标记整理算法)


58、Parallel Old 收集器(多线程标记整理算法)


CMS 收集器(多线程标记清除算法)
复制代码


60、G1 收集器


61、JVM 类加载机制


62、类加载器


63、双亲委派


64、OSGI (动态模型系统)


65、动态改变构造


66、模块化编程与热插拔


67、JVM 内存模型


68、栈


69.本地方法栈


70、程序计数器


71、堆


72、 方法区


73、分代回收


74、堆和栈的区别


75.什么时候会触发 FulIGC


76、什么是 Java 虚拟机?为什么 Java 被称作是“平台无关的编程语言”?


77、对象分配规则


78、描述一下 JVM 加载 class 文件的原理机制?


Java 对象创建过程
复制代码


80、简述 Java 的对象结构


81、如何判断对象可以被回收


82、JVM 的永久代中会发生垃圾回收么


83、垃圾收集算法


84.调优命令有哪些?


85、调优工具


86、Minor GC 与 Full GC 分别在什么时候发生?


87、你知道哪些 JVM 性能调优


MySQL 面试题


31、CHAR 和 VARCHAR 的区别?


32、主键和候选键有什么区别?


33、myisamchk 是用来做什么的?


34、MyISAM Static 和 MyISAM Dynamic 有什么区别?


35、如果一个表有一列定义为 TIMESTAMP,将发生什么?


36、你怎么看到为表格定义的所有索引? '


37、LIKE 声明中的 %和是什么意思?


38、列对比运算符是什么?


39、BLOB 和 TEXT 有什么区别?


MySQL fetch array 和 MySQL _fetch. object 的区别是什么?
复制代码


41、MyISAM 表格将在哪里存储,并且还提供其存储格式?


42、MySQL 如何优化 DISTINCT?


43、如何显示前 50 行?


44、可以使用多少列创建索引?


45、NOW ()和 CURRENT DATE ()有什么区别?


46.什么是非标准字符串类型?


47.什么是通用 SQL 函数?


48、MySQL 支持事务吗?


49、MySQL 里记录货币用什么字段类型好


50、MySQL 有关权限的表都有哪几个?


51、列的字符串类型可以是什么?


52、MySQL 数据库作发布系统的存储,一天五万条以上的增量,预计运维三年,怎么优化?


53、锁的优化策略


54、索引的底层实现原理和优化


55、什么情况下设置了索引但无法使用


实践中如何优化 MySQL
复制代码


57、优化数据库的方法


58、简单描述 MySQL 中,索引,主键,唯一索引,联合索引的区别,对数据库的性能有什么影响(从读写两方面)


59、数据库中的事务是什么?


60、SQL 注入漏洞产生的原因?如何防止?


61.为表中得字段选择合适得数据类型


62、存储时期


63.对于关系型数据库而言,索引是相当重要的概念,请回答有关索引的几个问题


64、解释 MySQL 外连接、内连接与自连接的区别


65、Myql 中的事务回滚机制概述


SQL 语言包括哪几部分?每部分都有哪些操作关键
复制代码


67、完整性约束包括哪些?


什么是锁?
复制代码


69、什么叫视图?游标是什么?


70、什么是存储过程?用什么来调用?


71、如何通俗地理解三三个范式?


72、什么是基本表?什么是视图?


73、试述视图的优点?


74、NULL 是什么意思


75、 主键、外键和索引的区别?


你可以用什么来确保表格里的字段只接受特定范围里的值?
说说对 SQL 语句优化有哪些方法? (选择几条)
复制代码


78、什么是乐观锁


79.什么是悲观锁


80、 什么是时间戳


81、什么是行级锁


82、什么是表级锁


83、什么是页级锁 Redis 面试题


1.什么是 Redis?


2、Redis 与其他 key-value 存储有什么不同?


3、Redis 的数据类型?


4、使用 Redis 有哪些好处?


5、Redis 相比 Memcached 有哪些优势?


6、Memcache 与 Redis 的区别都有哪些?


7、Redis 是单进程单线程的?


8、一个字符串类型的智能存储最大容量是多少?


9、Redis 持久化机制


10、 缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题


11、热点数据和冷数据是什么


12、单线程的 redis 为什么这么快


13、redis 的数据类型,以及每种数据类型的使用场景


14、redis 的过期策略以及内存淘汰机制


15、Redis 常见性能问题和解决方案?


16.为什 Redis 的操作是原子性的,怎么保证原子性的?


17、Redis 事务


Redis 的持久化机制是什么?各自的优缺点?
Redis 常见性能问题和解决方案:
复制代码


20、redis 过期键的删除策略?


Redis 的回收策略(淘汰策略) ?
复制代码


22.为什么 edis 需要把所有数据放到内存中?


23、Redis 的同步机制了解么?


Ppeline 有什么好处,为什么要用 pieline?
复制代码


25.是否使用过 Redis 集群,集群的原理是什么?


Redis 集群方案什么情况下会导致整个集群不可用?
Redis 支持的 lava 客户端都有哪些?官方推荐用哪个?
Jedis 与 Redisson 对比有什么优缺点?
Redis 如何设置密码及验证密码?
复制代码


30.说说 Redis 哈希槽的概念?


SpringBoot 面试题


34、什么是 AOP?


什么是 Apache Kafka?
复制代码


36、我们如何监视所有 Spring Boot 微服务?


Spring Boot 的配置文件有哪几种格式?它们有什么区别?
复制代码


38、开启 Spring Boot 特性有哪几种方式?


39、 Spring Boot 的目录结构是怎样的?


40、 运行 Spring Boot 有哪几种方式?


Spring Boot 自动配置原理是什么?
如何在 Spring Boot 启动的时候运行一些特定的代码?
复制代码


43、 Spring Boot 有哪几种读取配置的方式?


Spring Boot 支持哪些日志框架?推荐和默认的日志框架是哪个?
复制代码


45、 Spring Boot 如何定义多套不同环境配置?


Spring Boot 可以兼容老 Spring 项目吗,如何做?
保护 Spring Boot 应用有哪些方法?
复制代码


48、 Spring Boot 2.X 有什么新特性?与 1.X 有什么区别?


49、如何重新加载 Spring Boot 上的更改,而无需重新启动服务器?


50、springboot 集 成 mybatis 的过程


51、Spring Boot. Spring MVC 和 Spring 有什么区别?


52、什么是 Spring Boot Stater ?


53、Spring Boot 还提供了其它的哪些 Starter Project Options?


54、Spring 是如何快速创建产品就绪应用程序的?


55、创建一个 Spring Boot Project 的最简单的方法是什么?


56、Spring Iitializr 是创建 Spring Boot Projects 的唯一方法吗?


57、如何使用 SpringBoot 自动重装我的应用程序?


58、什么 是嵌入式服务器?我们为什么要使用嵌入式服务器呢?


59、如何在 Spring Boot 中添加通用的 JS 代码?


60、什么是 Spring Date?


61、什么是 Spring Data REST?


62、path="users", collectionResourceRel="users"如何与 Spring Data Rest 一起使用?


63、当 Spring Boot 应用程序作为 Java 应用程序运行时,后台会发生什么?


64、我们能否在 spring-boot-starter-web 中用 jetty 代替 tomcat?


65、如何使用 Spring Boot 生成一个 WAR 文件?


66、如何使用 Spring Boot 部署到不同的服务器?


67、RequestMapping 和 GetMapping 的不同之处在哪里?


68、为什么我们不建议在实际的应用程序中使用 Spring Data Rest?


69.在 Spring Initializer 中,如何改变-个项目的包名字?


70、可以配置 application.propertierde 的完整的属性列表在哪里可以找到?


71、JPA 和 Hibernate 有哪些区别?


72、使用 Spring Boot 启动连接到内存数据库 H2 的 JPA 应用程序需要哪些依赖项?


73、如何不通过任何配置来选择 Hibernate 作为 JPA 的默认实现?


74、指定的数据库连接信息在哪里?它是如何知道自动连接至 H2 的?


75、我们如何连接一个像 MSSQL 或者 orcale 一样的外部数据库?


76、Spring Boot 配置的默认 H2 数据库的名字是上面?为什么默认的


数据库名字是 testdb?


77.如果 H2 不在类路径里面,会出现上面情况?


78、你能否举一个以 ReadOnly 为事务管理的例子?


79.发布 Spring Boot 用户应用程序自定义配置的最好方法是什么?


80、配置文件的需求是什么?


81、如何使用配置文件通过 Spring Boot 配置特定环境的配置?


82、我们如何使用 Maven 设置 Spring Boot 应用程序?


83、如何禁用特定的自动配置?


84、Spring boot 支持哪些外部配置?


需要的小伙伴 点击此处 即可

用户头像

三十而立

关注

还未添加个人签名 2023-02-06 加入

还未添加个人简介

评论

发布
暂无评论
总结年初到 10 月底 Java 基础、架构面试题,共计 1327 道!涵盖蚂蚁金服、腾讯、字节跳动、美团、拼多多等等一线大厂!_三十而立_InfoQ写作社区