面试一

    1.mybatis插入时返回自增的主键

<insert id="add" parameterType="EStudent" useGeneratedKeys="true" keyProperty="id">
  insert into TStudent(name, age) values(#{name}, #{age})
</insert>

    2.mybatis中$和#的区别

 #{} 可以有效的防止sql注入,${}不能
 #{}会使用占位符,${}则是直接传值

   3.mybatis模糊查询

 mybatis中使用sql内置concat函数
 在程序中提前拼接好%数据%

   4.spring中常用的设计模式

 百度了一下,有9种,当时只回答了三种,难受。工厂模式,代理模式,单例模式

   5.spring事物

PROPAGATION_REQUIRED	表示当前方法必须运行在事务中。如果当前事务存在,方法将会在该事务中运行。否则,会启动一个新的事务
PROPAGATION_SUPPORTS	表示当前方法不需要事务上下文,但是如果存在当前事务的话,那么该方法会在这个事务中运行
PROPAGATION_MANDATORY	表示该方法必须在事务中运行,如果当前事务不存在,则会抛出一个异常
PROPAGATION_REQUIRED_NEW	表示当前方法必须运行在它自己的事务中。一个新的事务将被启动。如果存在当前事务,在该方法执行期间,当前事务会被挂起。如果使用JTATransactionManager的话,则需要访问TransactionManager
PROPAGATION_NOT_SUPPORTED	表示该方法不应该运行在事务中。如果存在当前事务,在该方法运行期间,当前事务将被挂起。如果使用JTATransactionManager的话,则需要访问TransactionManager
PROPAGATION_NEVER	表示当前方法不应该运行在事务上下文中。如果当前正有一个事务在运行,则会抛出异常
PROPAGATION_NESTED	表示如果当前已经存在一个事务,那么该方法将会在嵌套事务中运行。嵌套的事务可以独立于当前事务进行单独地提交或回滚。如果当前事务不存在,那么其行为与PROPAGATION_REQUIRED一样。注意各厂商对这种传播行为的支持是有所差异的。可以参考资源管理器的文档来确认它们是否支持嵌套事务

  6.springboot与spring+springmvc的区别

个人回答如下,不好的话请开喷:springboot内置了spring+springmvc,内置了配置文件,使用约定大于配置的理念,而spring+springmvc不仅要写web.xml文件还要写一大堆集成配置文件。

  7.eureka怎么搭建集群

搭建2-3个eureka,进行相互注册,官方上也是这样写的。
Eureka can be made even more resilient and available by running multiple instances and asking them to register with each other.

 8.熔断机制

1.服务app挂掉
2.网络波动或故障
3.处理时间过长
如果没有熔断机制可能会出现雪崩效应。所以使用了熔断。
你的消费者调用服务者接口,失败的时候会调用自己提前设定的一个方法

 9.Redis的数据结构

String  list   set  zset hash 
一般情况下,String 类型应用于验证码,由于redis只有大键可以设置过期时间,所以String用于5分钟的验证码比较好,也可以是用hash  set 进行组合,但是这种复杂度比较高,不推荐作为验证码,可以制作热门商品

 10.搜索引擎

 es,使用好的分词插件创建索引,比如ik,hanlp,可以提高命中率

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值