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

铠甲网络面试(部分)

  • 如何用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的底层原理主要有三个方面:

  1. epoll使用一个红黑树来管理所有的fd,每个fd对应一个epoll_event结构体,存储了fd的信息和事件类型。
  2. epoll使用一个双向链表来存储就绪的fd,每次调用epoll_wait时,只需要遍历这个链表,而不需要像select那样遍历所有的fd。
  3. 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的关键函数有:
epoll_create():创建一个epoll对象,返回一个fd。
epoll_ctl():向epoll对象中添加、修改或删除要监听的fd和事件类型。
epoll_wait():等待epoll对象中的fd发生事件,返回就绪的fd和事件类型。

  • TCP如何实现流量控制?相关知识from bing: 发送窗口的大小取决于接收方窗口和拥塞窗口的最小值。接收端通过TCP首部的通告窗口字段来向发送端通告接收窗口。Q:发送方超时重传后,有没有可能导致接收方重复接收数据

  • JDK从哪个版本开始使用G1作为默认垃圾回收器的?A:JDK9


  1. Mysql索引失效的场景 ↩︎

  2. or为什么会导致索引失效 ↩︎

  3. Stackoverflow : MySQL: how to index an “OR” clause ↩︎

  4. https://dev.mysql.com/doc/refman/8.0/en/index-merge-optimization.html ↩︎

  5. 为什么where条件中使用or索引不起作用? ↩︎

  6. 知乎----深入理解 Linux 的 epoll 机制及epoll原理 ↩︎

http://www.lryc.cn/news/108050.html

相关文章:

  • elasticsearch 将时间类型为时间戳保存格式的时间字段格式化返回
  • 淘宝商品列表怎么通过接口形式导出?
  • TWS真无线蓝牙耳机哪家好?六款口碑好的TWS真无线蓝牙耳机分享
  • 解决Win11右键菜单问题
  • 开源元数据管理平台Datahub最新版本0.10.5——安装部署手册(附离线安装包)
  • 归并排序——“数据结构与算法”
  • C语言笔试题训练【第一天】
  • 计算语言模型计算每秒钟生成的token数量it/s
  • Clickhouse调研
  • 02.Redis实现添加缓存功能
  • 【1.2】Java微服务:SpringCloud概论
  • 右键文件夹 ------- 打开 vscode的方法
  • 小程序原生实现左右锚点联动
  • STM32 低功耗-睡眠模式
  • IDEA用Gradle构建项目时,lombok插件无效的解决办法
  • 基于方向编码的模板匹配算法matlab仿真
  • shell centos 7 一键部署 KVM软件脚本
  • 64 # 实现一个 http-server
  • HCIP作业3
  • 【测试学习三】软件测试的生命周期 BUG的相关知识
  • git rebase 的坑儿
  • SSM(Vue3+ElementPlus+Axios+SSM前后端分离)【四】
  • iPhone 8 Plus透明屏应用范围详解
  • 【前端面试手撕题】instanceof、Array.map、Array.filter、Array.reduce、_objectCreate
  • 8.物联网操作系统之事件标志组
  • [腾讯云Cloud Studio实战训练营]无门槛使用GPT+Cloud Studio辅助编程完成Excel自动工资结算
  • 局域网ssh登录windows自带Linux系统(WSL)踩坑记录
  • 2023-02-03——2023-08-03,半年以来与客服交流的记录【CSND 文章撰写 网站使用求解】客服咨询交流记录(长期更新ing)
  • DCL 操作
  • C++11移动构造函数详解