当前位置: 首页 > news >正文

面试问题11

1.redission如果客户端挂了,看门狗还会续期锁吗?
不会续期,等到过期时间自动释放锁,让其他客户端可以获取到锁。
2.rocketmq怎么保证消息不丢失?
2.1.使用同步的方式发送消息或者有回调的方式发送消息,确认本地的事务没有异常。

SendResult sendResult = producer.send(msg,20*1000);
//异步发送,生产者另起一个线程等待broker确认,收到Broker确认之后直接触发回调方法。消息安全和效率之间比较均衡,但是会加大客户端的负担。
producer.send(msg,new SendCallback(){@Overridepublic void onSuccess(SendResult sendResult){//do something}@Overridepublic void onException(Throwable e){//do something}
})

2.2.broker 同步刷盘
2.3.消费者手动提交offset。

3.volatile是什么意思,有什么用?
4.一个表数据量太大如何处理?
4.1.加索引
4.2 表分区

CREATE TABLE sales (id INT NOT NULL,amount DECIMAL(10, 2) NOT NULL,order_date DATE NOT NULL,PRIMARY KEY (id, order_date)
) 
PARTITION BY RANGE (YEAR(order_date)) (PARTITION p2020 VALUES LESS THAN (2021),PARTITION p2021 VALUES LESS THAN (2022),PARTITION p2022 VALUES LESS THAN (2023),PARTITION pFuture VALUES LESS THAN MAXVALUE
);

4.3分库分表。
4.4 存储在es或者使用tidb

5.java agent如何使用?

6 数据库如何优化?
6.1.先确认表使用有没有问题,例如索引正确建立,使用。避免索引失效场景
6.2 优化数据库配置
6.3 优化硬件配置,例如硬盘换成固态硬盘。
7.list抽出id,name组成新的map如何操作

  Map<Integer, String> idToNameMap = people.stream().collect(Collectors.toMap(Person::getId, Person::getName));
  1. 有一个成绩表,查出每个班级的前三名
    8.1
select *from (
SELECTs.*,ROW_NUMBER() over ( PARTITION BY s.c_id ORDER BY s.s_score DESC ) AS ranks 
FROMscore s ) a where a.ranks<=3

这里 使用了窗口函数,根据c_id分组然后按score排序,得到每个学生的排名,然后再用子查询查出排名,这里如果不用子查询会报错,必须再包一层。
在这里插入图片描述
结果如上图
8.2

SELECTs1.s_id,s1.c_id,s1.s_score ,count(1)from score s1 left join 
(select distinct s.c_id,s.s_score from score s) s2  on s1.c_id=s2.c_id and s1.s_score<s2.s_score
GROUP BYs1.c_id,s1.s_id,s1.s_score having count(s1.c_id)<3 order by s1.c_id asc,s1.s_score desc

思路是,通过left join 找到 s1中比s2还小的条数有多少条,小于3条则证明,该成绩是排名前三的,
但是这种写法分数相同的算并列/。

在这里插入图片描述

http://www.dtcms.com/a/317186.html

相关文章:

  • 20-C语言:第21~22天笔记
  • V2X通信标准与消息数据结构详解
  • 异构系统数据集成之数据源管理:打通企业数据孤岛的关键一步
  • docker环境搭建
  • Qt Frameless Widget跨平台无边框窗口
  • 基于最大似然估计的卡尔曼滤波与自适应模糊PID控制的单片机实现
  • 鼠标下滑时回跳问题
  • 从“更优”到“更智”:V5.7.3 的交互革新、模式扩展与体验跃迁
  • NodeJs学习日志(1):windows安装使用node.js 安装express,suquelize,sqlite,nodemon
  • ESP32:2.搭建UDP服务器
  • 参考线程池构建一个高性能、配置驱动的Docker容器池
  • Linux---第二天---基础指令
  • copy_file_range系统调用及示例
  • 使用Nginx部署前后端分离项目
  • Docker的安装,服务器与客户端之间的通信
  • Linux基础命令的生产常用命令及其示例简单解释
  • 电子电气架构 ---如何焕新升级为 48V 电气架构
  • 【32】C++实战篇—— m行n列的坐标点,求每行相邻点X差值dX,每列相邻点y差值dY,并以矩阵形式左端对齐
  • 玩转 InfluxDB 3:用 HTTP API 快速创建高效数据表
  • Python科学计算:从基础到工程仿真的完整指南
  • 【java】DDD架构同普通微服务项目的区别
  • 23.统计分析:从数据中挖掘洞察
  • 深入浅出 RabbitMQ - 主题模式(Topic)
  • JavaWeb(04)
  • 丝滑qt页面跳转
  • android10~16变更一览和开发者兼容应对
  • 学习 Android(十五)NDK进阶及性能优化
  • antd组件select下拉数据分页加载
  • 学习 Android (十六) 学习 OpenCV (一)
  • Cglib的Enhancer实现动态代理?