每日后端面试5题 第五天

一、Redis的常用数据类型有哪些,简单说一下常用数据类型特点

1.字符串string

最基本的数据存储类型,普通字符串

SET key value

2.哈希hash

类似于Java中HashMap的结构

HSET key field value

3.列表list

按照插入顺序排序,操作左边或右边,可以有重复元素,类似于Java中的LinkedList

LPUSH key value1 [value2]

4.集合set

无序集合,没有重复元素,类似于Java中的HashSet

SADD key member1 [member2]

5.有序集合sorted set/zset

集合中每个元素关联一个分数(score),根据分数升序排序,没有重复元素

ZADD key score1 member1 [score2 member2]

二、Mysql查询语句的执行顺序?

(8)Select
(9)distinct 字段名1,字段名2,
(6)[fun(字段名)]  
(1)from 表1
(3)<join类型>join 表2 
(2)on <join条件> 
(4)where <where条件> 
(5)group by <字段> 
(7)having <having条件> 
(10)order by <排序字段> 
(11)limit <起始偏移量,行数>

三、在Spring中,实现IOC容器主要步骤

1.配置文件中配置包扫描路径

2.递归包扫描获取.class文件

3.使用Java反射,确定需要交给IOC管理的类

4.对需要注入的类进行依赖注入

四、Spring中的事务是如何实现的?

通过aop实现的。

1.准备:解析方法上属性,判断是否开始新事务

2.若开启:获取数据库连接,关闭自动提交功能,开启事务

3.执行具体的sql逻辑操作

4.失败则回滚

5.成功则提交

6.完毕之后清除相关事务信息

五、Integer变量为什么100 == 100为true,而1000 == 1000为false

Integer内部针对 -128~127 之间的数字做了缓存,在这个范围内的Integer都指向同一个地址。而==比较的是地址,所以100相等;

这个做缓存的模式叫做享元模式;

1000不相等,因为没有做享元模式,所以地址不同,所以不相等。

猜你喜欢

转载自blog.csdn.net/m0_46948660/article/details/132209778