4.百度健康
- Java有哪些基本数据类型:
 
Java有8种基本数据类型:byte, short, int, long, float, double, char(16bit), boolean(内存1bit 数组32bit)。
- 
接口和抽象类的区别:
- 
接口只能包含抽象方法和默认方法(Java 8+),属性默认是public static final的;抽象类可以包含具体实现的方法和属性。
 - 
一个类可以实现多个接口,但只能继承一个抽象类。
 - 
接口主要用于定义公共的方法规范;抽象类可以包含具体实现,提供更灵活的抽象。
 
 - 
 - 
介绍JVM内存模型:
 
JVM内存模型主要包括程序计数器、虚拟机栈、本地方法栈、堆和方法区(或元空间)。
- 介绍虚拟机栈:
 
虚拟机栈是线程私有的,每个方法执行时都会创建一个栈帧,用于存储局部变量表、操作数栈、动态链接、方法出口等信息。
- 
栈溢出和堆溢出抛出什么类型的异常:
- 
栈溢出抛出
StackOverflowError或OutOfMemoryError。 - 
堆溢出抛出
OutOfMemoryError。 
 - 
 - 
介绍堆和栈的内存释放机制(垃圾回收)。启动堆的时候可以指定堆大小吗?有什么参数指定的?
- 
栈的内存释放是自动的,方法执行完毕,对应的栈帧就会出栈,内存随之释放。
 - 
堆的内存释放是通过垃圾回收器来进行的。
 - 
可以通过JVM参数
-Xms和-Xmx来指定堆的初始大小和最大大小。 
 - 
 
- 介绍类加载的过程:
 
包括加载、链接(验证、准备、解析)、初始化、使用、卸载。
- 
介绍Spring的ioc和aop,项目中怎么使用aop的:
- 
IOC(控制反转)是通过依赖注入实现对象之间的解耦。
 - 
AOP(面向切面编程)用于在不修改源代码的情况下,添加额外的功能。
 - 
项目中可以通过定义切面(Aspect)和通知(Advice)来使用AOP,例如日志记录、事务管理。
 
 - 
 - 
Bean的作用域有哪些,项目中常用什么作用域:
- 
作用域:singleton(单例)、prototype(原型)、request、session、application、websocket。
 - 
常用:singleton。
 
 - 
 
- 依赖注入的方式:
 
构造器注入、setter注入、字段注入。
- 
MySQL中char和varchar的区别:
- 
char是固定长度的,varchar是可变长度的。
 - 
char在存储时会用空格填充至固定长度,varchar则不会。
 
 - 
 - 
MySQL有哪些索引类型:
- B-Tree索引、哈希索引、全文索引、R-Tree索引。
 
 
- 
常见的join类型。使用左连接的方式连接A/B两张表,若B中某数据行缺失,但在A中改行存在,最终结果能查出来这一行数据吗?
- 
常见的join类型:内连接(INNER JOIN)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)、全连接(FULL JOIN)。
 - 
能,左连接会返回左表(A表)的所有行,即使在右表(B表)中没有匹配的行。
 
 - 
 - 
聚簇索引和非聚簇索引有什么区别:
- 聚簇索引的叶节点包含了完整的数据行;非聚簇索引的叶节点包含指向数据行的指针。
 
 
- 
什么情况下应该使用索引,什么情况不该使用索引。某字段只有十种数据值,应当对其使用索引吗?
- 
应该使用索引的情况:数据量大、经常查询的字段。
 - 
不应该使用索引的情况:数据量小、更新频繁的字段。
 - 
如果字段只有十种数据值,但数据量大且查询频繁,可以考虑使用索引。
 
 - 
 - 
redis为什么快:
- 基于内存、单线程模型、优化的数据结构。
 
 
- 
redis怎么在项目中使用的:
- 用于缓存、会话管理、消息队列等。
 
 - 
redis持久化怎么实现的:
- RDB(快照持久化)、AOF(追加文件持久化)。
 
 
- 
redis常见的数据结构。其中list是双向链表还是单向:
- 
常见数据结构:字符串(strings)、列表(lists)、集合(sets)、有序集合(sorted sets)、哈希(hashes)。
 - 
List是双向链表。
 
 - 
 - 
HTTP状态码的401和403表示什么意思:
- 
401:未授权,请求需要用户验证。
 - 
403:禁止,服务器理解请求但拒绝执行。
 
 - 
 
- 
如何设计token?token如何鉴权?介绍项目中使用到的SA-Token框架:
- Token设计应该包含唯一标识、发行者、过期时间等信息,通常使用JWT(JSON Web Tokens)格式。 - 鉴权通常通过在请求头中携带Token,服务器端验证Token的有效性。 - SA-Token是一个轻量级Java权限认证框架,提供了诸如登录认证、权限验证、Session会话、单点登录、OAuth2.0、微服务网关鉴权等功能。
 
 
八股文分类整理 老哥们点点赞,订阅一下,纯福利做数据。

巨人网络公司福利 91人发布

