java后端面试-(一面+二面)

一面:

项目相关:

  1. 租户隔离使用的是那种实现方式 ?

  2. 新建的租户如何初始化数据库脚本?

  3. 项目中有提到redis缓存,具体是怎么实现的?经常变更的缓存,是如何保证缓存数据和数据库的一直性?

  4. 缓存雪崩、缓存击穿除了使用锁机制,还有其他的策略吗?一级二级缓存?

  5. 接口限流使用的是那种算法?

  6. 项目中使用过哪些设计模式?

  7. k8s部署的时候怎么去部署各种各样的业务?做了哪些方便的措施?

  8. 项目中是否有发现过一些慢接口,平常是怎么进行优化的?

  9. 一般是怎么查询sql的执行计划?

  10. 接口平常都是怎么设计的,有没有设计一些规范?

  11. 项目中是否有用过线程池?平常是怎么用的?

  12. 项目中是否有用到过锁,平时是怎么用的?发生死锁的话如何解决?代码如何避免死锁?

  13. 是否有处理过jvm内存溢出的问题?怎么解决的?

  14. 项目中平常使用的垃圾回收器?

    1. Serial收集器(串行)
    2. Parallel 收集器(并行)

    3. Concurrent Mark Sweep(CMS)垃圾收集器
    4. G1 垃圾收集器
  15. 项目中配置的内存是多大?是否有调整过?主要配置了哪些值?新生代、老年的比例、大小?

  16. Spring Cloud都使用过哪些组件?

技术深度:

  1. 介绍下mybatis的原理,大体流程是什么?

  2. TiDB和mysql有哪些区别?除了多集群的支持还有其他的区别吗?

  3. 线上的sql如果已经加了索引,需要怎么去排查和优化?优化完了之后还是慢怎么办?

  4. 了解过jdk自带的四种线程池吗?都有什么优缺点?

  5. 创建线程的时候有哪些参数,是否有了解过?

  6. 一个任务放到线程池中会有一个流转的过程,具体是怎么流转的?核心线程数、最大线程数、队列三者的关系是什么?

  7. 使用过jdk的并发包里面的哪些类?

  8. synchronize的底层原理是否有了解过?

  9. 了解过哪些垃圾回收算法?

  10. 线上的接口如果经常进行垃圾回收,触发stop world导致接口响应变慢,这个需要怎么排查和优化?

  11. 是否有用过一些命令去看过垃圾回收的频率等?举例几个具体命令?

  12. 简述下Spring bean的生命周期?实例化到销毁的过程?实例化之后会执行一些扩展的方法,有哪些?

  13. eureka的工作原理有了解过吗?是cap模式中的哪一种?

    CAP理论:一个分布式系统不可能同时满足C (一致性),A(可用性),P(分区容错性).由于分区容错性P在分布式系统中是必须要保证的,因此我们只能从A和C中进行权衡.

    Eureka 遵守 AP

    Eureka各个节点都是平等的,几个节点挂掉不会影响正常节点的工作,剩余的节点依然可以提供注册和查询服务。

    而Eureka的客户端在向某个Eureka 注册或查询是如果发现连接失败,则会自动切换至其他节点,只要有一台Eureka还在,就能保证注册服务可用(保证可用性),只不过查的信息可能不最新的不保证强一致性)。

二面

  1. 目前项目中的k8s集群使用的服务发现用的什么技术,是怎么使用的?如何做服务发现的技术选项,为什么不使用nacos?
  2. TiDB使用过程中是否有遇到过什么问题?为什么不使用mysql?原因是什么?
  3. 如果需要做租户隔离的话,你会怎么做?
  4. 多租户模式下数据查询使用拦截器注入租户相关的sql,那么如果拦截器出现了问题,改怎么办?是否有相应的解决策略?
  5. 如何监控线程池?
  6. 如何感应线上的热点数据?
  7. 100万或者更多的数据进行导出,需要怎么处理?接口相应超时怎么处理?
  8. 大批量数据的导入导出接口应该怎么去做技术评审,会需要提前考虑那些问题?
  9. 大数据量的表如果进行查询优化?几千万的用户体量,登录同时支持用户名和手机号,如何进行数据库设计,保证不进行全量扫描?分库分表策略如何实现?用户名如果支持修改的话,怎么办?
  10. 简要介绍下Rabbit MQ的Exchange交换机?为什么不使用kafka,有什么原因?
  11. 2个k8s集群,各自部署了多个服务,如果部署在不同的机房,存在网络隔离。例如A集群部署pod1和pod2,B集群也部署了相同的pod1和pod2,pod1接口请求后会调用pod2,那么如何保证A集群的pod1接口到的请求默认去访问A集群的pod2,并在A集群的pod2挂了之后,可以自动的去访问B集群的pod2?
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值