出海者科技 java开发实习面经

java事务怎么用,要注意什么

事务我一般会用 Spring 的 @Transactional

它本质上是通过 AOP + ThreadLocal 管理数据库连接和事务状态

第一,默认只有运行时异常才回滚

第二,事务方法需要用public修饰(默认只有public方法会被代理)

第三,类内部自调用事务会失效(因为没有经过代理)

private修饰的方法可以回滚吗,原理是什么

不能

因为 Spring 的事务本质是:

复制代码
AOP 动态代理

Spring 会生成代理对象:

复制代码
代理对象 → 开启事务 → 调用目标方法 → 提交/回滚

但 private 方法无法被代理类重写,所以事务增强不会生效。

MySQL 索引的结构和分类

MySQL默认存储引擎innodb的默认所以存储结构的B+树

因为 B+Tree:

  • 高度低(磁盘 IO 少)
  • 范围查询效率高

索引分类:

  • 主键索引
  • 普通索引
  • 唯一索引
  • 联合索引
  • 覆盖索引

项目中如何创建表和索引

我一般会先根据业务查询场景设计表结构。

核心思路:

复制代码
根据查询设计索引
而不是根据字段设计索引
  • 高频查询字段会建索引
  • 面对经常回表查询的也需要建立联合索引

创建表例子:

复制代码
CREATE TABLE user (
    id BIGINT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(50) NOT NULL,
    age INT,
    phone VARCHAR(20),
    create_time DATETIME DEFAULT CURRENT_TIMESTAMP
);

创建索引:

复制代码
CREATE INDEX idx_name ON user(name);

Java 如何调用 Python

1.HTTP 调用

Python 用 Flask/FastAPI 提供接口

Java 通过OpenFeign 调用

2.直接调用python本地脚本

java 复制代码
        String command = "python_test.py";

        Process process = Runtime.getRuntime().exec(command);

        BufferedReader reader = new BufferedReader(
                new InputStreamReader(process.getInputStream())
        );

按钮点击没反应,怎么排查

我会从

前端 → 网络 → 后端

1.浏览器 F12

点击事件是否绑定成功

2.看 Network

请求是否成功发送并响应

3.如果请求到了后端,查看日志

可以在对应代码部分添加日志,看看是在哪一步被拦截

form表单提交用get还是post,有啥区别

GET 一般用于:

复制代码
查询

POST 一般用于:

复制代码
新增 / 修改

所以form表单的提交应该使用post

相关推荐
远翔调光芯片^1382879887213 小时前
Type-C接口统一了,但充电协议没统一,终端设备如何解决取电难题?
人工智能·科技·物联网·智能家居·能源
合米AI SOP系统16 小时前
新能源零部件|密封锁付装配工位,合米科技AI SOP视觉防错规避工艺遗漏带来的售后故障
大数据·人工智能·科技
Zentceh17 小时前
0.001Lux是什么概念
图像处理·人工智能·科技·计算机视觉·车载系统·无人机·智能硬件
河南花仙子科技18 小时前
小游戏社交裂变功能的高阶设计思路
大数据·科技·游戏
芯巧电子19 小时前
84. OrCAD中怎么浏览DRC检测后的全部DRC错误?I Cadence Allegro 电子设计 快问快答
科技·cadence·软件·allegro·orcad
千舟软件19 小时前
【宿舍管理小程序】新生入住不靠纸质表
大数据·运维·服务器·科技·业界资讯
合米AI SOP系统20 小时前
医疗器械|组件组装工位,合米科技AI SOP视觉防错系统满足高合规要求下的精益生产
大数据·人工智能·科技
蓝速科技20 小时前
数字人一体机芯片选型:RK3576 与 X86 场景化对比指南丨蓝速科技
大数据·运维·数据库·人工智能·科技
意图共鸣1 天前
思想开源:意图共鸣科技把一整套“AI认知体系”带进了AtomGit
人工智能·科技
TMT星球1 天前
曹操出行AI打车接入荣耀YOYO,AI出行服务首次登陆主流手机智能体
人工智能·科技