面试题(一)

目录

一.@Transactional 原理和常见的坑

前期准备

事务不生效的几种 Case

原理

源码解读

@Transactional 执行机制

private 导致事务不生效原因

异常不匹配原因

两种 @Transactional

Spring  @Transactional

javax.transaction.Transactional 

二.@Autowired 和 @Resource 的区别是什么?

@Autowired

@Resource 

小结

三.什么是序列化?常见的序列化协议有哪些?

什么是序列化?什么是反序列化?

实际开发中有哪些用到序列化和反序列化的场景? 

序列化协议对应于 TCP/IP 4 层模型的哪一层? 

常见序列化协议对比 

JDK 自带的序列化方式

Kryo

四.深拷贝和浅拷贝区别了解吗?什么是引用拷贝? 

五.优惠券设计

六.数据库优化

优化方案

Mysql索引

多表查询优化

 一条MySQL语句的执行过程

七.静态代理和动态代理

静态代理

静态代理的特点

静态代理的实现

动态代理 

动态代理的特点 

基于JDK实现

基于CGlib实现 

JDK代理与CGLIB代理的区别

八. AOP 了解吗?有什么用?切面执行顺序如何控制?

谈谈自己对于 AOP 的了解

Spring AOP 和 AspectJ AOP 有什么区别? 

AspectJ 定义的通知类型有哪些? 

多个切面的执行顺序如何控制? 

用AOP实现异步上传

九.MQ 消息丢失、重复、积压问题,如何解决?

案例分析 

案例解答

消息丢失

消息检测-拦截器机制

重复消费消息 

消息积压-消费端

总结

十. 说一说你对多态的理解

十一. ==和equals()有什么区别?

十二.String,StringBuilder,StringBuffer

十三.接口和抽象类 

十四.static与final

十五. 泛型


一.@Transactional 原理和常见的坑

前期准备

// 提供的接口
public interface UserDao {// select * from user_test where uid = "#{uid}"public MyUser selectUserById(Integer uid);// update user_test set uname =#{uname},usex = #{usex} where uid = #{uid}public int updateUser(MyUser user);
}//====================================================================&

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

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

相关文章

pytorch下的scatter、sparse安装

知道自己下载的torch配置 import torch print(torch.__version__) print(torch.version.cuda)进入网站,选择自己配置 https://pytorch-geometric.com/whl/下载相应的包 安装 pip install ******.whl

Windows:解决MySQL登录ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using passwor=YES)问题

我在下载的MySQL是8.0.32版本,刚下的时候没什么问题第二天启动MySQL服务就出现了 ERROR 1045 (28000): Access denied for user rootlocalhost (using password: YES) 或 ERROR 1045 (28000): Access denied for user rootlocalhost (using password: NO) 这样的问题…

IC芯片 trustzone学习

搭建Airplay TA环境需要在IC的TrustZone中进行。TrustZone是一种安全技术,用于隔离安全和非安全环境,并保护敏感文件。在TrustZone中,我们需要编写一个叫做TA(Trusted Application)的应用程序来控制这些私密文档。 &am…

Springboot中sharding-jdbc的API模式并使用自定义算法

Springboot中sharding-jdbc的API模式并使用自定义算法 可配合AbstractRoutingData使用切换数据源 程序用到了AbstractRoutingData来切换数据源(数据源是自定义的格式编写并没有用springboot的自动装配的格式写),但是又用到sharding-jdbc进行…

uniapp-form表单

<template><view class"ptb-20 plr-30 bg min100"><view class"bg-white radius-20 pd-30"><view class"bold mt-30 mb-50 size-32">选择方式&#xff1a;</view><u--form labelPosition"left" :mod…

轻松实现文件夹名互换,快速批量改名高手工具助您高效管理!

亲爱的用户们&#xff0c;您是否曾经需要将文件夹的名称进行互换&#xff0c;但手动一个一个改名太过繁琐&#xff1f;现在&#xff0c;我们为您推出一款高效的文件夹批量改名工具&#xff0c;让您轻松实现文件夹名的互换&#xff0c;帮助您更好地管理文件&#xff01; 首先&a…

【rust/egui】(四)看看template的app.rs:update以及组件TopBottomPanelButton

说在前面 rust新手&#xff0c;egui没啥找到啥教程&#xff0c;这里自己记录下学习过程环境&#xff1a;windows11 22H2rust版本&#xff1a;rustc 1.71.1egui版本&#xff1a;0.22.0eframe版本&#xff1a;0.22.0上一篇&#xff1a;这里 update update实际上还是eframe::App的…

二叉树搜索

✅<1>主页&#xff1a;我的代码爱吃辣&#x1f4c3;<2>知识讲解&#xff1a;数据结构——二叉搜索树☂️<3>开发环境 &#xff1a;Visual Studio 2022&#x1f4ac;<4>前言&#xff1a;在之前的我们已经学过了普通二叉树&#xff0c;了解了基本的二叉树…

【Windows 常用工具系列 10 -- linux ssh登录脚本输入密码】

文章目录 脚本输入SSH登录密码scp 脚本免密传输 脚本输入SSH登录密码 sshpass 是一个用于运行时非交互式ssh密码提供的工具&#xff0c;它允许你直接在命令行中为ssh命令提供密码。这就意味着你可以在脚本中使用ssh命令&#xff0c;而不需要用户交互地输入密码。 一般来说&am…

SpringCloud入门实战(十四)Sentinel微服务流量防卫兵简介

&#x1f4dd; 学技术、更要掌握学习的方法&#xff0c;一起学习&#xff0c;让进步发生 &#x1f469;&#x1f3fb; 作者&#xff1a;一只IT攻城狮 &#xff0c;关注我&#xff0c;不迷路 。 &#x1f490;学习建议&#xff1a;1、养成习惯&#xff0c;学习java的任何一个技术…

C语言暑假刷题冲刺篇——day4

目录 一、选择题 二、编程题 &#x1f388;个人主页&#xff1a;库库的里昂 &#x1f390;CSDN新晋作者 &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏✨收录专栏&#xff1a;C语言每日一练 ✨其他专栏&#xff1a;代码小游戏C语言初阶&#x1f91d;希望作者的文章能对你…

Java“牵手”快手商品列表数据,关键词搜索快手商品数据接口,快手API申请指南

快手商城是一个网上批发购物平台&#xff0c;售卖各类商品&#xff0c;包括服装、鞋类、家居用品、美妆产品、电子产品等。要获取快手商品列表和商品详情页面数据&#xff0c;您可以通过开放平台的接口或者直接访问快手商城的网页来获取商品详情信息。以下是两种常用方法的介绍…