3.20日哈啰面试纪要

1.介绍自己,巴拉巴拉
2.面试官谈到了redis
问:redis在项目中你们主要用来干什么的?
答:分布式锁、存储图标信息
问:你们hash类型主要用来做什么?
答:主要用来存储token
问:token不应该怎么存吧
答:尴尬
问:redis存储list数据的几个基本指令
答:lpush、lpop(尴尬,要注意list是队列有顺序的)
问:redis的redission包具体解决了哪些问题,当中的过期时间会导致什么场景
答:没答好(建议重新归纳总结一下)
问:怎么解决redis的读写不一致的问题
答:redis有一个注解,是针对更新接口的,一旦更新了这个接口就会让redis即时刷新(应该说细一点,这个注解是怎么工作的,是先删后插还是怎么样)
问:一个热点key失效,导致缓存击穿怎么处理(但是他这里说他是缓存穿透,我记得可以用布隆过滤器去解决缓存穿透,但他说错了,导致我不敢说)
答:没答好
3.开始聊MySQL了
问:mysql慢查询怎么解决的?怎么去查慢查询日志的
答:我们一般都是会在mysql中开启慢查询日志的,生成一个slow.log文件,然后通过查询语句去查到慢sql(最好说一下什么语句),或者是通过测试定位到慢接口,去对他进行处理
问:怎么去优化sql语句
答:使用explain关键字去分析sql语句,join用大表连小表,是否连表过多,是否使用到了索引,索引是否遵循最左前缀原则
问:索引的类型有哪些
答:索引分为聚簇索引和非聚簇索引。聚簇索引就是主键,非聚簇索引有普通索引、唯一索引、全文索引。
问:select * from 表 where id = 1 和 select id from 表 where id = 1哪个效率高一些?
答:差不多,因为b+树的特性,它的主键是带着这一行的其他字段的,如果忽略掉网络的话,两者是一样的。
4.聊了一下项目秒杀
问:如果秒杀成功了,下单失败了
答:我这边经过redis实际上就是完成了下单了,后续对db的操作交给rabbitmq做,rabbitmq如果失败会去重试的,我这边最多只能在消费者那边catch到,记录到日志做补偿机制(建议看一下高并发场景下怎么处理的)
问:生产者生产完以后返回一个什么数据
答:返回一个布尔型的数据
问:你怎么样防止超卖的,请说出多个方案
答:1.加分布式锁 2.用rabbitmq顺序消费 3.mysql设置事务隔离级别 serilizable(面试官补充可以用乐观锁去做)
问:mysql集群怎么样保证数据的一致性
答:通过读取binlog巴拉巴拉(应该是错的)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/768227.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

高中信息技术教资刷题笔记_大题篇

1.选择排序 2. SMTP属于TCP/IP协议体系结构中的哪一层?请列出其通信的三个阶段。 3.高中信息技术课程的基本理念/意义 4.视频作品制作和发布的主要环节 5.信息社会责任内涵及学生表现 6.教学活动意图 ①突出学生的主体地位。材料中,王老师设计的“扮演谍…

mac安装openresty

官方地址:https://openresty.org/cn/download.html brew update brew install pcre openssl下载源码 https://openresty.org/download/openresty-1.25.3.1.tar.gz解压源码 tar -zxvf openresty-1.25.3.1.tar.gz进入解压后的目录 ./configure --prefix/opt/openr…

johnson最短路模板(未完成,自用)

johnson最短路 https://www.starrycoding.com/problem/100 关键就在于,解决dijkstra不能处理负权值的问题,先用spfa或者bellman-ford得到所有点到虚点的最短距离,可以称之为势能。然后通过势能对所有边进行处理,处理过后保证了所…

代码随想录算法训练营Day56 ||leetCode 583. 两个字符串的删除操作 || 72. 编辑距离

647. 回文子串 dp[i][j]表示第i位开始&#xff0c;第j位结束的字符串是否为回文串 class Solution { public:int countSubstrings(string s) {vector<vector<bool>> dp(s.size(), vector<bool>(s.size(), false));int result 0;for (int i s.size() - 1…

WSL2 (Ubuntu 22.04.3 LTS)安装docker

文章目录 前言一、安装二、总结 前言 在wsl2(Ubuntu 22.04.3 LTS)中安装docker。 一、安装 安装过程主要参考了&#xff1a;ubuntu安装docker下面主要安装命令&#xff0c;执行完便可完成docker的安装。 检查卸载老版本docker $ apt-get remove docker docker-engine docker…

大数据分布式计算引擎用虚拟CPU的核心原因?

两个核心原因&#xff1a; 第一&#xff1a;为了屏蔽不同服务器之间的CPU算力差异。 第二&#xff1a;为了增加集群可提交的任务数量以及提高单个CPU的使用效率。 当我们做大数据开发用分布式计算引擎提交任务时&#xff0c;一般都会给每个提交的任务分配对应的内存和CPU资源。…

深入理解与使用go之函数与方法--使用

深入理解与使用go之函数与方法–理解与使用 文章目录 引子函数与方法分类函数函数入参普通参数可变参数默认值返回命名不带命名带命名讨论init 函数defer 函数方法值接收指针接收构造函数引子 在 Go 语言中,函数被视为一等公民(First-Class Citizens),这意味着函数可以像其…

分类预测 | Matlab实现CNN-LSTM-Mutilhead-Attention卷积神经网络-长短期记忆网络融合多头注意力机制多特征分类预测

