面试,真的是造火箭?

今天和大家分享一次面试经历,希望可以对还在找工作的朋友们提供一点查缺补漏的方向。

    先说下面试的整体情况吧:这次面试的是一家教育培训的准上市公司,公司环境还不错,对待面试者态度也挺好的,带进一个小会议室,桌上还配置了企业的宣传手册,看的出来,该公司对企业文化的建设还是挺重视的。面试的过程中,面试官也挺耐心的,还会引导你答题的方向。不过,由于自己回答得不是特别理想,没能打动面试官,面试结果也就只能回去等通知了。

    面试嘛,重要的是过程,结果就看缘分吧。毕竟开发工作当中大部分都是业务操作,很少会关注其底层原理,但是面试当中主要都是考察技术原理实现,所以我总结了一下这次面试主要问的一些问题及解析:

 

SpringCloud用过吧,说说都有哪些组件?

    答:服务发现与注册(Eureka),负载均衡(Ribbon),服务调用(Feign)、熔断器(Hystrix)、配置中心(Config)、网关(Zuul)

熔断器Hystrix的原理是什么?平时工作上具体是怎么用的?

答:“ 断路器 ” 本身是一种开关装置,当某个服务单元发送故障之后,通过断路器的故障监控(类似熔断保险丝),向调用方返回一个符合预期的、可处理的备选响应(FallBack),而不是长时间的等待或抛出调用方无法处理的异常,这样就保证了服务调用方的线程不会被长时间、不必要地占用,从而避免了故障在分布式系统中的蔓延,乃至雪崩。

工作中的用法:

1、通过feign客户端调用服务,可以使用feign内置的Hystrix功能,注意需要在配置文件中需要开启此功能。另外需要写实现类来继承你的Feign客户端,并且实现相应接口,实现的内容就是发生异常时你需要处理的流程,也就是熔断机制。

2、通过注解方式,@HystrixCommand注解是方法级别的,在你需要捕获的方法上加上注解。

SpringIOC有哪些实现方式?

答:基于注解注入、构造方法注入、setter方法注入

SpringAOP是什么?有哪些应用场景?

答:AOP是面向切面思想,有两种方式实现:Jdk动态代理和Cglib动态代理。通常应用在权限校验、日志记录、统计等场景

SpringBoot的自动装配原理是什么?

 

答:springBoot启动的时候,通过AutoConfigurationImportSelector类,从类路径下的spring.factories中获取EnableAutoConfiguration指定的值(各种xxxAutoConfiguration),以全类名反射的创建方式,将这些值作为自动配置类导入到容器中,自动配置类就生效,帮我们进行自动配置工作。

说一说Mybatis的一级、二级缓存的原理?

答:1)一级缓存: 基于 PerpetualCache 的 HashMap 本地缓存,其存储作用域为 Session,当 Session flush 或 close 之后,该 Session 中的所有 Cache 就将清空,默认打开一级缓存。

2)二级缓存与一级缓存其机制相同,默认也是采用 PerpetualCache,HashMap 存储,不同在于其存储作用域为 Mapper(Namespace),并且可自定义存储源,如 Ehcache。默认不打开二级缓存,要开启二级缓存,使用二级缓存属性类需要实现Serializable序列化接口(可用来保存对象的状态),可在它的映射文件中配置 <cache/> ;

3)对于缓存数据更新机制,当某一个作用域(一级缓存 Session/二级缓存Namespaces)的进行了C/U/D 操作后,默认该作用域下所有 select 中的缓存将被 clear。

Mybatis的一对多是怎么做的?

答:有联合查询和嵌套查询。联合查询是几个表联合查询,只查询一次,通过在resultMap里面的collection节点配置一对多的类就可以完成;嵌套查询是先查一个表,根据这个表里面的 结果的外键id,去再另外一个表里面查询数据,也是通过配置collection,但另外一个表的查询通过select节点配置。

 

Redis的数据结构有哪些?

答:String(字符串)、Hash(哈希)、List(列表)、Set(集合)、Zset(有序集合)

 

 

最后,给大家准备了一点小福利,有需要的可以关注领取喔!

扫描下方二维码关注公众号,回复:面试题,即可免费领取相关面试题目。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Java升级之路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值