1.设计数据库的流程
1)需求分析(在设计数据库是必须分析客户的需求)
2)概念结构设计(把客户需求分析好以后,通过归纳抽象,形成一个独立的具体的DOMS模型)
3)逻辑结构设计(是将概念结构转换为某个DOMS所支持的数据模型,并将进行优化)
4)物理结构设计(为逻辑结构设计选取一个最合适的应用环境)
5)数据库实施(所有的设计好以后就可以进行实施和运行)
6)数据库的运行和维护()
2.mybatis和hibernate的区别
1.hibernate是一个全自动ORM框架,使用简单,功能强大,但性能不好控制
2.mybatis是一个半自动ORM框架,性能可控(需要自己写SQL语句)
3.redis的常用数据类型
1.字符串(String)( 统计网站访问数量,当前在线人数 )
2.列表(list)(生产者,消费者,相当于队列)
3.集合(set)( 1.利用交集求共同好友。2.利用唯一性,可以统计访问网站的所有独立IP。3.好友推荐的时候根据tag求交集,大于某个threshold(临界值的)就可以推荐 )
4.有序集合(sorted set)(排行榜)
5.散列(hash)( 例如存储、读取、修改用户属性(name,age,pwd等) )
4.说一下缓存血崩
加入有一个系统高峰期是5000次每秒的请求量,有4000次走的是缓存,1000次走的是数据库,数据库的并发是两千这是没问题的,如果缓存岩机了或缓存设置了相同的过期时间,导致缓存在同一时间过期,5000次请求全部请求数据库,数库会死掉,这就是缓存雪崩;
解决方案
1.可以把缓存过期时间设计为随机数,避免同时失效
5.缓存穿透:
有一万次请求,其中五千次都是别人恶意攻击在数据库也差不出来数据,假如数据库id为整数,黑客构造的id为负数,这样缓存就不会起作用,数据库也很快会被打死
解决方案:
1.对请求参数进行合法验证
2.把数据库没差到的数据有存入缓存value为null
3.使用 布隆过滤器 ,快速判断key是否在数据库中存在,如果没存在直接返回
6.缓存击穿:
设置了缓存时间的热点数据在,缓存时间过期到从新,从数据裤 中加载数据存入缓存中的这段时间,有大量的请求同时过来。
解决方发:
1.热点数据设置为永不过去
2.加锁
7.说一下缓存击穿和缓存雪崩的区别
缓存雪崩是指大量缓存失效,缓存击穿是指热点数据的缓存失效
8.arraylist和linkedlist区别
1,arrayLis实现了基于动态数组的数据结构,LinkedList基于链表的数据结构
2,arrayListd对于随机查询要优于LinkedList
3.LindekList对于曾删改要优于ArrayList
9.maven常用命令
clean :对项目进行清理,删除target目录下编译的内容
compile :编译项目源代码
test :对项目进行运行测试
packet:打包文件把打包好的文件放到target目录下,打包好的文件通常都是编译好的class文件
install :在本地的仓库生成仓库的安装包可供其他项目使用
10.说说ioc和AOP
1.ioc控制反转,把源代码需要实现的对象创建,依赖反转给容器来帮忙实现,
2.AOP面向切面编程,完善Spring的依赖注入(DI),AOP是OOP的的补充,面向对象编程是将程序分解成各个层次的对象。面向切面编程是将程序运行过程分解成各个切面。
AOP和OOP的区别
aop从程序运行的角度来程序的结构,提取程序业务的切面,OOP是静态的抽象,Aop是动态的抽象
11.什么设微服务
微服务是一种架构风格,一个大型的复杂软件应用,由多个微服务组成,系统中的各个服务可以被独立部署,各个服务之间是松耦合的,每个服务仅仅关注一任务,而且很好的完成该任务。简单来说就是将一个复杂的应用进行各个不同领域的拆分,但拆分只有这个复杂的应用变得更加的简单高效。
12,微服务的优点和缺点
优点:
1.测试容易
2.可伸缩性强
3.可靠性强
4.团队协作容易
缺点:
1.运维成本高,部署数量较多
2.接口兼容多版本
3.分布式系统的复杂性
4.分布式事务
13.微服务的特点
1.系统是多个服务构成
2.每个服务可以独立部署
14.SpringCloud五大组件
1.服务发现
2.客户端负载均衡
3.断路器
4.服务网关
5.分布式配置
四川瞭望环保科技有限公司
SpringBot有什么用?
:
1.SpringBot设计模式有哪些,用用在什么场景
单列模式:
适配器模式:
代理模式:
观察者模式
2.JWT怎样产生token的:
当第一次登录后,服务器会产生一个Token,并将Token返回给可会端,以后客户端至需要带上这个Token来请求数据即可,无须再次带上用户名和密码。
3.有哪些线程安全的集合: Hashtable 、 Vecto
4.==和equals的区别:
==:比较引用数据类型比的是引用是否相同,比较基本数据类型比较的值是否相同
equals:只能比较引用数据类型
5.nginx出了作负载均衡,还可一用来作什么
反向代理
6.了解过SQL优化没有
分表分库,全文搜索
7.了解过网络通信没有
1.锁冲突怎样解决:
控制并发数量
修改SQL语句,将一行改为逻辑上的多行
2.描述行锁与表锁
3。bean的生命周期
1.启动Spring查找并加载被Spring管理的bean,进行bean的实列化
2.实列化过后,把bean引入的值,注入到bean的属性当中
3.如果bean实现了BeanNameAware接口,Spring将Bean的id传递给setBeanName()方法
4.分布式事务的描述
5.redis的作用
7.最近项目和所作模块的描述
8.MQ的作用
9.对SVN的理解
10.bean的相互依赖的描述
11.缓存的 数据一致性
12.索引的创建