分类预测 | Matlab实现CNN-LSTM-Mutilhead-Attention卷积神经网络-长短期记忆网络融合多头注意力机制多特征分类预测 目录 分类预测 | Matlab实现CNN-LSTM-Mutilhead-Attention卷积神经网络-长短期记忆网络融合多头注意力机制多特征分类预测分类效果基本介绍模型描述程序设计参…

c#矩阵求逆

目录 一、矩阵求逆的数学方法 1、伴随矩阵法 2、初等变换法 3、分块矩阵法 4、定义法 二、矩阵求逆C#代码 1、伴随矩阵法求指定3*3阶数矩阵的逆矩阵 &#xff08;1&#xff09;伴随矩阵数学方法 &#xff08;2&#xff09;代码 &#xff08;3&#xff09;计算 2、对…

【微服务】详解弹性设计中各个模式的应用场景

目录 故障和微服务架构如何构建具有弹性的服务?隔舱模式何时使用此模式断路器模式何时使用此模式不适用断路器的情况速率限制器模式何时使用此模式重试模式何时使用此模式超时模式使用该模式的优势推荐超级课程: Docke

PyAV源码安装及基本使用

PyAV源码编译 PyAV是对 ffmpeg 库的 Python 绑定&#xff0c;本篇介绍PyAV的源码安装及基本使用。 文章目录 PyAV源码编译编译流程源码目录结构编译中遇到的问题 PyAV的使用nvidia 硬件编解码Python C debug 方式 编译流程 PyAV的源码地址为&#xff1a;https://github.com/…

政安晨:【深度学习实践】【使用 TensorFlow 和 Keras 为结构化数据构建和训练神经网络】(五)—— Dropout和批归一化

政安晨的个人主页&#xff1a;政安晨 欢迎 &#x1f44d;点赞✍评论⭐收藏 收录专栏: TensorFlow与Keras实战演绎 希望政安晨的博客能够对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff01; Dropout和批归一化是深度学习领域中常用的正则化技术…

stm32之GPIO寄存器

文章目录 1 背景2 GPIO寄存器的类型2.1 端口配置寄存器2.2 设置/清除寄存器和位清除寄存器 3 总结 1 背景 C51单片机在进行数据的输入输出时&#xff0c;是直接操作与外部引脚关联的内部寄存器&#xff0c;例如&#xff0c;当设置P2_1为0时&#xff0c;就是将外部引脚的P21引脚…

YOLOV5 部署:TensorRT的安装和使用

1、介绍 TensorRT 可以加速神经网络的推理时间,常常在工业生产中使用 因为TensorRT需要使用到cuda和cudnn加速,所以需要安装这两个,安装的具体步骤参考前文: YOLOV5 部署:cuda和cuDNN安装-CSDN博客 2、TensorRT 下载 TensorRT下载地址:NVIDIA TensorRT Download | NV…

6.windows ubuntu 子系统 测序数据质量控制。

上一个分享&#xff0c;我们对测序数据进行了质量评估&#xff0c;接下来我们需要对数据进行数据质量控制。 数据预处理&#xff08;Data Preprocessing&#xff09;&#xff1a;包括去除接头序列&#xff08;adapter trimming&#xff09;、去除低质量序列&#xff08;qualit…

Spark—GraphX实战 OneID

OneID 前面我们学习了ID Mapping&#xff0c;包括ID Mapping 的背景介绍和业务场景&#xff0c;以及如何使用Spark 实现ID Mapping&#xff0c;这个过程中涉及到了很多东西&#xff0c;当然我们都通过文章的形式介绍给大家了&#xff0c;所以你再学习今天这一节之前&#xff0…

FPGA时钟资源详解——时钟Buffer的选择

目录 一、概述 二、时钟Buffer的选择 2.1 BUFG 2.2 BUFR 和 BUFIO 2.2.1 源同步接口的支持 2.2.2 扩展时钟域转换功能 2.2.3 BUFR 作为简单的时钟分频器 2.3 BUFH 2.3.1 BUFH 的关键特性 2.3.2 应用场景 三、总结 3.1 BUFG&#xff08;全局时钟缓冲器&…

OpenCV4.9.0开源计算机视觉库核心功能(核心模块)

转到&#xff1a;OpenCV系列文章目录&#xff08;持续更新中......&#xff09; 上一篇&#xff1a;OpenCV 介绍使用 下一篇&#xff1a;如何使用OpenCV扫描图像、查找表和时间测量 ​ OpenCV核心功能主要有以下各个&#xff1a;本文将开始介绍下列内容&#xff1a; Mat - 基…

SpringBoot配置JWT拦截器

目录 1.背景介绍 2.前提工作 3.具体代码 &#xff08;1&#xff09;相关依赖 &#xff08;2&#xff09;相关配置文件 &#xff08;3&#xff09;JwtUtils类 &#xff08;4&#xff09;准备好登录逻辑代码&#xff08;Dao、Service、Controller&#xff09; &#xff0…

解决方案Please use Oracle(R) Java(TM) 11, OpenJDK(TM) 11 to run Neo4j.

文章目录 一、现象二、解决方案 一、现象 当安装好JDK跟neo4j&#xff0c;用neo4j.bat console来启动neo4却报错&#xff1a; 部分报错信息&#xff1a; Starting Neo4j. WARNING! You are using an unsupported Java runtime. Please use Oracle Java™ 11, OpenJDK™ 11 t…