铠甲网络面试(部分)
-
如何用Redis实现分布式锁的?如果设置的超时时间到了,但占有锁的任务还未完成,怎么办?答案:定时任务进行检测与续约,具体参考 本博----《专题三分布式系统》之《第三章 集中式缓存Redis》之 《第三节 Redis底层原理分析》 之 《3.3.3 redis数据结构实践之分布式锁的实现》
-
web容器集群,用k8s做弹性伸缩容,QPS上万时大概会自动调度为多少个结点?按知乎-----一文搞懂高并发性能指标:QPS、TPS、RT、并发数、吞吐量 之 《七、最佳线程数、QPS、RT》 :
单线程QPS公式:QPS=1000ms/RT 。假设一个RT是80ms,则可以很容易的计算出QPS = 1000/80 = 12.5。
多线程场景,如果把服务端的线程数提升到16,那么整个系统的QPS则为 16*(1000/80) = 200。
所以可能需要五六十个结点。
-
哪些场景会导致索引失效?使用OR一定会失效吗,什么情况下使用OR不会失效?
相关知识:1 or语句前后没有同时使用索引,会发生索引失效。将key<>0改为key>0 or key<0,会用到索引;
为了可以用到索引,可将 OR 运算符拆分成多个查询条件,并使用 UNION进行组合2,3 。
但是也有可能会发生索引合并4 : The Index Merge5 access method retrieves rows with multiple range scans and merges their results into one. This access method merges index scans from a single table only, not scans across multiple tables. -
Redis在存储方面有哪些优化?采取了一些特殊编码。epoll的底层有了解吗?相关知识(参考bing与6):
epoll是Linux下的一种高效的IO多路复用机制,它可以监听多个文件描述符(fd)(一个IO连接是通过套接字(socket)来实现的,套接字是一种特殊的文件描述符) 的事件,如可读、可写、异常等。epoll的底层原理主要有三个方面:
- epoll使用一个红黑树来管理所有的fd,每个fd对应一个epoll_event结构体,存储了fd的信息和事件类型。
- epoll使用一个双向链表来存储就绪的fd,每次调用epoll_wait时,只需要遍历这个链表,而不需要像select那样遍历所有的fd。
- epoll使用内核回调函数来通知用户空间的进程或线程,当某个fd发生了感兴趣的事件时,内核会将该fd插入到就绪链表中,并唤醒等待在epoll_wait上的进程或线程。
-
- epoll的流程,和它的几个关键的函数?Answer by bing:
epoll的流程大致如下:
调用epoll_create()函数创建一个epoll对象,返回一个文件描述符(fd)。
调用epoll_ctl()函数将要监听的fd添加到epoll对象中,指定感兴趣的事件类型(如读、写、异常等)。
调用epoll_wait()函数等待epoll对象中的fd发生事件,返回就绪的fd和事件类型。
处理就绪的fd和事件,然后重复第三步,直到不需要监听了。
调用close()函数关闭epoll对象的fd,释放资源。
- epoll的流程,和它的几个关键的函数?Answer by bing:
epoll的关键函数有:
epoll_create():创建一个epoll对象,返回一个fd。
epoll_ctl():向epoll对象中添加、修改或删除要监听的fd和事件类型。
epoll_wait():等待epoll对象中的fd发生事件,返回就绪的fd和事件类型。
-
TCP如何实现流量控制?相关知识from bing: 发送窗口的大小取决于接收方窗口和拥塞窗口的最小值。接收端通过TCP首部的通告窗口字段来向发送端通告接收窗口。Q:发送方超时重传后,有没有可能导致接收方重复接收数据
-
JDK从哪个版本开始使用G1作为默认垃圾回收器的?A:JDK9
Mysql索引失效的场景 ↩︎
or为什么会导致索引失效 ↩︎
Stackoverflow : MySQL: how to index an “OR” clause ↩︎
https://dev.mysql.com/doc/refman/8.0/en/index-merge-optimization.html ↩︎
为什么where条件中使用or索引不起作用? ↩︎
知乎----深入理解 Linux 的 epoll 机制及epoll原理 ↩︎
相关文章:
铠甲网络面试(部分)
如何用Redis实现分布式锁的?如果设置的超时时间到了,但占有锁的任务还未完成,怎么办?答案:定时任务进行检测与续约,具体参考 本博----《专题三分布式系统》之《第三章 集中式缓存Redis》之 《第三节 Redis底…...
elasticsearch 将时间类型为时间戳保存格式的时间字段格式化返回
dsl查询用法如下: GET /your_index/_search {"_source": {"includes": ["timestamp", // Include the timestamp field in the search results// Other fields you want to include],"excludes": []},"query": …...
淘宝商品列表怎么通过接口形式导出?
淘宝是目前国内最大的电商平台之一,拥有海量的商品资源。但是,有时候我们需要对淘宝商品进行批量操作,比如进行价格比较、数据分析等等。这时候,我们就需要将淘宝商品列表导出。那么,淘宝商品列表怎么导出呢?又可以按…...
TWS真无线蓝牙耳机哪家好?六款口碑好的TWS真无线蓝牙耳机分享
为了帮助大家在这个充满选择的世界中找到最理想的蓝牙耳机,我们特别为您精心挑选了几款备受赞誉的产品,它们在音质、舒适度、功能和性价比等方面都有出色的表现。在本文中,我们将深入探讨这些蓝牙耳机的特点和优势,帮助您更好地了…...
解决Win11右键菜单问题
✅作者简介:大家好,我是Cisyam,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Cisyam-Shark的博客 💞当前专栏: 程序日常 ✨特色专栏&…...
开源元数据管理平台Datahub最新版本0.10.5——安装部署手册(附离线安装包)
大家好,我是独孤风。 开源元数据管理平台Datahub近期得到了飞速的发展。已经更新到了0.10.5的版本,来咨询我的小伙伴也越来越多,特别是安装过程有很多问题。本文经过和群里大伙伴的共同讨论,总结出安装部署Datahub最新版本的部署手…...
归并排序——“数据结构与算法”
各位CSDN的uu们好呀,今天,小雅兰的内容仍然是数据结构与算法专栏的排序呀,下面,让我们进入归并排序的世界吧!!! 归并排序 归并排序(MERGE-SORT)是建立在归并操作上的一种…...
C语言笔试题训练【第一天】
目录 第一题 第二题 第三题 第四题 第五题 大家好,我是纪宁。 从今天开始博主会日更一些经典的C语言笔试题,持续20天左右。题目类型为5道选择题加2道编程题,希望能和大家一起进步。 第一题 1.读程序,下面程序正确的输出是&…...
计算语言模型计算每秒钟生成的token数量it/s
在 main() 函数的stream循环中,我们可以计算每秒钟生成的token数量,然后输出 it/s。在流式生成过程中,我们可以使用Python的time模块来计算速度。在测试时,生成速度会受到多个因素的影响,包括设备性能、模型大小、输入…...
Clickhouse调研
1、独立组件个数(按进程) 默认情况下是1个;如果需要使用副本机制,需要依赖zookeeper;如果需要监控功能,还得依赖第三方监控系统。 2、单机部署 很好的支持单机运行,并且单机情况下查询入库性能不错(通过其提供的示例数据进行体验)。 3、窗口函数 Clickhouse没有显示…...
02.Redis实现添加缓存功能
学习目标: 提示:学习如何利用Redis实现添加缓存功能 学习产出: 流程图 1. 准备pom环境 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId&g…...
【1.2】Java微服务:SpringCloud概论
✅作者简介:大家好,我是 Meteors., 向往着更加简洁高效的代码写法与编程方式,持续分享Java技术内容。 🍎个人主页:Meteors.的博客 💞当前专栏: 微服务 ✨特色专栏: 知识分享 &#x…...
右键文件夹 ------- 打开 vscode的方法
1、右键vscode点击属性 2、这是地址栏,一会复制即可 3、新建一个txt文件,将这个复制进去 Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\*\shell\VSCode] "Open with Code" "Icon""D:\\Microsoft VS Code\\Code.exe"[HKE…...
小程序原生实现左右锚点联动
效果 wxml <view classbox><scroll-view scroll-y scroll-with-animation style"width:25%"><view classnav><view wx:for"{{navList}}" wx:keyindex class"title {{index active ?select:}}"data-index{{index}} bin…...
STM32 低功耗-睡眠模式
STM32 睡眠模式 文章目录 STM32 睡眠模式第1章 低功耗模式简介第2章 睡眠模式简介2.1 进入睡眠模式2.1 退出睡眠模式 第3章 睡眠模式代码示例总结 第1章 低功耗模式简介 在 STM32 的正常工作中,具有四种工作模式:运行、睡眠、停止和待机模式。 在系统或…...
IDEA用Gradle构建项目时,lombok插件无效的解决办法
Lombok 可用来帮助开发人员消除 Java 的重复代码,尤其是对于简单的 Java 对象(POJO),比如说getter/setter/toString等方法的编写。它通过注解实现这一目的。 正确使用姿势 一、安装Lombok插件 菜单栏File -> Settings ->…...
基于方向编码的模板匹配算法matlab仿真
目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 MATLAB2022a 3.部分核心程序 ........................................................................... %选择移动个…...
shell centos 7 一键部署 KVM软件脚本
这个脚本有限地方还需要完善下 设计思路: 1、创建检查内核函数 check_kernel() 2、创建升级内核函数 update_kernel() 3、创建检查是否支持虚拟化函数 check_virtual() 4、创建检查操作系统函数 check_system() 5、创建检查网络函数 check_network() 6…...
64 # 实现一个 http-server
准备工作 上一节实现了通过 commander 的配置获取到用户的参数,下面完成借用 promise 写成类的方法一节没有完成的任务,实现一个 http-server,https://www.npmjs.com/package/http-server,http-server 是一个简单的零配置命令行静…...
HCIP作业3
题目 配置IP地址 R1 [r1]int g0/0/1 [r1-GigabitEthernet0/0/1]ip add 192.168.1.1 24 [r1-Serial4/0/0]ip add 12.1.1.1 24 R2 [r2]int s4/0/0 [r2-Serial4/0/0]ip add 12.1.1.2 24 [r2-Serial4/0/0]int s4/0/1 [r2-Serial4/0/1]ip add 32.1.1.1 24 [r2-Serial4/0/1]in…...
如何用代码驱动可视化:Mermaid Live Editor的实时图表编辑革命
如何用代码驱动可视化:Mermaid Live Editor的实时图表编辑革命 【免费下载链接】mermaid-live-editor Edit, preview and share mermaid charts/diagrams. New implementation of the live editor. 项目地址: https://gitcode.com/GitHub_Trending/me/mermaid-liv…...
深度解析开源音效引擎:Equalizer APO 5大实战技巧与专业配置方案
深度解析开源音效引擎:Equalizer APO 5大实战技巧与专业配置方案 【免费下载链接】equalizerapo Equalizer APO mirror 项目地址: https://gitcode.com/gh_mirrors/eq/equalizerapo 作为一款开源的系统级音频处理引擎,Equalizer APO 通过创新的模…...
告别截图!手把手教你用Trae IDE + MCP插件自动解析Swagger/Yapi接口文档
告别截图!手把手教你用Trae IDE MCP插件自动解析Swagger/Yapi接口文档 在前后端协作开发中,接口文档的频繁查阅和手动复制粘贴是每个开发者都经历过的效率黑洞。想象一下这样的场景:你正在开发一个包含30多个字段的复杂表单页面,…...
终极Windows优化指南:3分钟用Win11Debloat释放系统性能
终极Windows优化指南:3分钟用Win11Debloat释放系统性能 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter and c…...
从零到一:在Rocky Linux 9.6上源码编译部署MySQL 8.0全记录
1. 环境准备:打造坚实的编译基础 在Rocky Linux 9.6上源码编译MySQL 8.0,就像盖房子需要打好地基。我遇到过不少新手直接开干,结果被各种依赖问题卡住。咱们先花10分钟把基础环境收拾妥当,后面能省下几小时的排错时间。 首先确保你…...
Python FastAPI 路由性能分析
Python FastAPI 路由性能分析 随着现代Web应用对高并发和低延迟的需求日益增长,Python FastAPI凭借其异步特性和高性能表现成为开发者的热门选择。路由作为FastAPI的核心组件之一,其性能直接影响整体应用的响应速度与吞吐量。本文将从多个角度深入分析F…...
Cairo vs. OpenCV:C++图形绘制库选型指南与性能对比
Cairo vs. OpenCV:C图形绘制库选型指南与性能对比 在C生态系统中,图形绘制库的选择往往让开发者陷入两难。当项目需要实现从简单的2D图形到复杂的图像处理时,Cairo和OpenCV这两个重量级选手常常出现在候选名单中。但它们的核心设计哲学和适用…...
破局起点:35岁危机的本质解构
在软件测试领域,35岁危机并非年龄的诅咒,而是能力模型与行业需求的结构性错位。当自动化工具覆盖80%基础用例、AI生成脚本效率超越人工时,危机核心显现为三重矛盾:技术断层危机:手工测试经验与云原生/AI测试需求脱节&a…...
为什么Alfred Workflows能极大提升你的工作效率?7个真实案例分享
为什么Alfred Workflows能极大提升你的工作效率?7个真实案例分享 【免费下载链接】alfred-workflows Collection of Alfred workflows 项目地址: https://gitcode.com/gh_mirrors/alfr/alfred-workflows Alfred Workflows是一款强大的效率工具集合࿰…...
如何确保多个 Goroutine 的结果按启动顺序收集并输出
本文详解如何在 go 中并发执行多个 goroutine,并严格按原始调用顺序收集和输出结果——核心在于为每个 goroutine 分配独立的返回通道,而非共用单个无序通道。 本文详解如何在 go 中并发执行多个 goroutine,并严格按原始调用顺序收集和输…...
