ebay平台组面试(部分)(未完全解析)

职位链接

电面

  • arrayList相对于普通的数组,做了哪些额外的事情?在什么情况下会扩容?
  • ConcurrentHashmap的size方法是怎么设计的?
  • 知道哪些可视化的内存分析工具
  • jdk1.8默认的垃圾回收器是什么
  • 如何用数据库(如 mysql)设计分布式锁

视频一面

  • 你的导出程序中使用的kafka有没有溢出的情况?比如交警的接口两三天都不可用。Kafka有没有丢数据的情况?比如Kafka不工作了。
  • GC很频繁怎么解决?首先怎么确定是young gc频繁还是full gc频繁?参考答案:jstat。问:Xms和Xmx设置为一样或不一样有什么讲究吗?参考1:避免在生产环境由于heap内存扩大或缩小导致应用停顿,以降低延迟
  • 可以在synchronized里用volatile吗,有必要吗?
  • 怎么避免死锁?他给出一种办法:锁过期时间。
  • Springboot的自动装配。Springboot怎么知道去扫那些第三方依赖的starter里的bean呢?
    参考文章:springboot注解-@Configuration:@Configuration是springboot中常用的注解,它的意思是声明一个类为配置类(相当于之前我们经常使用xml的形式进行一些组件的配置)并将其添加到IOC容器中。
    springboot 自动配置的原理是什么?答1, 答2Springboot自动配置

扫描所有jar包类路径下"META-INF/spring.factories"

我先从启动类开始,会有个@SpringBootApplication,后面会定位到一个自动配置的注解@EnableAutoConfiguration,那最后就能看到注解内部会去META-INF/spring.factories加载配置类

不是所有的配置类都会加载的,假设我们没有引入redis-starter的包,那Redis的配置类就不会被加载。具体Spring在实现的时候就是使用@ConditionalXXX进行判断的。比如Redis的配置类就会有@ConditionalOnClass({RedisOperations.class})的配置,说明当前环境下如果有RedisOperations.class这个字节码,才会去加载Redis的配置类

我总结的关键词:SPI,配置类,条件注解。相关知识参考 本博----SPI与Springboot自动装配

  • springboot里如果有一些bean想被优先加载,应该怎么做?
  • Springboot为什么要提供自己的classloader? Classloader 1加载了类A,Classloader 2加载了类B,类A能调用类B吗,或者说在什么情况下可以?Classloader的隔离性和可见性。(相关知识:本博----tomcat与自定义类加载器
  • tomcat和Servlet是什么关系,在底层是怎么使用Servlet的?
  • 微服务的调用链路非常长,怎么快速定位到出错的service?Skywalking是如何获取调用链路的?java agent

  1. JVM的Xms和Xmx参数设置为相同值有什么好处? ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

qq_23204557

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

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

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

打赏作者

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

抵扣说明:

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

余额充值