赞
踩
不知道各位读者朋友们有没有找到一份自己如意的工作,或是还在接着上一份工作在原地踏步。我有幸在上个月通过腾讯的面试,并顺利拿下了Offer 。不过可不是一次通过,是面试了两次。
没错 就是两次!
第一次投的是阿里云,面试当中前两面倒是没出问题,可到了第三面 面试官扯出了SpringCloud 我尽然支支吾吾半天还没说出他所问的一半,直接被吊打。
第二是面试的是腾讯,让我没想到的是面试官小胖子居然也问到了SpringCloud,还好通过上一次的失败经验把没啃透的知识点又狂啃了一遍。而我的回答面试官还比较满意,成功通过面试,顺利拿下Offer,下面分享一波我的面经和一些学习方面的看法和见解 ~~
发现网上很多SpringCloud面试题都没有答案,所以花了很长时间搜集,SpringCloud35道面试题,汇总了各大厂经典的SpringCloud程序员面试题以及答案,应届生,实习生,企业工作过的,都可参考学习!
面试官:什么是 Netflix Feign?它的优点是什么?
回答:Feign 是受到 Retrofit,JAXRS-2.0 和 WebSocket 启发的 java 客户端联编程序。Feign 的第一个目标是将约束分母的复杂性统一到 httpapis,而不考虑其稳定性。在 employee-consumer 的例子中,我们使用了 employee-producer 使用 REST模板公开的 REST 服务。
但是我们必须编写大量代码才能执行以下步骤
1、使用功能区进行负载平衡。
2、获取服务实例,然后获取基本 URL。
3、利用 REST 模板来使用服务。
面试官:可以写一下代码吗?
回答:行
面试官:什么是 Spring Cloud Bus?我们需要它吗?
回答:
考虑以下情况:我们有多个应用程序使用 Spring Cloud Config 读取属性,而Spring Cloud Config 从 GIT 读取这些属性。下面的例子中多个员工生产者模块从 Employee Config Module 获取 Eureka 注册的财产
如果假设 GIT 中的 Eureka 注册属性更改为指向另一台 Eureka 服务器,会发生什么情况。在这种情况下,我们将不得不重新启动服务以获取更新的属性。还有另一种使用执行器端点/刷新的方式。
但是我们将不得不为每个模块单独调用这个 url。例如,如果 EmployeeProducer1 部署在端口 8080 上,则调用 http:// localhost:8080 / refresh。同样对于 Employee Producer2 http://localhost:8081 /refresh 等等。这又很麻烦。
Spring Cloud Bus 提供了跨多个实例刷新配置的功能。因此,在上面的示例中,如果我们刷新 Employee Producer1,则会自动刷新所有其他必需的模块。
如果我们有多个微服务启动并运行,这特别有用。这是通过将所有微服务连接到单个消息代理来实现的。无论何时刷新实例,此事件都会订阅到侦听此代理的所有微服务,并且它们也会刷新。可以通过使用端点/总线/刷新来实现对任何单个实例的刷新
面试官:什么是Hystrix断路器?我们需要它吗?
由于某些原因,employee-consumer公开服务会引发异常。在这种情况下使用Hystrix我们定义了一个回退方法。如果在公开服务中发生异常,则回退方法返回一些默认值。
如果firstPage method() 中的异常继续发生,则Hystrix电路将中断,并且员工使用者将一起跳过firtsPage方法,并直接调用回退方法。 断路器的目的是给第一页方法或第一页方法可能调用的其他方法留出时间,并导致异常恢复。可能发生的情况是,在负载较小的情况下,导致异常的问题有更好的恢复机会 。
面试官:Eureka和Zookeeper区别
回答:有6个
1.Eureka取CAP的AP,注重可用性,Zookeeper取CAP的CP注重一致性。
2.Zookeeper在选举期间注册服务瘫痪,虽然服务最终会恢复,但选举期间不可用。
3.eureka的自我保护机制,会导致一个结果就是不会再从注册列表移除因长时间没收到心跳而过期的服务。依然能接受新服务的注册和查询
请求,但不会被同步到其他节点。不会服务瘫痪。
4.Zookeeper有Leader和Follower角色,Eureka各个节点平等。
5.Zookeeper采用过半数存活原则,Eureka采用自我保护机制解决分区问题。
6.eureka本质是一个工程,Zookeeper只是一个进程。
面试官:springcloud断路器作用?
回答:当一个服务调用另一个服务由于网络原因或自身原因出现问题,调用者就会等待被调用者的响应 当更多的服务请求到这些资源导致更多的请求等待,发生连锁效应(雪崩效应)
断路器有完全打开状态:一段时间内 达到一定的次数无法调用 并且多次监测没有恢复的迹象 断路器完全打开 那么下次请求就不会请求到该服务
半开:短时间内 有恢复迹象 断路器会将部分请求发给该服务,正常调用时 断路器关闭
关闭:当服务一直处于正常状态 能正常调用
面试官:作为服务注册中心,Eureka比Zookeeper好在哪里?
回答:1.Eureka保证的是可用性和分区容错性,Zookeeper 保证的是一致性和分区容错性 。
2.Eureka还有一种自我保护机制,如果在15分钟内超过85%的节点都没有正常的心跳,那么Eureka就认为客户端与注册中心出现了网络故
障。而不会像zookeeper那样使整个注册服务瘫痪。
面试官:好的 很不错回去等通知吧!
所以就是喜提offer!!把这份好运传送给大家!!这份《Java面试题大纲》送给大家!
包含了Java基础、Java集合容器、Java异常、并发编程、JVM、Spring、Spring MVC、Spring Boot、Spring Cloud、MyBatis、Redis、MySQL数据库、消息中间件MQ与RabbitMQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty、 架构设计&分布式&数据结构与算法等等,都是互联网大厂的面试真题,已经有粉丝靠这份PDF拿下众多大厂的offer。
目录:
需要获取这份文档的小伙伴可以直接【点击此处】即可获取!
JavaOOP面试题
Java集合/泛型面试题
Java序列化面试题
多线程&并发面试题
Mysql面试题
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。