小滴课堂后端面试题(7)~持续更新中

一、说说Nginx常见的负载均衡策略。

答案:

节点轮询(默认)

  • 简介:每个请求按顺序分配到不同的后端服务器

  • 场景:会造成可靠性低和负载分配不均衡,适合静态文件服务器

weight 权重配置

  • 简介:weight和访问比率成正比,数字越大,分配得到的流量越高

  • 场景:服务器性能差异大的情况使用

upstream lbs {

server 192.168.159.133:8080 weight=5;

server 192.168.159.133:8081 weight=10;

}
复制代码

ip_hash(固定分发)

  • 简介:根据请求按访问ip的hash结果分配,这样每个用户就可以固定访问一个后端服务器

  • 场景:服务器业务分区、业务缓存、Session需要单点的情况

upstream lbs {

ip_hash;

server 192.168.159.133:8080;

server 192.168.159.133:8081;

}
复制代码

二、Spring IOC容器里面的Bean默认是单例还是多例

答案: 默认是单例的,具体的作用域是Scope属性决定

  • singleton:单例, 默认值,调用getBean方法返回是同一个对象,实例会被缓存起来,效率比较高当一个bean被标识为singleton时候,spring的IOC容器中只会存在一个该bean
<!--<bean id="video" class="net.xdclass.sp.domain.Video" scope="singleton"> -->

<bean id="video" class="net.xdclass.sp.domain.Video" scope="prototype">

<property name="id" value="9"/>

<property name="title" value="Spring 5.X课程" />

</bean>
复制代码
  • ototype: 多例,调用getBean方法创建不同的对象,会频繁的创建和销毁对象造成很大的开销

三、zabbix监控系统有俩种监控模式,分别是什么?并简要说明他们之间的区别,假如有上千台服务器,该采用哪种监控模式?

答案:

俩种模式分别是:主动模式(active) 与被动模式(agent)

区别:

  • 被动模式(agent):zabbix默认采用被动模式。就是agent等待server采集数据

  • 主动模式(active):主动模式就是agent主动向server发送自己采集到的数据

假如要监控上千台服务器采用“被动模式”

四、MySQL中的datetime和timestamp有什么区别

答案:

类型占据字节范围时区问题
datetime8 字节 1000-01-01 00:00:00到9999-12-31 23:59:59 存储与时区无关,不会发生改变 
timestamp 4 字节 1970-01-01 00:00:01 到2038-01-19 11:14:07 存储的是与时区有关,随数据库的时区而发生改变

五、Mybatis的一级、二级缓存使用场景和失效策略

答案:

Mybatis一级缓存

  • 一级缓存的作用域是SQLSession,同一个SqlSession中执行相同的SQL查询(相同的SQL和参数),第一次会去查询数据库并写在缓存中,第二次会直接从缓存中取

  • 基于PerpetualCache 的 HashMap本地缓存

  • 默认开启一级缓存

  • 失效策略:当执行SQL时候两次查询中间发生了增删改的操作,即insert、update、delete等操作commit后会清空该SQLSession缓存; 比如sqlsession关闭,或者清空等

Mybatis二级缓存

  • 二级缓存是namespace级别的,多个SqlSession去操作同一个namespace下的Mapper的sql语句,多个SqlSession可以共用二级缓存,如果两个mapper的namespace相同,(即使是两个mapper,那么这两个mapper中执行sql查询到的数据也将存在相同的二级缓存区域中,但是最后是每个Mapper单独的名称空间)

  • 基于PerpetualCache 的 HashMap本地缓存,可自定义存储源,如 Ehcache/Redis等

  • 默认是没有开启二级缓存

  • 操作流程:第一次调用某个namespace下的SQL去查询信息,查询到的信息会存放该mapper对应的二级缓存区域。 第二次调用同个namespace下的mapper映射文件中,相同的sql去查询信息,会去对应的二级缓存内取结果

  • 失效策略:执行同个namespace下的mapepr映射文件中增删改sql,并执行了commit操作,会清空该二级缓存

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值