一、简单型
1.你平时在公司主要做什么?
日常监控维护业务,服务器巡检,调优,写一些日常使用的脚本,日常工作形成文档化;服务优化:nginx优化,tomcat优化,系统内核优化。
2.你们原来公司的网站架构是怎么样的?
搭建LNMP架构,Nginx集群做反向代理与负载均衡;MyCAT做读写分离,数据库采用一主两从,搭配MHA实现数据库高可用。
3.你对哪一块比较熟练或者精通?
企业自动化交付CICD、缓存中间件memcached/redis/squid、LVS+Keepalived负载均衡集群、Docker/K8s容器、MySQL运维优化。
4.介绍一下负载均衡?
生产用过LVS、Nginx、阿里云SLB。
- Nginx:7层负载均衡,适合HTTP应用层分流;
- LVS:4层负载均衡,抗并发强、本身不消耗流量,适合超大流量场景。
5.lvs内部原理?
LVS依托内核ipvs模块实现,工作在netfilter的INPUT链;常用DR模式,通过修改二层MAC地址转发请求,RS直接回包,不经过调度器。
6.nginx lvs haproxy 三个有什么区别
- LVS:四层、性能极强、不处理应用层,适合超大PV,无健康检查、不支持cookie会话;
- Nginx:七层,擅长http/https,配置简单、自带健康检查、支持cookie、动静分离,适合中小规模;
- HAProxy:支持4/7层,支持TCP(可做mysql读负载),支持cookie会话、url健康检测,性能优于Nginx。
7.lvs主要3种工作模式原理
1)NAT模式:请求和回包都经过LVS,修改目的IP转发;优点RS可私网,缺点调度器易瓶颈;
2)TUN隧道模式:封装IP包转发,RS直接回包;可跨网段/跨机房,RS需支持IP隧道;
3)DR直接路由(最常用):仅修改二层MAC转发,RS和LVS同网段,RS直接回包,性能最高。
8.lvs工作原理,算法,工作模式?
原理:内核ipvs,VIP接收请求,按调度算法转发给后端RS;
静态算法:rr轮询、wrr加权轮询、sh源hash、dh目标hash;
动态算法:lc最少连接、wlc加权最少连接、lblc、lblcr;
3种工作模式:DR、NAT、TUN。
9.mysql用的哪个版本,你们的数据库怎么备份,什么时间备份,备份数据量多大
MySQL5.7;逻辑备份mysqldump,业务量大后改用xtrabackup热备;凌晨低峰期全备,数据量约500G。
10.memcached工作原理(内存管理机制)
K-V内存缓存,预分配内存、LRU淘汰;无持久化,重启数据丢失;采用Slab Allocation内存管理,减少内存碎片。
11.nginx状态码499是什么意思
后端服务处理超时,客户端主动断开连接。
12.nginx状态码 502 错误可能的原因有哪些?
后端服务宕机、php-fpm进程耗尽、后端程序卡死、代理超时、后端端口不通。
13.状态码200,500 502 304 ,分别表示什么意思
200:请求成功;
500:服务内部程序异常;
502:网关错误,后端无响应;
304:资源未修改,使用本地缓存。
14.维护网站过程中遇到的问题,处理过什么故障?(状态码:413、 504的意思)
- 413 Request Entity Too Large:上传文件超过nginx client_max_body_size,调大该参数;
- 504 Gateway Timeout:后端长时间未返回,调大proxy_read_timeout。
15.FTP主动和被动的区别(指的是服务器端的主动和被动)?
- 主动PORT:服务器20端口主动连客户端高位端口;内网客户、防火墙容易拦截;
- 被动PASV:服务器开放高位端口等待客户端连接,适合内网/防火墙环境。
16.apache两种工作模式区别及优化?
prefork:多进程,稳定,适合PHP,并发弱;
worker:多进程+多线程,并发更高;
event:worker升级版,长连接复用线程,性能更好;
优化:调大MaxClients、关闭HostnameLookups、合理调整KeepAlive。
17.mysql主从原理?如果主库不同步报错了怎么恢复?
原理:主库binlog记录变更;从库IO线程拉取binlog写入relay log,SQL线程回放SQL。
同步异常:先看报错;冲突类可临时跳过错误;数据不一致则主库锁表备份,重新导入从库,重置同步点位。
18.如何备份大数据mysql数据文件,mysql都优化哪些?
大数据用xtrabackup物理热备,不锁InnoDB;
优化:硬件、内核参数、InnoDB缓冲池、连接数、慢查询、索引优化、架构主从读写分离、SQL优化。
19.你在上家公司用的什么监控软件(zabbix)?都监控些什么?怎么增加模板?
Zabbix+Grafana可视化;
系统:CPU/内存/磁盘IO/流量/连接数;应用:进程、MySQL主从、Tomcat;
添加模板:导入模板文件,主机链接模板,配置监控项/触发器/告警媒介(微信/邮件)。
20.nagios,cacti维护过吗,平时都监控什么?
Nagios侧重状态告警、Cacti侧重流量绘图;监控服务器资源、业务端口、数据库主从、连接数。
21.一台web服务器应该监控哪些指标
服务端口存活、CPU、内存、磁盘使用率、磁盘IO、TCP连接数、带宽、错误状态码。
22.zabbix监控数据库监控哪些参数
MySQL进程存活、主从同步状态、连接数、慢查询、缓冲池命中率、QPS、锁等待。
23.zabbix有哪些监控项
模板自带监控项 + 自定义脚本监控项。
24.监控一台服务器时,你觉得应该监控服务器的哪些资源
系统资源:CPU、内存、磁盘空间、磁盘IO、网络流量、TCP连接;
应用资源:进程、端口、业务健康状态。
25.你们监控的时候日志平台会监控吗?
监控日志平台本身服务器资源;业务日志采集分析使用ELK/EFK。
26.你们会监控数据库的性能吗,会定标准码?有实际遇到过吗,如何解决?
Zabbix监控MySQL性能指标,设置阈值告警;遇到慢查询多、主从延迟,开启慢日志、优化SQL、调整主从参数、读写分离。
27.写shell脚本监控mysql主从的思路
登录MySQL执行show slave status,判断Slave_IO_Running、Slave_SQL_Running是否同时为Yes,异常触发告警。
28.写shell脚本监控所有IP是否存活的思路
IP列表放入文件,for循环遍历,ping检测,区分在线/离线,异常告警。
29.公司出口带宽?每天网站pv? uv?
出口100M;PV约100万,UV约5万。
30.你们公司的网站出口带宽是多少?网站访问量是多少?是怎么计算的?
出口100M,日PV100万,UV2万;PV统计nginx日志请求数,UV统计独立IP。
31.你们公司是什么架构?都有哪些网上业务?详细说一下?
前端SLB负载均衡,后端多台Tomcat应用;Redis缓存热点数据;MySQL一主两从+MyCAT读写分离;业务为车载监控、电子印章系统。
32.你们公司备份策略是什么?数据量多大?备份周期?备份工具?备份方式?是否做数据恢复备份演练?
MySQL:mysqldump/xtrabackup,每日全备,binlog保留7天;异地灾备,定期做恢复演练;数据量500G。
33.你在工作中是怎么做日志分析的?例如:访问日志、错误日志等
使用ELK/EFK采集nginx、tomcat、系统日志;Kibana可视化,按状态码、IP、接口分析;定期日志切割归档。
34.你们公司日志多久清理一次?
自动清理30天前的日志。
35.你们公司运维部门有多少人?多少服务器?基本优化项目?
运维1人;生产+测试合计20台;系统内核优化、服务参数调优、日志切割、安全加固。
36.你在上家公司针对防攻击、扩容、容灾等问题是怎么制定和优化解决方案的?
防攻击:脚本拉黑高频异常IP、nginx限制单IP并发、安全组收紧端口;
扩容:新增应用节点、加入负载均衡,灰度上线;
容灾:异地备份、数据库主从/MHA故障自动切换。
37.你们公司如何自动化代码上线?
GitLab+Jenkins+Ansible;开发提交代码,Jenkins编译打包,灰度发布到应用服务器。
38.你们公司都有哪些应用集群?
Tomcat应用集群、Redis集群。
39.你们公司用的是物理服务器还是云服务?
阿里云ECS为主,少量物理机做测试。
40.你们公司安全方面怎么做的?监控体系结构是怎样的?
安全:外网仅Nginx暴露,内网业务互通;SSH密钥登录、修改SSH端口、Jumpserver跳板机、安全组/防火墙最小端口;
监控:Zabbix采集指标,Grafana展示,异常微信/邮件告警。
41.如何查看Linux系统当前的状态,cpu内存的使用情况及负载
top、free -h、uptime、vmstat。
42.写出你所了解的门户网站的服务架构,可用什么方式实现的高可用、负载均衡?
架构:LVS+Keepalived / Nginx+Keepalived;Nginx静态资源,Tomcat动态服务;高可用依靠Keepalived VRRP。
43.nginx日志的路径为/opt/logs/access.logs,假设日志不能自动分割,写脚本让日志每天能够定时自动分割
#!/bin/bash
LOG=/opt/logs/access.logs
cp $LOG /opt/logs/$(date +%Y%m%d).access.logs
> $LOG
配合crontab每日凌晨执行。
44.写一个脚本,查找15天前以png结尾的文件并删除
#!/bin/bash
find /picture -type f -name "*.png" -mtime +15 -exec rm {} \;
45.你们为什么使用redis?
业务高并发场景,减轻MySQL压力;相比Memcached,支持多数据结构、RDB/AOF持久化、集群,适合缓存、计数器、分布式锁。
46.redis有哪些数据类型
String、Hash、List、Set、Sorted Set;扩展:BloomFilter等。
47.redis是怎么做持久化的?
RDB(快照,全量)+AOF(增量指令日志);重启优先加载AOF;RDB适合冷备,AOF降低丢数据风险。
48.redis集群你们怎么做的?
三种方案:主从+哨兵(Sentinel)、Codis代理、Redis Cluster官方集群(16384哈希槽,去中心化,3主3从),线上使用Redis Cluster。
- redis有哪些应用场景
热点数据缓存、分布式锁、计数器/点赞、排行榜、会话Session缓存、限流。
50.一个字符串类型的值能存储的最大容量是多少?
512MB。
51.linux日常命令操作
ls、pwd、chown、find、iftop、top、ps、atop、sed、awk、grep。
52.日常工作服务搭建
Nginx、NFS、FTP、Apache、Nginx动静分离、Nginx+Keepalived、LVS+Keepalived、MySQL主从/MHA、Tomcat、Zabbix、Redis、Docker、K8s。
53.shell编程常用哪些脚本
MySQL自动备份、日志切割、LNMP一键部署、故障自愈、批量巡检、自动化发布、批量建站。
54.写出Linux实时查看日志变化的命令?
tail -f xxx.log
55.写出Linux输出查找到某一个服务(如Java相关的服务),是否运行的命令
ps -ef | grep tomcat
56.自动化部署,自动化运维熟悉哪些?
Jenkins、GitLab、Ansible、SaltStack。
57.简单列出如何做容灾与恢复,保证数据安全?
定时全量+binlog增量备份、异地存储备份、主从高可用、定期恢复演练、权限最小化、防火墙加固。
58.公司是什么样的环境,Java的还是PHP
Java、PHP业务都有。
59.做过集群,MySQL主从之类的吗?
做过,一主两从,MyCAT读写分离,MHA自动故障切换。
60.源码用的是git还是SVN?
业务代码Git;文档资料SVN。
61.你们公司做什么业务,有多少服务器,并发多少,怎么分工的,你负责多少服务器
车载监控、电子印章;生产+测试共20台;日PV200万UV3万;单人全权负责运维。
62.工作中部署的mysql主从架构,mysql全备的数据量有多少?
500G以内。
63.TCP/IP三次握手和四次挥手原理
三次握手:SYN→SYN+ACK→ACK,确认双方收发能力;
四次挥手:FIN、ACK、FIN、ACK;TCP全双工,两个方向独立关闭。
64.squid缓存服务器维护过吗?squid缓存代理的原理是什么?缓存命中率怎么查看及清空缓存?
Squid正向web缓存,接收请求,本地命中直接返回,未命中回源并缓存;
查看命中率:squidclient -p 3128 mgr:info
清空指定缓存:squidclient -p 3128 -m PURGE 域名
65.mysql sleep线程过多如何解决?
原因:长连接、程序不主动关闭连接、慢SQL;
优化:调小wait_timeout/interactive_timeout,程序及时释放连接,优化慢SQL。
66.写shell脚本防范ddos攻击的思路
实时分析Nginx/Netstat日志,识别高频异常IP;iptables拉黑,设置过期时间;配合Nginx限制单IP并发。
67.你在工作中都遇到过哪些故障?怎么解决的?日常工作中处理频率最多的是哪方面问题?怎么高效解决的?
常见故障:Tomcat OOM、MySQL主从延迟、网站访问慢、CC攻击;
处理思路:先看监控、看错误日志;慢查询优化、JVM调优、增加节点、脚本自愈;标准化故障处理文档,减少重复排查。
68.tomcat多实例怎么配置?
同一机器部署多套Tomcat,修改conf内shutdown、http、ajp三个端口,不同数据目录,独立启动脚本。
69.请说出这些符号的含义< << >> > 2> 2>> 2>&1 &&
< 标准输入;<< HereDoc;> 覆盖输出;>>追加输出;2>标准错误覆盖;2>>标准错误追加;2>&1 标准错误重定向到标准输出;&& 前面执行成功才执行后面。
70.http协议通信原理
DNS解析域名→TCP三次握手→HTTP请求报文→服务端返回响应→浏览器渲染→断开TCP连接。
71.你们的数据量多大,平时怎么备份的
约500G;mysqldump逻辑备份,大数据改用xtrabackup物理热备。
72.日志分析怎么做的,都关注哪些参数
EFK采集;关注状态码、IP、接口耗时、请求量、错误占比。
73.MySQL你都负责维护哪些内容
账号权限、备份恢复、慢查询分析、参数调优、主从/高可用维护、SQL优化建议。
74.shell熟悉吗,写过哪些shell脚本
熟悉;MySQL备份、日志切割、故障自愈、环境一键部署、批量巡检、发布脚本。
75.docker在公司的应用是啥
打包Java微服务,docker-compose单机编排,后续迁移K8s。
76.在工作中遇到过什么棘手的问题,怎么解决的,学到了啥
Tomcat内存溢出;临时写脚本自动重启自愈;长期抓dump堆文件、JVM调优、扩容节点、推动开发优化代码;学到故障分层处理、临时止血+根治。
77.你最熟悉的项目是哪个,什么时间做的,做了多久,几个人,你主要在项目当中负责啥
GitLab+Jenkins自动化发布项目;单人持续迭代,负责流水线编写、自动打包、灰度发布、脚本优化。
78.有没有做过数据库升级,怎么做的
测试环境先验证,全量备份;生产低峰升级;Docker库升级:先备份数据卷,替换镜像启动,校验数据。
79.mysql用的哪个版本,nginx哪个版本
MySQL5.7.29、Nginx1.16.1
80.如果网站出现500错误,你的解决思路是?
查看应用错误日志;检查SQL、代码异常;数据库连通性、账号密码、锁表、慢查询。
81.读写分离用的什么工具,原理是啥
MyCAT;拦截SQL,按规则路由:写语句下发主库,读语句分发从库,结果合并返回。
82.mysql主从原理是啥
主库binlog记录变更;主库Dump线程推送binlog;从库IO线程拉取写入relay log;SQL线程回放中继日志,实现数据同步。
83.DNS原理是啥
浏览器查hosts→本地DNS缓存→本地DNS服务器→根DNS→顶级域DNS→权威DNS,逐级迭代,最终返回IP。
84.当前数据库服务处理速度慢,你认为可能是什么原因导致的,并阐述一下对应的解决办法
硬件瓶颈(IO/内存)、无索引/烂SQL、锁等待、主从压力集中、未做缓存;
方案:加索引、优化SQL、开启Redis缓存、读写分离、升级SSD、调整InnoDB参数。
85.说一下你知道的存储引擎,建表时如何决定表使用存储引擎
InnoDB:支持事务、行锁,业务表首选;MyISAM:表锁、无事务,适合静态只读、日志类表。
86.单张表过大有什么缺点,如何解决
缺点:索引大、查询慢、锁冲突概率高;
方案:分区、分表、分库,超大业务考虑HBase。
87.给你50台服务器,阐述一下你的拓扑结构如何设计
前端负载均衡5台;应用Tomcat10台;Redis集群6台;Kafka6台;MyCAT代理3台;DB数据库10台;NFS存储2台;ELK日志3台;监控2台;GitLab1台;CICD1台。
88.如果你是数据库管理员,阐述一下你如何给服务器添加授权用户
最小权限原则,限制访问网段,只分配业务必需权限,禁止root远程。
示例:grant select,insert on bbs.* to app@’172.16.10.%’ identified by ‘xxx’;
89.若你是数据库管理员,阐述一下你如何对数据做备份
小库mysqldump+–single-transaction;大库xtrabackup热备;定时全备+binlog增量,异地留存,定期演练恢复。
90.目前常见的数据库软件有哪些,搭建数据库集群的时候,你如何选择使用哪种软件
MySQL、PostgreSQL、MongoDB、Redis;MySQL高可用:中小规模MHA,企业级MGR。
91.配置mysql主从同步前,如何保证主库与从库的数据一致
主库锁表/一致性备份,导出数据,导入从库;记录master status的binlog文件和pos点位,配置change master。
92如何获知一台主机上的网站服务是否在运行
ps -ef | grep 进程名;netstat -tulnp | grep 端口。
93.如何让系统的普通用户拥有root权限,什么情况下需要这么做
visudo,添加授权;仅运维自动化脚本、特定管理操作,遵循最小权限,尽量不用ALL权限。
示例:www ALL=(ALL) NOPASSWD: /usr/bin/nginx
94.杀死进程的命令有哪些?
kill、killall、pkill;kill -9 强制终止。
95.ELK分别表示什么?
E=Elasticsearch、L=Logstash、K=Kibana
96.elasticsearch的特点是什么
分布式全文检索引擎,JSON文档存储,水平扩容,近实时检索,高可用。
97.kibana的特点和作用是什么
Web可视化平台,查询ES索引、绘制报表、告警,展示日志与指标。
98.logstash的特点和作用是什么
日志采集过滤管道,输入→过滤→输出,支持多数据源,可清洗格式化日志。
99.ELK能做什么?
集中日志采集、清洗、检索、可视化、日志告警。
100.ELK在你使用的过程中主要用来做什么?
收集Nginx/Tomcat/系统日志,Kibana可视化,排查故障、统计访问。
101.elasticsearch中的分片是什么?
分片是ES最小数据单元,索引拆分到多个分片,分布在集群节点,实现分布式存储与并行检索。
102.es的bulk一次最大的处理数据量是多少
无固定硬限制,受内存、文档大小影响;常规建议单次1000~5000条文档,大小控制在15M以内。
103.es的优化
SSD磁盘、合理分片数、内存给到ES(不超31G)、禁用swap、合理刷新间隔、路由优化、冷热分离。
104.nginx优化怎么做的
worker进程数等于CPU核数、epoll、gzip压缩、静态资源缓存、超时参数、隐藏版本、防盗链、限制单IP并发、SSL优化。
105.用ansible playbook编写过什么哪些
Playbook部署Nginx、Redis、MySQL、批量配置、日志切割、应用发布。
106.python你用过哪些模块
os、sys、json、re、subprocess、shutil、time/datetime、hashlib、logging。
107.用docker部署过哪些项目
Java微服务,docker-compose管理,打包环境,统一交付。
108.docker常用的基础命令写15个
docker pull、docker images、docker ps、docker ps -a、docker run、docker exec、docker logs、docker stop、docker start、docker rm、docker rmi、docker build、docker-compose up、docker inspect、docker stats
109.docker的网络模式有哪些?
bridge(默认桥接)、host、none、container(复用其他容器网络)
110.docker跟虚拟机有什么区别
虚拟机:Hypervisor模拟完整硬件,独立内核,资源预分配,体积大;
Docker容器:共享宿主机内核,隔离Namespace+Cgroups,轻量、秒级启动。
111.传统的上线流程是怎样的?
开发→测试环境验证→打包→灰度发布生产→观察监控,异常回滚;自动化使用GitLab+Jenkins+Ansible。
112.redis持久化你们用的哪种方式, 两种方式有什么区别
RDB+AOF同时开启;
RDB:定时快照,文件小、恢复快,可能丢最近数据;
AOF:记录每一条写指令,数据更安全,文件体积更大,可重写压缩。
113.redis集群你用的哪种方式,几台服务器
Redis Cluster官方集群,3主3从共6台。
114.keepalived是基于什么协议做的
VRRP虚拟路由冗余协议。
115.错误码301和302有什么区别
301永久重定向,搜索引擎更新索引;302临时跳转,索引保留原地址。
116.错误码502是什么情况,有什么解决方案
后端服务挂掉、进程耗尽、代理不通;重启后端、扩容、检查端口与防火墙、调优程序。
117.MySQL主从原理是什么?
主库binlog记录变更;主库Dump线程推送binlog;从库IO线程拉取写入relay log;SQL线程回放中继日志。
118.MySQL数据备份怎么实现的
小库mysqldump逻辑备份;大数据xtrabackup物理热备,binlog做时间点恢复。
119.备份的数据量有多大
500G。
120.gitlab更新到什么版本了
12.3(面试口述版,可按实际调整)
121.centos系统调优怎么做的
内核参数:tcp回收、端口范围、文件句柄、swap;资源限制ulimit;关闭无用服务、优化网卡队列。
122.DNS轮询的作用?
同一域名多条A记录,简单DNS层负载均衡,缺点无健康检查。
123.递归查询和迭代查询分别是什么意思?
递归:DNS服务器替客户端查到最终结果再返回;
迭代:DNS服务器返回下一级DNS地址,客户端继续查询。
124.在当前目录及子目录中,查找大写字母开头的txt文件
find . -type f -name “[A-Z]*.txt”
125.搜索最近七天内被访问过的所有文件
find /tmp -type f -atime -7
126.搜索超过七天被访问的文件
find /tmp -type f -atime +7
127.nginx与apache比有什么优点
轻量、内存占用低、异步非阻塞高并发、擅长静态资源、支持动静分离、自带负载均衡。
128.nginx是如何处理请求的
匹配server虚拟主机→匹配location→按规则代理/返回静态/执行rewrite。
129.nginx的正向代理和反向代理分别表示什么意思
正向代理:代理客户端上网;反向代理:代理后端服务,对外统一入口,负载均衡。
130.nginx 查看配置文件是否正确怎么查看
nginx -t
131.nginx重新加载配置文件的命令
nginx -s reload
132.fastcgi和cgi有什么区别
CGI:每次请求fork新进程,处理完销毁;
FastCGI:常驻进程池,复用进程,减少fork开销,性能更高。
133.nginx负载均衡的算法有哪些?
轮询、weight加权轮询、ip_hash、least_conn最少连接、url_hash等。
134.nginx使用中,session不同步怎么办?
ip_hash会话保持;或者统一把session存入Redis共享存储(推荐)。
135.nginx如何实现防盗链
valid_referers 校验Referer,非法来源返回403。
136.为什么要做动静分离?apache能做动静分离吗?nginx怎么做动静分离?
静态资源交给Nginx(高效),动态请求转给Tomcat/PHP,减轻应用压力;Apache可以做但不擅长;Nginx通过location匹配,静态root本地目录,动态proxy_pass转发后端。
137.mysql慢查询怎么设置
my.cnf开启slow_query_log,设置slow_query_log_file、long_query_time(如1秒)。
138.简述MySQL 的常见两种引擎的区别
MyISAM:表锁、无事务,读多写少;
InnoDB:行锁、事务、MVCC、外键,业务首选。
139.mysql主从一致性校验是怎么做的(重要)
pt-table-checksum工具校验主从数据,不一致用pt-table-sync修复;也可用mysqldiff。
140.truncate delete drop 的区别
delete:DML,逐行删,可回滚;
truncate:DDL,清空表、重置自增,不可回滚;
drop:DDL,直接删除表结构+数据。
141.你们公司的redis架构
Redis Cluster 3主3从,或者哨兵Sentinel一主多从。
142.shell脚本中$?的用途是做什么
获取上一条命令退出码,0成功,非0失败。
143.mysql不同步的处理方法
先看show slave status\G报错;网络/权限问题重授权、重置点位;数据冲突可临时跳过可忽略错误;数据差异大则重新全量备份重建同步。
144.如何修改Linux的最大文件句柄的限制
临时:ulimit -n 65535
永久:/etc/security/limits.conf 修改nofile
145.如何验证批量主机的在线情况?
for循环ping批量检测,或ansible/pssh批量探测。
146.说说你在工作中最自豪的一件事情
Tomcat频繁OOM,先脚本自愈保障业务不断;持续抓dump、JVM调优、扩容、推动代码优化,根治内存溢出问题。
147.说下你在工作中遇到的三个最棘手的事情
①MySQL主从大延迟;②Tomcat内存溢出;③网站CC攻击。
分别通过参数调优、JVM优化+扩容、IP拉黑+nginx限流解决。
148.你们的服务器在什么地方?
阿里云、华为云。
149.阿里云用过哪些产品
ECS、SLB、CDN、RDS、OSS、云监控、DNS。
150.SLB是基于几层的负载均衡
阿里云SLB支持4层和7层,常规TCP属于四层。
151.为什么要做日志切割
日志持续增长占用磁盘;超大日志不利于分析、传输、归档。
152.nginx有几种工作模式,都是哪几种
master-worker多进程模式(主流)、单进程模式。
153.tomcat的版本用的啥
8.5
154.redis在你们公司用来缓存什么数据
首页热点数据、商品信息、会话Session、计数器。
155.公司产品是什么,注册数有多少
车载监控系统、电子印章系统,各约10万用户。
156.你平时都有学习什么新的技术
Docker、K8s、Prometheus、EFK、Ceph、云原生。
157.你们公司的存储用的什么
NFS做文件共享存储。
158.nginx日志切割怎么做的
Shell脚本+crontab定时切割,或logrotate工具。
159.nginx做了哪些优化
worker核数、epoll、gzip、静态缓存、超时、隐藏版本、防盗链、限流、SSL优化。
160.刚装好的系统做了哪些优化
初始化脚本:关闭selinux/firewalld(按需)、内核参数、ulimit、yum源、安全加固、时间同步。
161.数据库查询很慢排查
开启慢查询,explain分析SQL,检查索引、锁、IO压力、是否走缓存。
162.mysql数据被误删除后,你尝试过使用哪些方法或者手段来挽回数据
全量备份+binlog增量恢复,binlog转SQL,剔除误删语句后导入恢复。
163.一主多从的环境,从库宕机,请问你如何恢复?
启动从库,检查同步;同步异常则主库备份,导入从库,重置同步点位。
164.mysql集群和高可用方案有哪些,你在公司用过哪些方案?
MHA、MGR、PXC;线上使用MHA。
165.日常巡检都做什么?
服务器负载、磁盘、服务端口、数据库主从、日志报错、备份有效性。
166.raid10 raid5 raid1 区别是啥,有什么优势
RAID1:镜像,安全,容量折半;
RAID5:奇偶校验,至少3盘,坏1盘可恢复;
RAID10:先镜像再条带,兼顾性能和高可用,至少4盘,适合数据库。
167.请简述软连接和硬链接的区别
硬链接:同inode,不能跨分区、不能链接目录;删源文件不受影响;
软链接:快捷方式,独立inode,可跨分区、支持目录;源文件删除则失效。
168.inode 和 block是什么东西,请简述解释
inode:记录文件元信息(权限、属主、block指针),不含文件名;
block:真正存放文件数据的磁盘块。
169.sed 命令的 -n -r 参数均表示什么意思
-n:只输出匹配行;-r:启用扩展正则,不用转义()、|。
170.如果采购了一块硬盘,需要做哪些处理,才能正常使用磁盘
分区→格式化→挂载→写入/etc/fstab开机自动挂载。
171.运维人员的标准工作流程
操作前备份、写方案文档;测试环境验证;生产执行;执行后校验;记录变更。
- 301 和302跳转的区别
301永久重定向;302临时重定向。
173.上一家公司是做什么的?
车载监控、电子印章系统。
174.数据库增长量是多少
日均约10M。
175.上家公司你主要负责哪些工作和职责
服务器运维、架构优化、监控告警、自动化发布、故障处理、备份容灾、安全加固。
176.你处理过印象最深刻的故障是什么
Tomcat内存溢出,从临时脚本自愈到根因定位、JVM调优、推动代码修复,彻底解决。
177.你最擅长的技术是什么
MySQL优化、MHA高可用、Docker/K8s、负载均衡集群、自动化运维脚本。
178.如何查看当前的Linux服务器的运行级别?
runlevel、who -r
179.如何查看Linux的默认网关?
route -n、netstat -nr、ip route
180.如何识别Linux系统中指定文件(/etc/fstab)的关联包?
rpm -qf /etc/fstab
181.Linux系统中的/proc文件系统有什么用?
内存虚拟文件系统,实时查看内核、CPU、内存、进程、网络等运行状态。
182.如何在/usr目录下找出大小超过10MB的文件?
find /usr -type f -size +10M
183.如何在/home目录下找出120天之前被修改过的文件?
find /home -type f -mtime +120
184.如何在/var目录下找出90天之内未被访问过的文件?
find /var -type f ! -atime -90
185.在整个目录树下查找文件”core”,如发现则无需提示直接删除它们。
find / -name “core” -exec rm {} ;
186.linux中的at命令有什么用?
一次性定时任务,执行单次任务,依赖atd服务。
187.固态硬盘和传统硬盘有什么区别,并说明它们的优点和缺点。
SSD:无机械结构,读写快、抗震、低噪音;价格贵、数据恢复难;
机械HDD:容量大、便宜、恢复相对容易;读写慢、怕震动。
188.多核CPU和单核CPU的优点和缺点,是否所有程序在多核CPU上运行速度都快?为什么?
不是;只有支持多线程/多进程的程序才能利用多核;串行单线程程序无法并行,多核无提升。
189.有一web服务器,某天某用户投诉上某个网站速度很慢, 你如何查找原因。
1、区分客户端还是服务端;2、网络:ping/mtr看延迟丢包;3、服务器负载top/iostat;4、Nginx/应用日志;5、MySQL慢查询;6、带宽、缓存、CDN。
190.删除/tmp/oldboy/下除passwd以外的其他文件
find /tmp/oldboy -type f ! -name “passwd” -delete
191.请打印/etc/passwd文件中的第2-5行(不低于三种方法)
sed -n '2,5p' /etc/passwd
sed -n '2,+3p' /etc/passwd
awk 'NR>=2 && NR<=5' /etc/passwd
192.把/data目录及其子目录下所有以扩展名.txt结尾的文件中包含oldgirl的字符串全部替换为oldboy
find /data -name “*.txt” -exec sed -i ‘s#oldgirl#oldboy#g’ {} ;
193.查找/oldboy下所有7天以前以log结尾的大于1M的文件移动/tmp下
find /oldboy -type f -name “*.log” -size +1M -mtime +7 -exec mv {} /tmp ;
194什么是linux的运行级别,请描述linux的运行级别不同数字的含义?
0关机;1单用户;2多用户无NFS;3字符多用户;4预留;5图形;6重启
195.请描述buffer和cache的区别?
Buffer:写缓冲,块设备写入临时缓存;
Cache:读缓存,读取数据缓存,加速重复读取。
196.nginx配合php工作的FastCGI工作原理
Nginx不解析PHP,通过FastCGI协议和php-fpm进程池通信;请求转给php-fpm执行PHP脚本,结果返回Nginx,再发给客户端。
197.keepalived高可用服务工作原理
基于VRRP;主节点定期发组播通告;备节点收不到则抢占VIP,接管业务,实现故障自动切换。
198.CDN工作原理
域名CNAME指向CDN调度;全局调度分配就近边缘节点;节点有缓存直接返回;未命中回源站拉取并缓存。
199.linux启动过程
BIOS自检→MBR引导→GRUB加载内核→内核初始化→systemd/init→执行rc脚本→启动终端、登录Shell
200.linux系统文件删除原理
依靠引用计数i_nlink(硬链接数)、i_count(进程引用数);rm只减少i_nlink;只有i_nlink=0且无进程占用(i_count=0),数据块才会被回收。
201.linux默认文件系统介绍及选型
CentOS7默认xfs,CentOS6默认ext4;小分区ext4,大分区、高并发推荐xfs。
202.写出你的技术栈
Linux、Shell、Nginx、Tomcat、MySQL、Redis、LVS/Keepalived、Ansible、Jenkins、Git、Docker、K8s、Zabbix、ELK、MyCAT、MHA
203.一台服务器由两块硬盘,一块200G,一块2T,如何分区
200G:系统+日志;2T:数据分区,用parted(>2T),xfs格式化。
204.分区命令有哪两个,有什么区别?
fdisk:MBR,最大2T;parted:GPT,支持2T以上大硬盘。
205.自动化工具用过哪些?
Ansible、SaltStack、Jenkins。
206.docker有哪几种网络模式
bridge、host、none、container。
207.查找文件大小在200M以上的文件,找到并删除
find / -type f -size +200M -delete
208.使用什么命令可以查看系统的版本信息及当前所开放的端口号
系统版本:cat /etc/redhat-release;端口:ss -tulnp / netstat -tulnp
209.ssh的配置文件路径
/etc/ssh/sshd_config
210.你常用的性能检测命令
top、vmstat、iostat、iftop、ss、atop、sar
211.如何查看端口是否被占用
ss -tulnp、netstat -tulnp、lsof -i :端口
212.tomcat的三个端口的作用
8080:http访问;8005:shutdown关闭端口;8009:AJP,和Apache对接。
213.你们公司有多少台服务器
生产+测试合计30台。
214.你们的服务器放在什么地方
阿里云、华为云。
215.阿里云用过哪些产品
ECS、SLB、CDN、RDS、OSS、云监控、DNS。
216.如果一个硬盘显示还有200G空间,但是无法写入内容,分析原因
inode耗尽(df -i查看);磁盘只读模式、配额限制。
217.缓存有哪些,消息队列有哪些
缓存:Redis、Memcached;MQ:Kafka、RabbitMQ、ActiveMQ。
218.raid0 raid1 raid5 有什么区别,使用率是多少
RAID0:无冗余,容量N盘总和;
RAID1:镜像,容量50%;
RAID5:N-1,至少3块盘,损失1块容量做校验。
219.你处理过最棘手的事情是啥
MySQL主从大延迟;优化主库大事务、开启并行复制、拆分大SQL、读写分离。
220.读写分离怎么做的
MyCAT代理层,SQL路由,写主、读从。
221.nfs里面存储什么样的数据
静态资源、图片、共享业务文件。
222.mysql存储什么样的数据
业务结构化数据。
223.你们的代码是如何上线的
Git提交→Jenkins编译打包→Ansible推送到应用服务器,灰度发布。
224.你们上线的周期和时间分别是啥
两周一次迭代,低峰期发布。
225.你们的数据量多大,如何备份
800G;mysqldump/xtrabackup全备+binlog增量。
226.消息队列的作用是啥
削峰填谷、异步解耦、流量缓冲、分布式事务、消息通知。
227.说下公司的持续集成(CICD)?开发、测试环境、是不是用同一个jenkins。人员的权限如何分配?
可以共用Jenkins,按项目隔离;RBAC权限,开发只能操作测试项目,运维管理生产发布。
228.有遇到过网络问题吗,是如何解决的?丢包问题如何解决?
丢包排查:mtr定位,区分链路/网卡/交换机;检查网线、光模块、网卡错包、流量拥塞、防火墙策略。
229.docker有用到过吗?
用过,单机docker-compose部署Java,后期迁移K8s。
230.公司服务器的配置是怎么样的?
阿里云ECS,按业务区分:应用、缓存、数据库配置差异化,DB机型高内存SSD。
231.hadoop有接触过吗?
基础了解,搭建Hadoop/HBase/Kafka集群,未深度运维。
232.你们的数据安全是怎么管理的?
最小权限、SSH密钥、跳板机、定期异地备份、恢复演练、收紧外网暴露端口。
233.从运维角度做过优化吗?
系统内核、Nginx/Tomcat/MySQL参数、架构读写分离、缓存、日志切割、安全加固。
234.自动化运维做到监控和上线,还有其他的吗?
自动巡检、自动备份、故障自愈、配置标准化、文档自动化、资产梳理。
235.数据库的安全和优化有涉及过吗?
权限最小化、禁止root远程、定期备份;硬件、内核、InnoDB参数、索引、SQL、读写分离。
236.数据库的数据量有多少?
800G。
237.日志平台有弄过吗,是运维弄的还是开发弄的?
运维搭建EFK,Filebeat采集日志,Kibana可视化。
238.如何查看/var/log目录下的文件数?
ls -1R /var/log | wc -l
239.ps aux 中的VSZ代表什么意思,RSS代表什么意思?
VSZ:虚拟内存;RSS:实际占用物理内存。
240.如何检测并修复/dev/hda5?
fsck /dev/hda5(单用户/卸载后执行)
241.介绍下Linux系统的开机启动顺序
BIOS→MBR→GRUB→内核加载→systemd→挂载文件系统→启动服务→终端登录
242.符号链接与硬链接的区别
同167题
243.如何在文本里面进行复制、粘贴,删除行,删除全部,按行查找和按字母查找?(vi/vim)
yy复制行、p粘贴;dd删除行;dG清空全文;:行号跳转;/关键词正向查找。
244.手动安装grub
grub-install /dev/sda
245.修改内核参数
vim /etc/sysctl.conf → sysctl -p 生效
246.怎么把脚本添加到系统服务里,即用service来调用?
脚本头部添加# chkconfig: 345 85 15 和描述;chkconfig –add xxx
247.如何让history命令显示具体时间?
export HISTTIMEFORMAT=”%Y-%m-%d %H:%M:%S”,写入/etc/profile永久生效。
248.固态硬盘和普通硬盘的区别
同187题
249.SYN攻击概念和检测是否遭到syn攻击?—也是ddos攻击
大量伪造IP发送SYN包,占满半连接队列,正常用户无法建立连接;
检测:netstat -an | grep SYN_RECV,大量随机源IP的SYN_RECV即为疑似攻击。
250.修改linux的最大文件打开数(默认1024)
临时ulimit -n 65535;永久修改/etc/security/limits.conf
251.nginx日常优化?
worker、epoll、gzip、静态缓存、超时、隐藏版本、防盗链、限流、SSL优化、日志切割。
252.分布式文件存储是否有过了解和使用,了解过的有什么特性
FastDFS、Ceph;适合海量小文件、分布式扩容、负载均衡;线上简单场景先用NFS。
253.mysqldump以及xtrabackup备份方式怎么选用和区别?
mysqldump逻辑备份,适合<100G,–single-transaction保证InnoDB一致性;
xtrabackup物理热备,直接拷贝ibd文件,适合大库,速度快,增量备份。
- 500台db,在最快时间之内重启
Ansible/pssh并行批量ssh执行重启,避免串行。
255.你是如何监控你们的数据库的?你们的慢日志都是怎么查询的?
Zabbix+Lepus监控;开启slow_query_log,直接读取日志或pt-query-digest分析。
256.你是否做过主从一致性校验,如果有,怎么做的,如果没有,你打算怎么做?
使用pt-table-checksum在线校验;不一致用pt-table-sync修复。
257.MySQL中InnoDB引擎的行锁是通过加在什么上完成(或称实现)的?为什么是这样子的?
索引;InnoDB行锁依赖索引;如果where条件不走索引,行锁退化为表锁。
258.什么是mysql多实例?
单台机器跑多个MySQL进程,不同端口、独立数据目录、独立配置,共用MySQL程序。
259.如何配置mysql多实例?
多套my.cnf,不同socket、端口、datadir;分别mysqld_safe启动。
260.授权oldboy用户管理bbs库所有表,127.16.10.0网段访问,密码123456
grant all on bbs.* to oldboy@’127.16.10.%’ identified by ‘123456’;
261.truncate和delete区别
delete逐行、可回滚;truncate清空表、重置自增,DDL不可回滚。
262.mysql忘记root密码怎么解决?
停止MySQL;mysqld_safe –skip-grant-tables;空密码登录,修改root密码,重启。
263.如何从mysqldump产生的全库备份中只恢复某一个库、某一张表?
恢复单库:mysql -uroot -p 库名 –one-database < dump.sql
单表:sed/grep提取建表+insert语句,单独导入。
264.mysql数据库查询慢排查方法
explain看索引、慢查询日志、iostat看IO、锁等待、大事务、未分页、select *。
265.mysql睡眠连接(sleep线程)过多,会对mysql服务器造成什么影响?
占用连接数、消耗内存,耗尽max_connections后新连接无法接入;
优化:调小wait_timeout,业务及时关闭连接。
266.key_buffer_size参数作用?如何不重启设置生效?
MyISAM索引缓存;set global key_buffer_size=xxx;写入my.cnf永久保存。
267.主从复制的常见不同步问题
IO线程失败:网络、授权、binlog缺失;
SQL线程失败:主键冲突、表结构不一致、SQL不兼容。
268.如何脱离主从结构?
stop slave; reset master; 删除master.info、relay-log.info等同步文件。
269.判断主从复制到哪一步,参考查看主从同步情况(了解)
show slave status\G,对比Master_Log_File/Read_Master_Log_Pos与Relay_Log_File/Exec_Master_Log_Pos;看Seconds_Behind_Master延迟。
270.mysql服务器的主从配置
主:开启binlog、唯一server_id、授权slave账号;
从:唯一server_id、change master to 指定主库信息,start slave。
271.主从同步因从库数据冲突导致同步停止的解决方法
可选:set global sql_slave_skip_counter=1(临时跳过,小数据风险);
规范做法:pt工具修复或重建主从;my.cnf配置slave-skip-errors(谨慎)。
272.一主多从的mysql,当主库宕机,将其他的某个从库提升为主的方法步骤
1)选出同步点位最新的从库;
2)stop slave; reset master; 开启log-bin,注释read-only;
3)新建同步账号;
4)其余从库change master指向新主;
5)业务连接地址切换到新主;
6)原主修复后作为新从。
273.一主多从,主库正常,但有计划的切换从库为主库时候的处理
1)主库锁表,禁止写入;
2)等待所有从库同步完成;
3)挑选目标从库提升为主;
4)其余从库指向新主;
5)业务切换,解锁。
二、复杂的命令型
1.如何使用iptables将本地80端口的请求转发到8080端口,当前主机IP为192.168.16.1,其中本地网卡eth0:
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to 192.168.16.1:8080
iptables -t nat -A POSTROUTING -j MASQUERADE
2.限制apache/nginx每秒新建连接数为1,峰值为3 (防火墙限制)
iptables -A INPUT -p tcp --dport 80 -m limit --limit 1/s --limit-burst 3 -j ACCEPT
3.统计apache访问日志中登录服务器次数最多的前5个IP
cat access_log | awk '{print $1}' | sort | uniq -c | sort -nr | head -5
4.统计出apache的access.log中访问量最多的5个ip
同上
5.如何查看Linux系统每个ip的连接数?
netstat -an | awk '/^tcp/{print $5}' | awk -F: '{print $1}' | sort | uniq -c | sort -nr
6.如何查看http的并发请求数与其TCP连接状态?
netstat -an | awk '/^tcp/{++cnt[$NF]} END{for(k in cnt) print k,cnt[k]}'
7.使用netstat和awk命令统计下网络连接数(6和7本质是一样)
同上
8.nginx 日志过滤10点到12点之间访问IP排名和统计
grep "10:00:" nginx.log | sed -n '/10:00/,/12:00/p' | awk '{print $1}' | sort | uniq -c | sort -nr
9.显示a.txt中包含了:一个数字:(即两个冒号中间一个数字)的行
grep “:[0-9]:” a.txt
10.shell下生成32位随机密码
cat /dev/urandom | md5sum | head -c 32
11.在11月份内,每天的早上6点到12点,每隔2小时执行一次/usr/bin/httpd.sh怎么实现
0 6-12/2 * 11 * /usr/bin/httpd.sh
三、非技术型
1.你的离职原因是什么
上家公司业务规模小,技术栈比较固化,缺少云原生、高可用架构的深度实践,希望寻找平台更大、能持续深耕运维架构的岗位。
2.你对加班怎么看
核心保障业务稳定优先;突发故障、上线窗口需要加班我可以接受;日常优先提高自动化、规范流程,减少无效加班。
3.你是如何理解运维这个岗位的
运维核心目标:保障业务稳定可用、保障数据安全、提升交付效率、控制成本,用自动化减少人工重复劳动。
4.作为运维工程师,你对该职位的认识和理解有哪些,日常工作中应该怎么做
保障7*24业务稳定,做好监控预警、备份容灾、故障快速止血;标准化、自动化、文档化;最小权限安全管控。
5.你对出差怎么看
业务需要的短期出差可以接受。
6.你们的薪资构成是咋样的
基本工资+绩效,绩效和业务稳定性、项目交付挂钩。(面试不主动细说,等HR谈薪)
7.如果让你入职,你打算怎么开展你的工作
①熟悉业务架构、梳理服务器清单、绘制架构图;②梳理现有监控、备份、发布流程,查漏补缺;③梳理遗留风险,逐步优化自动化与告警;④建立运维文档规范。
8.你对未来有什么职业规划
先深耕云原生运维(K8s、可观测、CICD),往运维架构方向发展,具备架构设计、容量规划、故障治理能力。
9.你觉得linux工程师的职责?
服务器/中间件/数据库稳定运维、监控告警、备份容灾、故障处理、自动化脚本、安全加固、架构优化。
10.未来5-10年的规划?
深耕云原生运维架构,具备分布式系统、容器平台、可观测体系落地能力,成长为运维架构师。
11.你们公司有什么规章制度?比如运维要完成某项任务,有什么规范的流程?
变更审批、操作前备份、测试环境预演、操作文档、变更后验证、重大变更灰度上线、故障复盘。
12.在工作中应该做什么?
监控巡检、备份容灾、故障应急、环境搭建、自动化建设、代码发布、安全加固、运维文档沉淀。
13.先做下自我介绍
面试官好,XX,X年Linux运维经验;熟悉LNMP、Nginx负载均衡、MySQL主从/MHA、Redis、Zabbix监控;会Shell、Ansible、Jenkins CICD、Docker/K8s;日常负责业务架构维护、故障处理、自动化建设,擅长数据库高可用与Web服务优化。
14.你在公司中主要负责那一部分
全链路运维:服务器巡检、负载均衡/数据库高可用搭建、监控告警、自动化发布、故障应急、备份容灾、安全加固。
15.你最擅长的是哪一部分
MySQL运维与高可用、Nginx负载均衡、Shell自动化脚本、Docker/K8s基础运维、故障排查。
16.你们公司是统招吗,学信网可查吗
是统招,学信网可查。
17.你们的操作系统是6还是7,内核多少
CentOS7。
18.你工作三年最大的收获是什么
从只会基础部署,学会了故障分层排查、架构高可用设计、自动化落地;养成变更规范、事前备份、事后复盘的运维思维,沟通协作能力提升。
19.你找工作最关注的是什么
技术成长空间、业务架构复杂度、团队规范、薪资匹配。
20.你还有什么想问我的?
①当前业务整体架构是传统虚拟机还是K8s云原生?②运维团队分工和当前重点建设方向是什么?
21.你上家薪资多少,期望薪资多少 如何说?
话术参考:可以先说“希望结合岗位定级、我的能力以及公司薪酬体系来沟通,我期望XX区间”,不先报死底价。
22.你是如何接触并学习Linux的
大学课程入门,后续工作持续实战,结合官方文档、实战项目、故障复盘持续学习。
23.你对未来有什么职业规划
初级→中级→高级运维→运维架构;深耕云原生、可观测、中间件高可用。
四、k8s专题型
1.什么是kubernetes?
K8s是Google开源容器编排平台,自动化容器部署、扩缩容、自愈、服务发现、负载均衡,管理大规模容器集群。
2.Kubernetes与Docker有什么关系?
Docker负责打包镜像、本地容器运行;K8s负责多节点上容器编排、调度、自愈、服务管理;K8s支持多种容器运行时(containerd为主),不强制依赖Docker。
3.在主机和容器上部署应用程序有什么区别?
裸机部署:依赖宿主机系统库,环境容易不一致,扩容麻烦;
容器:镜像打包所有依赖,环境一致性;资源隔离,秒级启停,便于弹性扩缩、CI/CD交付。
4.Kubernetes主节点后节点的不同组件有哪些?
控制平面(Master):kube-apiserver、etcd、kube-scheduler、kube-controller-manager;
工作节点(Worker):kubelet、kube-proxy、容器运行时。
5.Kube-proxy有什么功能?
每个Node上运行;监听Service变化,维护节点iptables/ipvs规则,实现Service的负载均衡与后端Pod转发、服务发现。
6.kube-apiserver和kube-scheduler的作用是什么? ✅【原题空缺,补齐标准答案】
- kube-apiserver:K8s集群唯一API入口,提供REST接口,负责认证、授权、准入控制,读写etcd,所有组件通信枢纽;
- kube-scheduler:默认调度器,监听未绑定节点的Pod,根据资源、亲和性、污点等策略筛选、打分,选出最合适的Node绑定Pod。
7.什么是ETCD?
分布式强一致性键值存储,K8s集群“唯一数据源”,保存集群所有资源状态(Pod、Service、Node等)。
8.你对Kubernetes的负载均衡器有什么了解?
分两类:Service内部集群负载;Ingress/云厂商LB对外流量入口;Service支持ClusterIP、NodePort、LoadBalancer、ExternalName。
9.什么是Ingress网络,它是如何工作的?
Ingress是集群入口API对象,一般配合Nginx-Ingress Controller;根据Ingress规则(域名、路径)将外部HTTP/HTTPS流量转发到后端Service,实现七层路由、域名、证书管理。
10.ReplicaSet 和 Replication Controller之间有什么区别?
功能几乎一致,保障副本数;ReplicaSet支持集合式标签选择器(matchExpressions),RC仅支持等值选择器;Deployment默认使用ReplicaSet。
11.什么是Headless Service?
不分配ClusterIP的Service;DNS直接解析到后端Pod IP,适合有状态应用(如StatefulSet),直连Pod通信,不经过Service代理。
12.如何看待公司从单一服务转向微服务并部署其服务容器?
微服务拆分可以独立迭代、独立扩缩容;容器保证环境一致;迁移建议灰度逐步拆分、做好可观测(日志/指标/链路追踪),避免一次性大改造带来风险。
13.公司希望通过采用新技术来优化其工作负载的分配,如何有效实现?
落地K8s,资源请求/限制、节点亲和、HPA自动扩缩容、资源配额;配合监控做容量规划,提升资源利用率,实现负载自动调度。
14.Kubernetes集群数据存储在以下哪个位置?
etcd
15.哪个是Kubernetes控制器?
ReplicaSet、Deployment、StatefulSet、DaemonSet等(标准答案:ReplicaSet / Deployment)