这个博客用来记录我从第一次面试开始往后所有的面试中的具体情况,以便自己去回顾来时路并巩固相关问题qwq,虽然我现在才大二,但提前攒点经验总是好的

广东爱简艺人工智能科技有限公司

  • 公司:广东爱简艺人工智能科技有限公司
  • 岗位:API聚合开发实习生/接口开发实习生
  • 面试轮次:1
  • 时间:2026-04-21 14:00
  • 面试形式(线上/线下):线上

面试过程:

  1. 自我介绍(1分钟)
  2. 开始问技术问题(不分顺序,记不太清了)
    • spring boot里面application其下的三个核心注解(不记得,没答出来)
      • Spring Boot 启动类上的核心注解是 @SpringBootApplication,它是一个组合注解,包含 @EnableAutoConfiguration(自动配置)、@ComponentScan(组件扫描)和 @SpringBootConfiguration(配置类),主要作用是开启自动装配并扫描组件,是整个 Spring Boot 应用启动的入口。
    • ArrayList和LinkList的区别(脑子抽了,没反应过来,说ArrayList没用过,没招了)
      • ArrayList 底层是动态数组,支持快速随机访问但插入和删除效率较低;LinkedList 底层是双向链表,插入和删除效率高但查询较慢,因此一般查询多用 ArrayList,增删多用 LinkedList。
    • 抽象类和接口的区别(支支吾吾回答半天发现就知道这俩里面都是抽象方法,没想起来从作用角度看,依旧马后炮)
      • 抽象类用于描述“是什么”,可以包含普通方法和成员变量,支持单继承;接口用于描述“能做什么”,方法默认是抽象的(Java8后可有默认实现),变量必须是常量,支持多实现,是一种行为规范。
    • JVM(没了解不知道)
      • JVM 是 Java 虚拟机,用于执行 Java 字节码,实现“一次编译,到处运行”,其主要组成包括类加载器、运行时数据区(如堆和栈)以及执行引擎。
    • Spring MVC(忘了没回答出来,其实这个就是负责跟前端交流的技术)
      • Spring MVC 是基于 MVC 模式的 Web 框架,主要用于处理客户端请求,通过 DispatcherServlet 分发请求到对应的 Controller,处理业务后返回视图或 JSON 数据,实现前后端交互。
    • 索引(之前简单了解过,但不知道)
      • 索引是数据库中用于提高查询效率的数据结构,通常基于 B+树实现,可以显著加快查询速度,但会占用额外空间,并在插入和更新时带来性能开销。
    • MVCC(没了解不知道)
      • MVCC(多版本并发控制)是一种提高数据库并发性能的机制,通过维护数据的多个版本,实现读操作不加锁,从而减少读写冲突,常用于实现快照读。
    • 事务四大特性(ACID)(只记得原子性和一致性,后面的隔离性和持久性没想起来)
      • 事务具有四大特性:原子性(要么全部成功要么全部失败)、一致性(事务前后数据保持正确)、隔离性(事务之间互不干扰)和持久性(事务提交后数据永久保存)。
    • Redis(我不熟,面试官就没接着问)
      • Redis 是一个基于内存的 Key-Value 数据库,具有高性能的特点,常用于缓存、分布式锁等场景,并支持多种数据结构如 String、List、Set 和 Hash。
    • AOP(面试前看了下,就知道一个面向切面编程)
      • AOP 是面向切面编程,通过将通用功能(如日志、事务、权限控制)从业务逻辑中抽离出来,在不修改原有代码的情况下进行增强,提高代码的可维护性。
    • Spring boot自动注入(好像是这个意思)(我回答的IOC和DI的配合注入对象,IOC(控制反转)将创建对象的权限移交给spring容器,然后DI将对象传给有@Autowire注解的变量)
      • Spring 通过 IOC 容器管理对象的创建,并通过依赖注入(DI)将对象注入到需要的地方,常用方式是使用 @Autowired 自动装配依赖。
    • 如何统一返回json格式(创建一个Result类,里面定义成员变量,以及成员方法,统一返回结构)
      • 可以定义一个统一的返回类(如 Result),包含状态码、提示信息和数据字段,所有接口返回该对象,从而实现返回结构统一,便于前后端交互。
    • 如何处理全局异常(创建全局异常类,统一处理)
      • 可以使用 @ControllerAdvice 结合 @ExceptionHandler 实现全局异常处理,对系统中的异常进行统一捕获和返回规范化的错误信息。
    • 如何防止sql注入(同样不知道)
      • 防止 SQL 注入的核心是使用预编译语句(PreparedStatement)和参数绑定,避免直接拼接 SQL,同时可以借助 MyBatis 或 JPA 等框架来降低风险。
  3. 面试官跟我聊些我的个人情况

这次面试是我的第一次面试,总体来说表现不咋好,后面复盘的时候发现很多问题其实是我知道的,在八股里面都有,但是我没咋看,想着对我这么一个大二的在读学生应该不会出很难的,虽然确实如此,说实话面试官人挺好,我不知道的问题看我答不出来就换下一个,目前还没出面试结果,虽然加上面试官微信了,但感觉很悬,后面看吧(2026-4-23:虽然心里已经知道面试结果了但今天还是问了一下,不出意外没过,上面一堆问题就回答一两个,真让我过了那才怪,不过这一次面试也让我知道了面试是怎么个情况,下次面试就知道怎么准备了)

注:发现一个八股汇总网站分享一下😋(没python)

Updated: