2020Java面试数据库和mybatis方面常见问题总结(持续更新)
1.mysql的事务有哪几种特性
原子性,一致性,持久性,隔离性
2.谈一谈你对死锁的了解
先说死锁是什么:死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。
也可以举例去表达:比如进程A和进程B要同时过一个独木桥,A走了一段,(占了B的资源)B也走了一段,然后A不让路,B也不让路,互相僵持,就造成了死锁的产生
2.1.满足死锁的条件
1)互斥条件:进程对所分配到的资源不允许其他进程访问,若其他进程访问该资源,只能等待,直至占有该资源的进程使用完成后释放该资源之后才能访问。
2)请求和保持条件:进程获得一定的资源之后,又对其他资源发出请求,但是该资源可能被其他进程占有,此时请求阻塞,但又对自己活得的资源保持不放。
3)不可剥夺条件:是指进程已获得的资源,在未完成使用之前,不可剥夺,只能在使用完成后自己释放。
4)环路等待条件:指在发生死锁时,必然存在一个进程——资源的环形链
3.mybatis的循环插入标签是什么
1.foreach标签
4.说一下sql都有哪些约束
1.主键约束,外键约束,UNIQUE唯一约束,NULL/NOT NULL 空和非空约束,CHECK检查性约束,说一下这五种常见的就行了
5.说一下List和map的区别
List:是存储单列数据的集合,存储的数据是有序并且是可以重复的
Map:存储双列数据的集合,通过键值对存储数据,存储 的数据是无序的,Key值不能重复,value值可以重复
6.谈一下你对集合的了解
这里主要就是谈, LinkedList, Vector, ArrayList,HashMap、HashTable、TreeMap
ArrayList 是一个数组队列,相当于动态数组。它由数组实现,随机访问效率高,随机插入、随机删除效率低。
LinkedList 是一个双向链表。它也可以被当作堆栈、队列或双端队列进行操作。LinkedList随机访问效率低,但随机插入、随机删除效率高。
Vector 是矢量队列,和ArrayList一样,它也是一个动态数组,由数组实现。但是ArrayList是非线程安全的,而Vector是线程安全的。
HashMap是键值对的方式存储的,但不能保证次序,单线程;
HashTable与HashMap存储方式相同,但是是线程安全的;
TreeMap是有序的键值对,基于红黑树排序。
7.谈一下你在你最熟悉的项目中用到的技术点
这里的话你就讲你的项目是干嘛用的,里面自己运用到的技术是什么就行了
8.说一下redis
这里就先说redis是什么:redis是一款优秀的nosql(非关系型),key-vlaue,内存级别的数据库!redis是单线程,操作是安全的!
然后讲redis的特点有哪些
比如:
1.Redis支持数据的持久化,会根据一定的策略持久化到磁盘,即使断电也不会丢失数据.
2.Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
3.Redis支持数据的备份,即master-slave模式的数据备份。
9.mybatis中#和 $ 是干嘛用的
#是占位符,$是替代符
Mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值。
Mybatis在处理 ${}时,就是把 ${}替换成变量的值。
10.mybatis中动态sql都有哪些
where otherwise if when set trim bind choose foreach
11.mybatis中常用的标签有哪些
select|insert|updae|delete(增删改查)
resultMap paprameterMap sql include selectKey再加上上面的9个动态标签
- 点赞 1
- 收藏
- 分享
- 文章举报
- Java常见的问题总结--持续更新中
- 常见面试问题总结(持续更新)
- 【猿小白】常见Java面试问题汇总~~~持续更新~~~直到拿到心仪的offer
- QA常见面试问题答与问(持续更新)
- 总结面试中遇到的问题(持续更新)
- Java面试中常问的数据库方面问题
- java面试常见问题(一)不断更新
- 程序员常见面试问题(持续更新)
- JAVA面试常见问题总结(一)
- Java 多线程编程 面试 相关知识点总结 (持续更新)
- [Java面试七]Mybatis总结以及在面试中的一些问题.
- Java多线程面试常见核心问题总结
- Storm入门(八)Storm实战常见问题总结(持续更新)
- 机器学习面试常见题总结(持续更新)
- Docker常见问题总结(持续更新)
- Java多线程面试常见核心问题总结
- Storm入门(八)Storm实战常见问题总结(持续更新)
- 面试常见问题及相关答案整理(持续更新中)
- C++ 常见面试和笔试坑点总结(持续更新)
- [Java面试七]Mybatis总结以及在面试中的一些问题.