Java实习生面试题(2025.3.23 be)

一、v-if与v-show的区别

`v-show` 和 `v-if` 都是 Vue 中的条件渲染指令,它们的主要区别在于渲染策略:`v-if` 会根据条件决定是否编译元素,而 `v-show` 则始终编译元素,只是通过改变 CSS 的 `display` 属性来控制显示与隐藏。

二、mybatis-plus分页插件的原理

拦截查询 :分页插件通过拦截 SQL 查询,在执行前修改 SQL,自动添加分页条件,例如 LIMIT 和 OFFSET。
查询总记录数 :插件会为每次分页查询生成两条 SQL:
第一条:查询分页数据
第二条:查询总记录数(SELECT COUNT(*))
封装结果:返回的数据会封装到 IPage 对象中,包括分页数据、总记录数、总页数等。

三、spring依赖注入的方式

@Autowired:自动装配**、** setter 方法注入**、**构造器注入、静态工厂的方法注入。

四、vue3生命周期

1.创建阶段:

setup
beforeCreate(Vue2已废弃)
created

2.挂载阶段:

beforeMount
mounted

3.更新阶段:

beforeUpdate
updated

4:销毁阶段

beforeUnmount
unmounted

5.错误捕获阶段

errorCaptured

五、vue3路由守卫

在Vue3中,路由守卫是用来控制管理路由跳转 的一种机制。它可以在路由跳转前、跳转后或者在跳转过程中进行一些操作,如权限验证、登录判断、路由拦截等。

Vue3中的路由守卫分为全局守卫路由级别守卫。

1.全局守卫

作用于整个应用的所有路由,包括路由跳转前、跳转后以及跳转过程中的操作。在Vue3中,全局守卫有三种:

beforeEach: 在路由跳转前执行的操作,可以在这里进行权限验证、登录判断等。
afterEach: 在路由跳转后执行的操作。
beforeResolve: 在导航被确认之前,所有组件内守卫和异步路由组件被解析之后调用。

2.路由级别守卫

路由级别守卫只作用于某个具体的路由,可以在路由配置中定义,包括路由进入前、进入后以及离开前的操作。在Vue3中,路由级别守卫有四种:

beforeEnter: 在路由进入前执行的操作。
beforeLeave: 在路由离开前执行的操作。
beforeRouteEnter: 在路由进入前执行的操作,但是在组件实例被创建之前调用,所以无法获取到组件实例。
beforeRouteUpdate: 在路由更新时执行的操作,比如路由参数发生变化时。

六、内部类

1、内部类简介
Java 内部类(Inner Class)是定义在另一个类也就是外部类(Outer Class)内部的类。

内部类又称为嵌套类(Nested Class),外部类又称为封闭类(Enclosing Class)。

2、内部类的分类
Java 中有四种内部类:

成员内部类(Member Inner Class)
定义在外部类的成员位置上,与成员变量和方法平级。

静态内部类(Static Nested Class)
使用static关键字修饰。

局部内部类(Local Inner Class)
定义在一个类的局部位置上,例如成员方法和代码块内。

匿名内部类(Anonymous Inner Class)
没有名字的内部类,常用于简化代码。

相关推荐
小哇66611 小时前
MybatisPlus-JSON类型处理器 存取 数据库的JSON 字段数据
mybatis
Java成神之路-11 小时前
通俗易懂理解 Spring MVC 拦截器:概念、流程与简单实现(Spring系列16)
java·spring·mvc
Yuk丶12 小时前
UE4客户端开发技术问题汇总
面试·ue4·图形学·ue4客户端开发
yuki_uix12 小时前
重排、重绘与合成——浏览器渲染性能的底层逻辑
前端·javascript·面试
何陋轩12 小时前
OpenAI Codex深度解析:终端里的AI代码特工,一个指令重构整个项目
人工智能·面试
yuki_uix13 小时前
虚拟 DOM 与 Diff 算法——React 性能优化的底层逻辑
前端·react.js·面试
yuki_uix13 小时前
从输入 URL 到页面显示——浏览器工作原理全解析
前端·面试
小旭952713 小时前
Spring Security 实现权限控制(认证 + 授权全流程)
java·后端·spring
海兰14 小时前
使用 Spring AI 打造企业级 RAG 知识库第二部分:AI 实战
java·人工智能·spring
蓝黑202014 小时前
Vue组件通信之v-model
前端·javascript·vue