为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪offer怀里抱!
这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。
本份面试集锦涵盖了
- 174 道运维工程师面试题
- 128道k8s面试题
- 108道shell脚本面试题
- 200道Linux面试题
- 51道docker面试题
- 35道Jenkis面试题
- 78道MongoDB面试题
- 17道ansible面试题
- 60道dubbo面试题
- 53道kafka面试
- 18道mysql面试题
- 40道nginx面试题
- 77道redis面试题
- 28道zookeeper
总计 1000+ 道面试题, 内容 又全含金量又高
- 174道运维工程师面试题
1、什么是运维?
2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?
3、现在给你三百台服务器,你怎么对他们进行管理?
4、简述raid0 raid1raid5二种工作模式的工作原理及特点
5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?
6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?
7、Tomcat和Resin有什么区别,工作中你怎么选择?
8、什么是中间件?什么是jdk?
9、讲述一下Tomcat8005、8009、8080三个端口的含义?
10、什么叫CDN?
11、什么叫网站灰度发布?
12、简述DNS进行域名解析的过程?
13、RabbitMQ是什么东西?
14、讲一下Keepalived的工作原理?
15、讲述一下LVS三种模式的工作过程?
16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?
17、如何重置mysql root密码?
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
# 创建安装目录
mkdir -p /usr/local/redis
# 执行安装命令
make PREFIX=/usr/local/redis/ install
进入安装的bin目录可以看到以下文件:
文件说明:
redis-server
:启动Redis
redis-cli
: redis命令行客户端
redis-benchmark
:基准测试工具
redis-check-aof
: AOF持久化文件检测和修复工具
redis-check-rdb
: RDB 持久化文件检测和修复工具
redis-sentinel
:启动redis Sentinel
redis.conf
:redis 配置文件
dump.rdb
:Redis服务器自动生成的,内存快照,持久化机制叫做SNAPSHOT,服务器宕机,重新启动redis服务器程序时redis会自动加载 dump.rdb,将数据库状态恢复到上一次做SNAPSHOT时的状态
启动
如果没有在系统环境变量配置redis,需要进入bin目录启动
前端启动,窗口关闭后,redis也关闭。
./redis-server
可以看到Redis对应的版本号,启动的模式是单体,默认端口号为6379。
这种方式启动执行 ctrl + C即可退出。
进入Redis解压目录,复制对应的配置文件到bin目录。
cd /usr/local/src/redis-6.2.4
cp redis.conf /usr/local/redis/bin/
回到bin目录,编辑对应的配置文件:
cd /usr/local/redis/bin/
vim redis.conf
把daemonize
参数值设置成yes
。重新执行如下命令启动:
./redis-server ./redis.conf
查看Redis进程:
ps -ef | grep redis
# 停止对应的Redis进程
kill -9 6207
配置开机自启动(centos7以上):
- 在系统服务目录里创建redis.service文件
vim /etc/systemd/system/redis.service
写入以下内容:
[Unit]
Description=redis-server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
重载系统服务:
systemctl daemon-reload
- 测试并加入开机自启动
关闭redis-server:
systemctl stop redis.service
开启redis-server:
systemctl start redis.service
重启redis-server:
systemctl restart redis.service
查看redis-server状态:
systemctl status redis.service
开启成功,将服务加入开机自启
systemctl enable redis.service
通过本地客户端访问redis
上述redis安装启动后,我们发现本地客户端无法访问到服务器的Redis,通过配置redis.conf文件,把bind参数设置成 0.0.0.0,允许所有IP连接,测试使用,生产不要这么配置,风险较大⚠️。
# 指定允许访问的ip
bind 0.0.0.0
同时关闭防火墙:
# 关闭防火墙
systemctl stop firewalld
# 查看防火墙状态
systemctl status firewalld
客户端连接访问:
Redis关键版本特性
Redis2.6(2012)
- 服务端支持Lua脚本。
- 去掉虚拟内存相关功能。
- 放开对客户端连接数的硬编码限制。
- 键的过期时间支持毫秒。
- 从节点支持只读功能。
- 两个新的位图命令:bitcount和bitop。
- 增强了redis-benchmark的功能:支持定制化的压测,CSV输出等功能。
- 基于浮点数自增命令:incrbyfloat和hincrbyfloat。
- redis-cli可以使用–eval参数实现Lua脚本执行。
- shutdown命令增强。
- 重构了大量的核心代码,所有集群相关的代码都去掉了,cluster功能将会是3.0版本最大的亮点。
- info可以按照section输出,并且添加了一些统计项
- sort命令优化
Redis2.8(2013-11-23)
- 添加部分主从复制的功能,在一定程度上降低了由于网络问题,造成频繁全量复制生成RDB对系统造成的压力。
- 尝试性的支持IPv6.
- 可以通过config set命令设置maxclients。
- 可以用bind命令绑定多个IP地址。
- Redis设置了明显的进程名,方便使用ps命令查看系统进程。
- config rewrite命令可以将config set持久化到Redis配置文件中。
- 发布订阅添加了pubsub。
- Redis Sentinel第二版,相比于Redis2.6的Redis Sentinel,此版本已经变成生产可用。
Redis3.0(2015-04-01里程碑)
- Redis Cluster:Redis的官方分布式实现。
- 全新的embedded string对象编码结果,优化小对象内存访问,在特定的工作负载下载速度大幅 提升。
- Iru算法大幅提升。
- migrate连接缓存,大幅提升键迁移的速度。
- migrate命令两个新的参数copy和replace。
- 新的client pause命令,在指定时间内停止处理客户端请求。
- bitcount命令性能提升。
- cinfig set设置maxmemory时候可以设置不同的单位(之前只能是字节)。
- Redis日志小做调整:日志中会反应当前实例的角色(master或者slave)。
- incr命令性能提升。
Redis3.2(2016-05-06)
- 添加GEO相关功能。
- SDS在速度和节省空间上都做了优化。
- 支持用upstart或者systemd管理Redis进程。
- 新的List编码类型:quicklist。
- 从节点读取过期数据保证一致性。
- 添加了hstrlen命令。
- 增强了debug命令,支持了更多的参数。
- Lua脚本功能增强。
- 添加了Lua Debugger。
- config set 支持更多的配置参数。
- 优化了Redis崩溃后的相关报告。
- 新的RDB格式,但是仍然兼容旧的RDB。
- 加速RDB的加载速度。
- spop命令支持个数参数。
- cluster nodes命令得到加速。
- Jemalloc更新到4.0.3版本。
Redis4.0(2017-07-15 大改版)
- 提供了模块系统,方便第三方开发者拓展Redis的功能。
- PSYNC2.0:优化了之前版本中,主从节点切换必然引起全量复制的问题。
- 提供了新的缓存剔除算法:LFU(Last Frequently Used),并对已有算法进行了优化。
- 提供了非阻塞del和flushall/flushdb功能,有效解决删除了bigkey可能造成的Redis阻塞。
- 提供了memory命令,实现对内存更为全面的监控统计。
- 提供了交互数据库功能,实现Redis内部数据库的数据置换。
- 提供了RDB-AOF混合持久化格式,充分利用了AOF和RDB各自优势。
- Redis Cluster 兼容NAT和Docker。
最全的Linux教程,Linux从入门到精通
======================
-
linux从入门到精通(第2版)
-
Linux系统移植
-
Linux驱动开发入门与实战
-
LINUX 系统移植 第2版
-
Linux开源网络全栈详解 从DPDK到OpenFlow
第一份《Linux从入门到精通》466页
====================
内容简介
====
本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。
本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。
需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
)
本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。
需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!