2024年Linux最全运维面试常见问题_运维面试题

一.Redis的常见问题

redis面试简单总结:
1.Redis主要是用于做缓存,数据的持久化的作用,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
2.Redis不仅仅支持key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
3.Redis支持数据的备份,即master-slave模式的数据备份。
4.性能极高 读写速度非常快– Redis能读的速度是110000次/s,写的速度是81000次/s

Redis一般应用在:
1、热点数据的缓存。
2、限时业务的运用,利用这一特性可以运用在限时的优惠活动信息、手机验证码等业务场景。
3、计数器相关问题,所以可以运用于高并发的秒杀活动、分布式序列号的生成。
4、排行榜相关问题,进行热点数据的排序。

Redis的缺点
1.缓存和数据库双写一致性问题
2.缓存雪崩问题(小企业一般不会遇见)
3.缓存击穿问题
4.缓存的并发竞争问题
Redis为什么是单线程的
因为CPU不是redis的瓶颈,redis的瓶颈最有可能是机器内存或网络带宽,而且单线程容易实现,所以就采用单线程。

Redis和数据库双写一致性问题
采取正确更新策略,强调一致性要求的数据时,一定不能放缓存。
必须先更新数据库,再删缓存。
新增,更改,删除数据库操作时同步更新redis,可以使用事务机制来保证数据的一致性
其次,因为可能存在删除缓存失败的问题,提供一个补偿措施即可,例如利用消息队列。

什么是缓存穿透,怎么解决
缓存穿透:指查询一个一定不存在的数据,由于缓存是不命中时需要从数据库查询,查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到数据库查询,造成缓存穿透。
解决方案:最简单粗暴的方式,如果一个查询返回的数据为空(不管数据存不存在还是系统故障),我们就把这个空的结果进行缓存,但它的过期时间会很短,最长不超过5分钟

Redis持久化策略
redis的数据都保存在内存中,如果断电或宕机,则内存数据将擦除,导致数据丢失。
1.RDB模式
特点:
是redis中默认的持久化策略
定期持久化,保存的是redis中的内存数据快照,持久化文件占用空间较小
可能导致内存数据丢失
命令:
前提:需要在redis的客户端中执行
save命令,立即持久化,会导致其他操作陷入阻塞
bgsave命令,开启后台运行,以异步的方式进行持久化,不会造成其他操作的阻塞
2.AOF模式
特点:
1.默认关闭,如果需要开启则需要修改配置文件
2.可以实现数据的实时持久化,记录的是用户的操作过程
3.只要开启了AOF模式,则持久化方式以AOF为主
总结:
1.如果用户允许少量数据丢失,则可选择RDB模式,效率更高
2.如果不允许数据丢失,则选用AOF模式
3.可以两种方式都选,需要搭建主从结构,主机选RDB,从机选AOF,可以保证业务允许

Redis常见的性能问题有哪些?该如何解决?
1.主服务器写内存快照,会阻塞主线程的工作,当快照较大时对性能影响是非常大的,会间断性暂停服务,所有主服务器最好不要写内存快照。
2.redis主从赋值的性能问题,为了主从复制的速度和连接的稳定性,主从库最好在同一个局域网内。
Reids集群哨兵模式的特性?
监控:每个哨兵会不断监控master和slave是否在正常工作
提醒:如果哨兵监控的redis出了问题,哨兵可以通知管理员和其它应用程序
故障转移:如果master未按预期工作,哨兵可以选举出新的master继续工作
配置程序:客户端需要先连接哨兵,哨兵会告知客户当前master节点的地址

二.Tomcat的常见问题

Tomcat部署
1)直接把Web项目放在webapps下,Tomcat会自动将其部署
2)在server.xml文件上配置节点,设置相关的属性即可
3)通过Catalina来进行配置:进入到conf\Catalina\localhost文件下,创建一个xml文件,该文件的名字就是站点的名字。
编写XML的方式来进行设置。

Tomcat工作模式?
Tomcat是一个JSP/Servlet容器。其作为Servlet容器,有三种工作模式:独立的Servlet容器、进程内的Servlet容器和进程外的Servlet容器。
进入Tomcat的请求可以根据Tomcat的工作模式分为如下两类:
Tomcat作为应用程序服务器:请求来自于前端的web服务器,这可能是Apache, IIS, Nginx等;
Tomcat作为独立服务器:请求来自于web浏览器;

Tomcat容器是如何创建servlet类实例?用到了什么原理?
当容器启动时,会读取在webapps目录下所有的web应用中的web.xml文件,然后对xml文件进行解析,并读取servlet注册信息。
然后,将每个应用中注册的servlet类都进行加载,并通过反射的方式实例化。(
有时候也是在第一次请求时实例化)在servlet注册时加上如果为正数,则在一开始就实例化,如果不写或为负数,则第一次请求实例化

Tomcat的优化方法
内存优化:JAVA_OPTS=’-Xms=256m -Xmx=1024m -Xmn=512m’
并发优化:maxProcessors=2000,最大处理线程数maxSpareThreads=2000,tomcat连接器的最大空闲socket线程数
缓存优化:compressionMinSize=2048,启动压缩的输出内容大小,默认2048

Nginx常见问题

为什么要用Nginx?
跨平台、配置简单、反向代理、高并发连接:处理2-3万并发连接数,官方监测能支持5万并发,内存消耗小:开启10个nginx才占150M内存 ,nginx处理静态文件好,耗费内存少,
而且Nginx内置的健康检查功能:如果有一个服务器宕机,会做一个健康检查,再发送的请求就不会发送到宕机的服务器了。重新将请求提交到其他的节点上。
使用Nginx的话还能:
节省宽带:支持GZIP压缩,可以添加浏览器本地缓存
稳定性高:宕机的概率非常小
接收用户请求是异步的

Nginx应用场景
http服务器。Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。
虚拟主机。可以实现在一台服务器虚拟出多个网站,例如个人网站使用的虚拟机。
反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会应为某台服务器负载高宕机而某台服务器闲置的情况。
nginz 中也可以配置安全管理、比如可以使用Nginx搭建API接口网关,对每个接口服务进行拦截。

Nginx代理负载均衡的调度算法有哪些?具体实现时的现象是什么?
1.轮询(默认):每个请求按时间顺序逐一分配到不同的后端,如果后台某台服务器宕机,自动剔除故障系统,使用户访问不受影响,这种方式简便,成本低,但是可靠性低,负载均衡不均衡,适用于图片服务器集群和纯静态页面服务器集群。

最全的Linux教程,Linux从入门到精通

======================

  1. linux从入门到精通(第2版)

  2. Linux系统移植

  3. Linux驱动开发入门与实战

  4. LINUX 系统移植 第2版

  5. Linux开源网络全栈详解 从DPDK到OpenFlow

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

第一份《Linux从入门到精通》466页

====================

内容简介

====

本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。

需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 18
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值