面试指南1009

  1. redis中存储对象使用哪种数据结构?
  2. Mybatis中如何实现级联查询的,比如说emp表和dept表
  3. Spring中的两大核心是什么?
  4. 你是如何处理数据库表字段与数据库字段不一致的?
  5. Myabtis中一级缓存与二级缓存有了解吗?
  6. AOP中有哪些属性?
  7. 如何实现SQL优化?
  8. 经常在where中需要查询的字段是否适合建立索引?
  9. SpringBoot中的Controller类中常用的注解有哪些?
  10. EasyExcel中如何实现Excel的导入导出?
  11. Sentinel中网络熔断是如何实现的?

 

redis中存储对象使用哪种数据结构?

  • 在Redis中,存储对象通常使用hash数据结构。hash是一种键值对集合,非常适合存储对象的属性和对应的值。例如,一个用户对象可以存储在一个hash中,其中每个属性(如姓名、年龄、邮箱等)作为字段,对应的值作为字段的值。

Mybatis中如何实现级联查询的,比如说emp表和dept表

首先,我们因为需要使用级联查询,所以我们使用dept表作为主表,使用左连接left join 与emp中的dept_no部门编号进行对应,在resultMap中使用Collection映射结果集

部门表(t_detp):
dept_id:部门ID,主键
dept_name:部门名称
员工表(t_emp):
emp_id:员工ID,主键
emp_name:员工姓名
dept_id:所属部门ID,外键关联到部门表的dept_id

接下来是Mybatis的XML映射文件,用于编写SQL语句进行级联查询:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mapper.EmployeeMapper"><!-- 查询所有部门及其员工信息 --><select id="selectAllDepartmentsWithEmployees" resultMap="DepartmentWithEmployeesResultMap">SELECT d.dept_id, d.dept_name, e.emp_id, e.emp_nameFROM t_detp dLEFT JOIN t_emp e ON d.dept_id = e.dept_id</select><!-- 定义结果映射 --><resultMap id="DepartmentWithEmployeesResultMap" type="com.example.entity.Department"><id property="deptId" column="dept_id"/><result property="deptName" column="dept_name"/><collection property="employees" ofType="com.example.entity.Employee"><id property="empId" column="emp_id"/><result property="empName" column="emp_name"/></collection></resultMap>
</mapper>

Spring中的两大核心是什么?

  • Spring框架的两大核心是依赖注入(Dependency Injection,DI)面向切面编程(Aspect-Oriented Programming,AOP)。依赖注入通过控制反转(Inversion of Control,IoC)容器管理对象的生命周期和依赖关系;面向切面编程则用于将横切关注点(如日志、事务管理)从业务逻辑中分离出来,提高代码的模块化和可维护性。

你是如何处理数据库表字段与数据库字段不一致的?

数据库表字段与Java对象字段不一致,可以在MyBatis的resultMap中进行自定义映射。例如,如果数据库表中的字段名为user_name,而Java对象中的字段名为userName,可以通过以下方式进行映射:

Myabtis中一级缓存与二级缓存有了解吗?

  • MyBatis提供了两种缓存机制:一级缓存和二级缓存。一级缓存是SqlSession级别的缓存,每个SqlSession都有自己的一级缓存,当在同一个SqlSession中执行相同的查询时会使用缓存结果。二级缓存是全局缓存,多个SqlSession共享,适用于整个应用范围的数据缓存。

AOP中有哪些属性?

  • Pointcut:指定切入点,即需要拦截的方法或类。
  • Advice:增强处理逻辑,包括前置通知(Before)、后置通知(After)、返回通知(AfterReturning)、异常通知(AfterThrowing)和环绕通知(Around)。
  • Weaving:将切面应用到目标对象上的过程。

如何实现SQL优化?

  • 创建索引:为经常用于查询条件的字段创建索引。
  • 避免在where子句中使用函数或计算表达式。
  • 减少不必要的列返回:只选择需要的列。
  • 使用连接池:减少连接创建和销毁的开销。
  • 优化查询逻辑:避免复杂的子查询和嵌套查询。
  • 分析执行计划:使用工具分析SQL查询的执行计划,找出瓶颈。

经常在where中需要查询的字段是否适合建立索引?

  • 适合,经常用于WHERE子句中的字段适合建立索引。索引可以显著提高查询性能,特别是对于大数据量的表。但需要注意的是,索引也会占用额外的存储空间,并可能影响插入、更新和删除操作的性能。因此,应根据实际需求和性能测试来决定是否创建索引。

