【面试笔记】4399面经?凉经

自我介绍

Bean自动装配,Jar包哪些是前期就要装配的

  • 自动装配可以简单理解为:通过注解或者一些简单的配置就能在 Spring Boot 的帮助下实现某块功能。
  • Spring Boot 通过@EnableAutoConfiguration开启自动装配,通过 SpringFactoriesLoader 最终加载META-INF/spring.factories中的自动配置类实现自动装配,自动配置类其实就是通过@Conditional按需加载的配置类,想要其生效必须引入spring-boot-starter-xxx包实现起步依赖
  • 视频讲解:https://www.bilibili.com/video/BV1NY411P7VX/?spm_id_from=333.337.search-card.all.click&vd_source=63c31c00f43b2146deb2abe22be2973b

mysql慢查询以及怎么优化

  • slow_query_log 开启慢查询日志,设置超过几秒为慢SQL语句,抓取慢SQL语句
  • 通过explain查看执行计划,对慢SQL语句分析;创建索引并调整语句,再查看执行计划,对比调优结果
  • 原因:
    • 没加索引,索引失效,走了全表扫描
    • 选错索引了
    • 数据库在刷脏页
    • 拿不到锁
    • 数据库服务器内存、硬件资源,或者网络资源配置不是很好。
    • 数据库压力大,高并发场景下,大量请求使得CPU 占用很高或者 IO利用率 很高。

接口慢怎么查询

缓存一致性以及解决方案,延迟双删

  • 「先更新数据库,再更新缓存」,还是「先更新缓存,再更新数据库」,存在并发问题,会出现缓存和数据库中的数据不一致的现象。
  • 先更新数据库,再删除缓存,
    • 无并发:第一步失败没事,第二步失败,重试缓存
    • 有并发:等待缓存删除,可能有部分数据会读到旧的缓存
  • 先删除缓存,再更新数据库
    • 无并发:第一步失败没事,第二步失败,重试数据库更新
    • 有并发: 在删除缓存和更新数据库之间的时间,有大量请求,会导致缓存更新为旧值,这时候可以使用延迟双删

redis的Hyperloglog、Bitmap

kafka怎么解决消息的可靠性

零拷贝

  • 十亿个整数查询奇数
  • 如何提供一个公共登录页面给兄弟项目组用
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值