1 sql优化,索引,索引失效
2 关系型数据库和非关系型数据库都有什么特性
关系型
- 特点:最典型的数据结构是表,有二维表及其之间的联系所组成的一个数据组织,支持事务一致性。
- 优点:
1容易理解,它的逻辑类似常见的表格
2使用方便,sql语言通用
3易于维护,数据一致性高,冗余低,数据完整性好,便于操作
4技术成熟,功能强大,支持很多复杂操作 - 缺点
1每次操作都要进行sql语句的解析,消耗较大
2不能很好的满足并发需求,特别是海量数据爆发,关系型数据库读写能力会显得不足
3关系型数据库往往每一步都要进行加锁的操作,也造成了数据库的负担
4数据一致性高,有时也会使数据的存储不灵活
非关系型
-
特点
使用键值对存储数据,支持分布式,不支持事务一致性,数据结构化存储的集合 -
优点
1高并发,读写能力强,不需要sql解析,快
2弱化数据结构一致性,使用更加灵活
3有良好的可扩展性,基于键值对,无数据耦合 -
缺点
1通用性差,没有sql语句那样通用的语句
2操作灵活,不支持事务,导致容易出错和混乱
3没有外键关联等复杂的操作
3 mysql字符串连接怎么写
CONCAT(string1,string2,…)
说明 : string1,string2代表字符串。
concat函数在连接字符串的时候,只要其中一个是NULL,那么将返回NULL。
4 mybatis like查询,入参根据哪个名字传
入参要和mapper接口中定义的变量名保持一致
5 关联表查询时,可以在表中间使用逗号查询,也可以使用join查询,有啥区别
多个逗号的表相当于inner join。
left join 和 inner join有什么不同,什么情况下,查出来的条数比主表多
left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录
right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录
inner join(等值连接) 只返回两个表中联结字段相等的行
主表数据和右表数据是一对多的关系时,会产生多条数据。
6数据库事务
- 事务(Transaction)
事务(Transaction)是一个操作序列。这些操作要么都做, 要么都不做, 是一个不可分割的工作单元, 是数据库环境中的最小工作单元。
1.1 事务的特性(ACID)
1.1.1 Atomicity(原子性)
原子性是指事务包含的所有操作要么全部成功, 要么全部失败回滚, 因此事务的操作如果成功就必须要完全应用到数据库, 如果操作失败则不能对数据库有任何影响.
1.1.2 Consistency(一致性)
一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态, 也就是说一个事务执行之前和执行之后都必须处于一致性状态.
1.1.3 Isolation(隔离性)
隔离性是当多个用户并发访问数据库时, 比如操作同一张表时, 数据库为每一个用户开启的事务, 不能被其他事务的操作所干扰, 多个并发事务之间要相互隔离.
1.1.4 Durability(持久性)
持久性是指一个事务一旦被提交了, 那么对数据库中的数据的改变就是永久性的, 即便是在数据库系统遇到故障的情况下也不会丢失提交事务的操作.
1.2 事务的提交和回滚-oracle
a) 提交, 在确保事务执行成功时, 应该将事务进行提交. 提交后, 数据被永久保存, 不能进行回滚.
commit;
b) 回滚, 当事务执行出现故障时, 应该进行事务的回滚操作, 本次事务的所有操作将被还原, 保证数据库的一致性.
rollback;
C)设置回滚点
1 : savepoint savepoint_name; 做标记
2 :rollbak to savepoint savepoint_name;回滚到标记点
3 :release savepoint savepoint_name;解除标记
mysql自动做事务提交,一行一提交。
关闭事务自动提交:starttraction;
7数据库优化
https://www.cnblogs.com/liliuguang/p/11015964.html
防止sql注入
8 java优化
https://blog.csdn.net/qq_42894896/article/details/82256770
https://www.cnblogs.com/xrq730/p/4865416.html
9 Java8特性
https://www.runoob.com/java/java8-new-features.html
10 类的反射和加载器api看过么
11 线程、并发有用过么
12有10个线程要修改一个变量,怎么控制
13 springboot比springmvc好在哪里
1.springboot 约定大于配置,用starter代替mvc的xml文件
2.springmvc 的web应用要用tomat服务器启动,而springboot内置服务器容器,直接通过@SpringBootApplication注解的类中的main函数启动。
14 springcloud部署,怎么把组件注册到注册中心
1。在配置文件application.xml加入要注入的配置中心的url等配置
#对该应用另起别名
spring.application.name=client-8782
#注入目标,配置服务中心url,与服务端的配置保持一致
eureka.client.service-url.defaultZone=http://localhost:8781/eureka/
2在启动类ClientApplication.java,加入客户端被发现注解:@EnableDiscoveryClient
15 spring注解,autowired resource
转自: http://www.blogjava.net/sxyx2008/
Spring不但支持自己定义的@Autowired注解,还支持几个由JSR-250规范定义的注解,它们分别是@Resource、@PostConstruct以及@PreDestroy。
@Resource的作用相当于@Autowired,只不过@Autowired按byType自动注入,而@Resource默认按 byName自动注入罢了。@Resource有两个属性是比较重要的,分是name和type,Spring将@Resource注解的name属性解析为bean的名字,而type属性则解析为bean的类型。所以如果使用name属性,则使用byName的自动注入策略,而使用type属性时则使用byType自动注入策略。如果既不指定name也不指定type属性,这时将通过反射机制使用byName自动注入策略。
@Resource装配顺序
1. 如果同时指定了name和type,则从Spring上下文中找到唯一匹配的bean进行装配,找不到则抛出异常
2. 如果指定了name,则从上下文中查找名称(id)匹配的bean进行装配,找不到则抛出异常
3. 如果指定了type,则从上下文中找到类型匹配的唯一bean进行装配,找不到或者找到多个,都会抛出异常
4. 如果既没有指定name,又没有指定type,则自动按照byName方式进行装配;如果没有匹配,则回退为一个原始类型进行匹配,如果匹配则自动装配;
18 hashmap hashtable ConcurrentHashMap
20 有没有用过反射
21 用过切面么,有几种切入方式?用到的哪一种?
22 如果try有个return,finally的代码是在return之前走还是之后走?
23 说几个设计模式及常用场景
单例模式、理模式、观察者
24 excel用什么技术解析的 poi(需要了解poi的一些知识)
25了解一些支付知识
26 redis锁,设置key过期时间
27 做接口用的http接口,接口接收参数有几种方法(有一种是注解的方式)
28 @requestParam有什么作用,放到实体bean属性里。
29 @requestParam 加或者不加这个注解有什么区别,这个注解的参数有哪些
30 feign客户端怎么写 其中涉及的所有细节 如何定义client类 类上需要什么注解,如何声明方法需要用到什么注解,方法的入参用到什么注解
33 没有前端的情况下 后端如何调取接口
34 postman传token怎么传,放在header还是body,变量叫什么名字
36 springboot内置的tomcat是什么版本什么配置
37 工程依赖maven包,提示找不到包,怎么处理,如果没下载下来也没引用成功,要怎么处理,用什么方法让maven重新下载包
38 写过什么样的开发文档,概设和详设
39 有没有解决过线上的疑难问题,描述一下
40 为什么不用oracle 改为mysql,更好的支持分布式
41 提高sql质量,怎么做的性能优化,通过哪些方面去优化的查询速度 1es 2优化sql
42 并发量 和 日吞吐量
43 设计过分布式事务么,mq
44 多数据源解决方案,根据实际情况最好转化成单数据源
45 线上的问题是什么类型的问题,内存问题导致项目不可用知道怎么查么 根据jdk工具类,看内存堆栈信息,jconsole,堆内存溢出
46 锁机制用过么
1优化虚拟机的经验
10 现在在学习什么新技术
11 未来发展有什么样的考虑
13 多线程的东西做过么
14 通信的东西写过么?tcp/ip
并发时资金怎么计算
springcloud常用组件
eurka是怎么判断组件在线的
feign是HTTP调用还是rpc
redis
mysql联合索引abc 用c搜索会不会走索引
数据结构 什么毕家树
存储过程优缺点