美团一面(问的很基础,已挂记录一下

1. 事务的特性:
ACID 原子性:事务要么操作成功,要么回滚到原来的情况;一致性:事务的执行不会数据库的约束;隔离性:事务的执行是相互隔离的;可持久性:事务提交以后的修改持久化的,即使断电重启也不会改变;
2. innodb的隔离级别:
读未提交(脏读、幻读、不可重复读),读已提交(幻读、不可重复读),可重复读(幻读),串行化 默认是可重复读;不可重复读 = 幻读加脏读
3. 脏读、不可重复读和幻读的区别:
脏读是读未提交,回滚了读脏数据;
不可重复读是读已提交,但是由于并发操作,所以读取结果不一样;
幻读是查询的时候别的事务增加了数据,导致数据前后查询不一致。
4. mybatis两级缓存的区别:
一级缓存是针对于sqlsession的,缓存查询的数据;二级缓存是针对mapper的,一个mapper对应多个sqlsession
5. mybatis和反射的关系:
mybatis将sql语句映射成一个mapper接口的方法,然后用反射机制动态生成mapper接口的实现类,从而执行sql。在MyBatis中,持久化是指将Java对象映射到数据库表中,并且能够对数据库进行CRUD操作。
6.介绍java中的error和exception
都是throwable的子类,error表示jvm运行过程中出现的无法恢复的错误,无法用程序捕获,如OutOfMemeoryError、StackOverFlowError。
Exception 表示程序运行过程中遇到的一种异常情况,通常由程序本身引起的。
Exception 又分为两种类型:受检异常(checked exception)和非受检异常(unchecked exception)。
受检异常是在编译时发现的异常,必须在程序中进行捕获或者声明抛出。比如 IOException、SQLException 等。
非受检异常是在运行时发现的异常,通常是由程序逻辑错误或者运行环境错误引起的。比如 NullPointerException、ArrayIndexOutOfBoundsException 等。异常可以通过 try-catch 语句捕获和处理。
7. 手撕:大数加法(因为我是c++写题目
用一个for循环就能完成,用两个数组直接进行加,最差的情况也是长度的那个数加上0加上进位
面试官人很好,也愿意听我balabala
全部评论
感觉面试官看重的是我大二的时候写的数据库课设,用了springboot和mybatis,所以问题也从这里开始,但是当时我真滴只是用一下,要看一些特性呀!
2
送花
回复
分享
发布于 2023-04-07 18:55 山东
为什么挂鸭?
点赞
送花
回复
分享
发布于 2023-04-07 19:13 天津
滴滴
校招火热招聘中
官网直投
一般多久就能知道自己挂了
点赞
送花
回复
分享
发布于 2023-04-08 07:55 湖南

相关推荐

9 81 评论
分享
牛客网
牛客企业服务