SpringBoot中的Controller类中常用的注解有哪些?

  • @RestController:标记该类为RESTful控制器。
  • @RequestMapping:定义请求路径和方法。
  • @GetMapping@PostMapping@PutMapping@DeleteMapping分别对应HTTP的GET、POST、PUT、DELETE方法。
  • @PathVariable:绑定URL路径变量到方法参数。
  • @RequestParam:绑定请求参数到方法参数。
  • @RequestBody:绑定请求体到方法参数。
  • @ResponseBody:将方法返回值绑定到响应体。
  • @CrossOrigin:处理跨域请求。

EasyExcel中如何实现Excel的导入导出?

 

Sentinel中网络熔断是如何实现的?

Sentinel中的网络熔断是通过资源隔离和限流来实现的。具体步骤如下:

  1. 资源隔离:将不同的服务或资源进行隔离,以便独立监控和处理。
  2. 限流:设置阈值,当请求达到阈值时,拒绝后续请求或将其排队等待。
  3. 熔断机制:当某个资源的错误率超过设定的阈值时,触发熔断器,直接返回错误响应或降级处理,避免系统过载。
  4. 恢复机制:在一段时间后或错误率降低后,自动恢复对该资源的正常访问。

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/55860.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

百度文心智能体平台开发萌猫科研加油喵

百度文心智能体平台开发萌猫科研加油喵 在科研的道路上&#xff0c;研究生们常常面临着巨大的压力和挑战。为了给这个充满挑战的群体带来一些鼓励和温暖&#xff0c;我借助百度文心智能体平台开发了一个独特的智能体 《萌猫科研加油喵》。 一、百度文心智能体平台介绍 百度文…

k8s 的网络通信

目录 1 k8s通信整体架构 2 flannel 网络插件 2.1 flannel 插件组成 2.2 flannel 插件的通信过程 2.3 flannel 支持的后端模式 3 calico 网络插件 3.1 calico 简介 3.2 calico 网络架构 3.3 部署 calico 1 k8s通信整体架构 k8s通过CNI接口接入其他插件来实现网络通讯。目前比较…

程序人生-2024我的个人总结

可能现在写个人总结比较早&#xff0c;但是眼看着还有三个月&#xff0c;今年就过去了&#xff0c;所以决定提前写写&#xff0c;今年对于我来说是不平凡的一年&#xff0c;先是加薪&#xff0c;之后求婚&#xff0c;以为快要走上人生巅峰的时候&#xff0c;被裁员&#xff0c;…

DOM对象

DOM概述 官方定义&#xff1a; DOM是W3C制定的一个规范(标准)&#xff0c;(Document Object Model&#xff0c;文档对象模型)&#xff0c;是提供了访问和操作网页中各元素的方法&#xff0c;让程序可以动态的修改或改变网页元素的内容、样式、结构。 DOM是W3C制定的一个规范…

PostgreSQL常用字符串函数

PostgreSQL 提供了丰富的字符串函数&#xff0c;可以对字符串进行操作、处理和格式化。以下是一些常用的字符串函数及其示例&#xff1a; 1. LENGTH() - 计算字符串的长度 SELECT LENGTH(Hello World); -- 返回 112. CONCAT() - 拼接字符串 将多个字符串连接在一起。 SELE…

回南天,即使没有除湿机,也能除湿

前几天收到网友私信&#xff0c;询问烘干机干衣吹热风&#xff0c;这个比较好理解&#xff0c;热气吹到衣服上加速水分蒸发。但空调除湿为什么不吹热风了&#xff0c;而吹冷风呢&#xff1f;以及除湿机的原理等的问题。 因为我在南京总是觉得干&#xff0c;加湿器24小时不停&a…

JAVA就业笔记3——第一阶段(3)

课程须知 A类知识&#xff1a;工作和面试常用&#xff0c;代码必须要手敲&#xff0c;需要掌握。 B类知识&#xff1a;面试会问道&#xff0c;工作不常用&#xff0c;代码不需要手敲&#xff0c;理解能正确表达即可。 C类知识&#xff1a;工作和面试不常用&#xff0c;代码不…

The 2024 ICPC Kunming Invitational Contest K. Permutation(交互 期望)

在知乎内查看 题目 思路来源 题解 首先特判n1的情况&#xff0c;其实也不用问 分治&#xff0c;假设当前解决到[l,r]&#xff0c;要递归的vector是x&#xff0c; 维护两个vector L、R&#xff0c;代表下一步要在[l,mid]和[mid1,r]分治的vector 每次将x random_shuffle后&a…

易基因:J Hazard Mater/IF12.2:RRBS揭示农药诱导胰腺全基因组DNA甲基化跨代改变与代谢表型相关

