时间过得好快呀

以下只针对Java岗。问题来源主要是牛客的Java实习面经,答案是我自己根据学习整理的。其中包括数据库的概念和常见的MySQL面试题,Redis下次写。下面的回答直接背就可以,需要一定的MySQL和数据库基础,适合春招实习的同学。如果发现有问题欢迎私聊我或留言我会在下面更新

数据库概念

1. ACID 讲一下

19年爱奇艺上海Java实习生

ACID是事物的四个特性。分别是 原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability) 。

  • 原子性是指事物是一个不可分割的工作单位,事物中的操作要么都发生,要么都不发生。最经典的就是转账案例,我们把转入和转出当做一个事物的话,就需要在SQL中显式指定开启事务。
  • 一致性是说数据库事务不能破坏关系数据的完整性以及业务逻辑上的一致性 。我们可以从数据库层面和业务层面两方面来保证,数据库层面我们可以设置触发器,外键,表,行约束等来保证,业务层面就是我们Java工程师的工作啦
  • 隔离性指的是多个事务并发访问时,事务之间是隔离的,一个事务不应该影响其它事务运行效果。 多个事务并发访问时,事务之间是隔离的,一个事务不应该影响其它事务运行效果。 这个点又引申出了下面两道题,以及后边的加锁和阻塞
  • 持久性意味着即使出现了任何事故比如

更多推荐

【Java岗春秋招】MySQL必备面试题