大家好&#xff0c;这里是专注表观组学十余年&#xff0c;领跑多组学科研服务的易基因。 人造化学品的不当使用会对生物多样性和人类健康构成重大威胁&#xff0c;某些化学物质&#xff08;如农药&#xff09;可能通过表观遗传机制&#xff08;如DNA甲基化&#xff09;对代谢健…

如何批量找到企业联系电话

在拓展业务的过程中&#xff0c;找到企业的联系电话是必不可少的一步。然而&#xff0c;手动查找不仅耗时费力&#xff0c;效率也低下。对于需要批量获取客户信息的销售人员或企业来说&#xff0c;寻找一种快速、精准的方式批量获取企业联系电话显得尤为重要。本文将为你介绍几…

MPLS LDP协议

文章目录 LDP标签分发协议工作原理LDP应用倒数第二跳弹出 LDP标签分发协议 基于FEC自动分配标签构建LSP用于建立动态LSPLDP报文头部结构信息类型 工作原理 LDP工作过程 发送Hello消息用于发现邻居&#xff1b;UDP发送LSR_1主动发起并建立TCP连接&#xff1b;TCP进行建立主动方发…

怎么利用商品详情API接口实现数据获取与应用?

在当今数字化的商业时代&#xff0c;高效获取和利用商品数据对于企业和开发者来说至关重要。商品详情 API 接口为我们提供了一种便捷的方式来获取丰富的商品信息&#xff0c;从而实现各种有价值的应用。本文将深入探讨如何利用商品详情 API 接口实现数据获取与应用。 一、商品…

STM32 HAL库UART查询方式实例

本文中介绍USART编程涵盖了三种主要方法&#xff0c;详细介绍STM32F407微控制器结合HAL库&#xff0c;通过UART的查询方式来实现一个实用的密码验证程序。提示用户键入一个字符作为密码。只有当用户精准地输入字符6时&#xff0c;系统才会反馈“密码正确”的确认信息。反之&…

@JsonAlias和@JSONField序列化和反序列化

com.fasterxml.jackson.annotation.JsonAlias("expressCode") com.alibaba.fastjson.annotation.JSONField(name "expressCode") 这两个注解分别属于不同的JSON序列化框架&#xff1a;Jackson 和 Fastjson&#xff0c;它们的用途是处理JSON字段的名称映射…

【重学 MySQL】五十六、位类型

【重学 MySQL】五十六、位类型 定义赋值与使用注意事项应用场景 在MySQL数据库中&#xff0c;位类型&#xff08;BIT类型&#xff09;是一种用于存储位字段值的数据类型。 定义 BIT(n)表示n个位字段值&#xff0c;其中n是一个范围从1到64的整数。这意味着你可以存储从1位到64…

数据库镜像拷贝还原--Oracle数据库实例启动报错

现象描述&#xff1a; 从服务器&#xff0c;在未停数据库服务情况下&#xff0c;拍快照还原到另一台服务器&#xff0c;启动数据库报错。 过程记录&#xff1a; 一、启动数据库提示&#xff1a;ORA-01102 报错信息&#xff1a; ORA-01102: cannot mount database in EXCLUSI…

requestidlecallback与分时函数

前言 我们知道GUI 渲染线程与 JS 引擎线程是互斥的。当JS程序执行时间过长&#xff0c;会阻塞页面渲染和事件响应。那么针对一些优先级较低的任务&#xff0c;我们可以利用分时函数在主线程空闲时执行&#xff0c;减少卡顿。其本质是将一个长任务拆分成数个短任务&#xff0c;…

macos php开发环境之macport安装的php扩展安装,php常用扩展安装,port中可用的所有php扩展列表

macos中&#xff0c;我们使用了port 安装了php后&#xff0c;默认只带有php基本的核心扩展的&#xff0c; 如果需要使用其他的扩展&#xff0c;如 redis, https&#xff0c; xdebug等扩展就需要我们手动来安装对应的扩展。 macos php开发环境 macport安装的php的方法见macos 中…

国产工具链GCKontrol-GCAir助力控制律开发快速验证

前言 随着航空领域技术的不断发展&#xff0c;飞机的飞行品质评估和优化成为了航空领域的一个重要任务&#xff0c;为了确保飞行器在各种复杂条件下的稳定性&#xff0c;控制律设计过程中的模型和数据验证需要大量仿真和测试。 本文将探讨基于世冠科技的国产软件工具链GCKont…

Leetcode 37. 解数独

1.题目基本信息 1.1.题目描述 编写一个程序&#xff0c;通过填充空格来解决数独问题。 数独的解法需 遵循如下规则&#xff1a; 数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 33 宫内只能出现一次。&#xff08;请参考…