運維面試大全

文章目錄

  • 第一階段
    • 平常怎么處理故障,思路是什么樣的
    • 公網和私網分類以及范圍,本機地址,網絡地址,廣播地址
    • 交換機的工作原理
    • ICMP是什么干什么用的,它有哪些命令
    • TCP和UDP協議的區別
    • tcp有哪些控制位,分別是什么意思
    • 你是用過哪些Linux命令
    • Linux 系統安全優化與內核優化
      • 經常使用shell腳本做什么
      • 軟連接與硬鏈接的區別
      • 怎么查看文件
    • IOS七層模型
    • 三次握手與四次揮手
    • lvm 邏輯卷創建過程
      • 磁盤配額
    • raid 磁盤陣列
    • 文本三劍客
    • 防火墻iptables與fireward
    • Linux系統資源查詢命令
      • 日志的八大等級
    • Linux 引導過程
    • shell 函數的創建方法
    • 免交互的使用
    • 你是用過哪些shell腳本
    • Tcpdump抓包使用工具
    • CPU過高怎么解決
      • 如何殺死僵尸進程
    • 什么是中間件?什么是 JDK
      • 什么是CDN
  • 第二階段
    • http
      • http 的版本
      • http 響應狀態碼
    • Nginx
      • Nginx 的常用模塊有哪些?
      • Nginx 的 session 不同步怎么辦
      • nginx的優化
      • Nginx如何實現動靜分離
      • Nginx反向代理有哪些方式實現,有什么區別 ?如何配置
      • Nginx 負載均衡調度算法有哪些?
    • tomcat知識點
      • tomcat 三個端口號
      • tomcat 優化
    • LVS
      • LVS、Nginx、Haproxy 有什么區別?
      • 簡述LVS三種模式 以及工作中使用哪種模式
    • keepalived
      • 腦裂的原因,如何解決
      • 簡述 keepalived 如何通過健康檢查來實現高可用?
    • mysql
      • sql 語句
      • 克隆表
      • 清空表數據
      • Mysql 六大約束
      • 遺忘 root 密碼的解決方法
      • 索引的作用
      • 索引的創建
      • mysql 事務的 ACID 特性與四種隔離
      • 死鎖的產生原因與解決方法
      • mysql 主從復制原理
    • 主從復制的部署過程
      • MHA 高可用
      • MHA 部署過程
      • MMM 高可用
      • mysql 數據庫的優化
      • Mysql 數據庫 cpu 飆升到 500% 怎么處理
    • Mysql 數據庫備份
    • redis
      • redis 為什么讀寫速度那么快?
      • redis 常用的數據結構
      • redis 持久化
      • redis 哨兵
      • redis cluster 集群
      • redis 優化
      • 緩存和數據庫 雙寫一致性問題
      • 緩存三大擊穿問題
    • ELK
      • ELK 的工作原理
    • ELK 的插件有哪些
    • zabbix
      • Zabbix 組件 及 工作原理
      • zabbix 如何自定監控項
      • zabbix 你都監控哪些參數
    • kafka
      • Zookeeper 是什么?
      • Zookeeper 選舉機制
      • 消息隊列的作用
      • 消息隊列的模式
      • kafka 架構
      • kafka ACK應答機制保證數據的可靠性
    • Ceph
      • 數據存儲類型
      • Ceph 架構 (從下往上看)
      • Ceph 組件
      • Ceph 的存儲過程
  • 第三階段
    • Docker
      • docker 是什么?
      • docker 容器與 虛擬機的區別?
      • docker 三大核心概念
      • 6大namespace 命名空間是什么?
      • docker的鏡像和容器管理命令?
      • docker run 的運行過程
      • cgroup 資源限制
      • docker 網絡模式
      • dockerfile 有哪些指令
      • dockerfile 如何縮小構建鏡像的體積
      • docker-compose 是什么?
      • docker-compose.yml 配置講解
      • Harbor 私有倉庫管理
      • consul 服務自動發現
      • https 的工作流程
      • 數據庫是否放在容器中運行?為什么?
      • docker容器的重啟策略?
    • Ansible
      • Ansible 概念
      • 模塊
    • K8S
      • k8s 有哪些組件
      • k8s 組件的作用
      • pod 的創建過程
      • K8s 資源對象
    • K8S 二進制搭建
    • K8S kubeadm搭建
    • kubeadm 部署的K8S集群更新證書
    • K8S 3種網絡
    • K8S 3種接口
    • flannel 3種模式
    • flannel UDP模式工作原理
    • flannel VXLAN模式工作原理
    • Calico IPIP模式工作原理
    • Calico BGP模式工作原理(本質就是通過路由表來維護每個 Pod 的通信)
    • flannel 和 calico 區別?
    • 陳述式資源管理
    • service 的 4 種類型:
    • service 的端口:
    • 如何獲取資源配置清單文件模板(yaml配置文件)
    • 一個pod能包含幾個容器?
    • pause容器的作用?
    • Pod 的 3 種類型:
    • Pod 的 3 種容器:
    • Pod 的 3 種鏡像拉取策略: spec.containers.imagePullPolicy
    • Pod 的 3 種容器重啟策略: spec.restartPolicy
    • Pod 容器的資源限制
    • Pod 容器的 3 種探針(健康檢查)
    • 探針的 3 種探測方式
    • 探針參數:
    • Pod 應用容器生命周期的啟動動作和退出動作
    • K8S是通過 List-Watch 機制實現每個組件的協作
    • scheduler 的調度策略
    • Pod 調度到指定的 Node節點
    • 標簽的管理操作
    • 親和性
    • 如何判斷是否在同一個拓撲域?
    • 親和性的策略
    • 污點 taint
    • 容忍 tolerations
    • 不可調度
    • 不可調度 + 驅逐
    • Pod 的啟動過程:
    • Pod 生命周期的 5 種狀態
    • K8S 中的排障手段
    • K8S 的 存儲卷 volumes
    • PV PVC
    • 創建 PV 的方式(PV的類型):
    • PV 的 4 種狀態:
    • 創建使用 靜態PV
    • 創建使用 動態PV
    • K8S 中的排障手段
    • K8S 的 存儲卷 volumes
    • PV PVC
    • 創建 PV 的方式(PV的類型):
    • PV 的 4 種狀態:
    • 創建使用 靜態PV
    • 創建使用 動態PV

第一階段

平常怎么處理故障,思路是什么樣的

看故障現象根據經驗就知道原因;
第一次碰到,先定位問題,故障不一定是我的問題,開發、測試、硬件、網絡,也可能我的問題;如果問題在我,根據錯誤提示信息、系統日志、錯誤日志去分析問題。
系統問題可以用top看cpu、df看磁盤、uptime看負載、ps看進程、sar看流量。
應用程序就是看日志提示解決問題,如果是開發問題,可以通過郵件等方式,描述故障現象和定位過程發送給開發對接人和我的領導。
如果是網絡問題,路由、交換機可以找網絡工程師,可以抓包tcpdump;
如果是硬件問題,可以找廠商。

公網和私網分類以及范圍,本機地址,網絡地址,廣播地址

公網
A:1.0.0.1~126.255.255.254/18
B:128.0.0.1~191.255.255.254/16
C:192.0.0.1~223.255.255.254/24
D:224.0.0.1~239.255.255.254
E:240.0.0.1~255.255.255.254
私網
10.0.0.0~10.255.255.255
172.16.0.0~172.31.255.255
192.168.0.0~192.168.255.255
其他
169.254.0.0~169.254.255.255 DHCP失效時分配的網址
127開頭的都是本機 127.255.255.255除外 它是廣播地址

224.0.0.18 VRRP協議交換機偵聽此地址

交換機的工作原理

1)交換機開機時MAC地址表沒有任何記錄
2)源主機通過交換機發送數據幀給目標主機,交換機學習數據幀中的源MAC和對應接口標識并記錄到MAC地址表中
3)如果交換機的MAC地址沒有目的MAC地址所對應的接口記錄,則會進行廣播泛洪
4)只有擁有對應的MAC地址的主機才會進行回應響應
5)交換機會從目的主機回復的消息中學習到MAC地址和對應的接口標識并記錄到MAC地址表中,之后兩臺主機可以通過交換機的MAC地址表進行單播通信
交換機通過MAC地址表的記錄實現數據幀的轉發,MAC地址表默認老化時間300S

ICMP是什么干什么用的,它有哪些命令

是一個錯誤偵測與回饋機制,發送錯誤和控制消息來探測節點的網絡連通性
ping
pathping 例子:pathping www.baidu.com 跟蹤數據包路徑,計算機丟包情況
traceroute

TCP和UDP協議的區別

         TCP                                UDP

可靠性 可靠 不可靠
連接性 面向連接 無連接
報文 面向字節流 面向報文(保留報文的邊界)
效率 傳輸效率低 傳輸效率高
雙工性 全雙工 一對一、一對多、多對一、多對多
流量控制 有(滑動窗口) 無
擁塞控制 有(慢開始、擁塞避免、快重傳、快恢復) 無

tcp有哪些控制位,分別是什么意思

URG 緊急位
ACK 確認位
PSH 急迫位
RST 重置位
SYN 同步(連接)位
FIN 斷開位

你是用過哪些Linux命令

性能監控方面: free 查看內存 top 動態監控cpu 負載 等 df 查看磁盤使用 ps 查看進程 iostat 查看io

用戶方面:useradd 創建用戶 chmod 修改權限 chown 設置歸屬

查詢方面: sed grep awk cat more less which whereis

Linux 系統安全優化與內核優化

安全優化: 設置防火墻規則 限制root 用戶遠程登錄 設置歷史命令條目及登錄超時 chattr鎖定文件 時間同步 配置yum更新源

內核系統優化:

sysctl.conf 文件中
net.ipv4.ip_forward  設置路由轉發
net.ipv4.tcp tw recycle = 1 開啟time-wait 快速回收
net.ipv4.ip_local_port_range = 1024 65000  設置外向連接端口范圍/etc/security/limits.conf
nofile 設置文件最大打開數
nproc  設置最大進程數
rss 設置最大常駐集大小
menlock  鎖定內存地址空間

經常使用shell腳本做什么

使用shell腳本進行重復性的操作

一鍵部署公司的業務服務

日志的監控和分割 備份 配置crontab -e 進行計劃性任務

巡檢

軟連接與硬鏈接的區別

  1. 硬鏈接與源文件共享inode ,也就是說,他們都指向同一份數據,占用的磁盤空間也相同,刪除一共硬鏈接并不影響源文件內容和其他硬鏈接,相當于給文件起了一共別名

  2. 軟連接與源文件不僅inode不同,源文件刪除了。軟連接也就失效了,類似于一個快捷方式、

怎么查看文件

find 查找文件

locate 查找系統中已經建立的文件索引庫

whereis 可以查找指定命令的二進制文件、源代碼文件

which 查找命令所在的目錄

IOS七層模型

  1. 物理層
  2. 數據鏈路層
  3. 網絡層
  4. 傳輸層
  5. 會話層
  6. 表示層
  7. 應用層

三次握手與四次揮手

三次握手 : pc1 向 pc2 發送一個 SYN 報文,pc 回復一個 SYN + ACK 報文 pc1 再次發送一個ACK報文

四次揮手: pc1發送一個FIN / ACK 報文給pc2 (此時pc1客戶端進入等待斷開連接狀態)
pc2接收到pc1發送的請求斷開報文之后回復一個ACK報文進行確認
pc2緊接著發送一個FIN / ACK 報文給pc1(此時pc2客戶端進入等待斷開連接狀態)
pc1收到后發送ACK報文進行確認 (此時pc1進入時間等待狀態 60秒后默認結束)

lvm 邏輯卷創建過程

  1. 創建一個物理卷: pvcreate 設備名(可創建多個)
  2. 創建卷組 : vgcreate 卷組名 物理卷名
  3. 創建邏輯卷: lvcreate -L 容量大小 -n 邏輯卷名 卷組名
  4. 擴展卷組:先擴展物理卷 在使用 vgextend 卷組名 設備
  5. 擴展邏輯卷 : 隨后使用 lvextend -L + 容量大小 /dev/卷組名/邏輯卷名
  6. 格式化 掛載使用·

磁盤配額

  1. 首先檢查是否安裝 xfsprogs 和 xfs_quota
  2. 以支持配額的方式進行掛載文件系統 mount -o usrquota,grpquota /dev/vgname1/lvname1 /opt 或者永久掛載/ dev / vgname1 / lvname1 / opt xfs defaults,usrquota, grpquota 0
  3. 對用戶和組賬號進行配額限制 xfs_quota -x -c 'limit -u bsoft-80M bhard-100M isoft=40 ihard=50 lisi’ /opt/
  4. 驗證用戶在限制目錄下的使用

raid 磁盤陣列

raid 0 條帶化存儲 傳輸速率達到單個硬盤的N 倍 但它沒有數據冗余

raid 1 鏡像存儲 實現數據冗余 但利用率為N/2

raid 5 N>=3 塊盤組成 利用率 (N-1)/N (其中有一塊是用來校驗的)

raid 6 N>=4 塊盤組成 (N-2)/ N (有兩塊盤用來校驗)

raid 1 0 先做鏡像 再做條帶 利用率 N/2

文本三劍客

grep :

-i 不區分大小寫

-v 取反

-n 顯示行號

-r 遞歸過濾文件夾中的所有內容

-w 只顯示全部字符的列

-l 列出文件內容符合指定的樣式文件名稱

sed :

-i 替換:s 對指定的內容進行替換

? d 刪除選定的行

? a 在當前行的下面增加一行內容

? i 在當前行的上面增加一行內容

? c 替換選定行為指定內容

? y 字符轉換 轉換前后的字符必須長度相同

awk:

FS 列分隔符

NF 當前處理行的字段個數

NR 當前處理行的序號

RS 行分隔符

防火墻iptables與fireward

四表:raw 表 mangle

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/37204.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/37204.shtml
英文地址,請注明出處:http://en.pswp.cn/news/37204.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

stable diffusion 單張圖片換頭roop安裝配置

1.首先安裝秋葉大佬的webui 2.然后在拓展里面搜索roop,下載roop插件,然后重啟webui 3.重啟后,在文生圖和圖生圖的界面,就可以看到roop的入口 4.這里面,需要提前安裝Visual Studio. 勾選一些必要的選項,這里可以參照b站的視頻 # 秋葉版本Stablediffusion的Roop插件的安裝 …

JavaScript reduce深入了解

reduce() 是 JavaScript 數組的一個高階函數,它允許你將數組中的元素按順序依次合并為一個單一的值。reduce() 可以用于數組求和、計算平均值、連接字符串等各種情況。它的工作原理是通過迭代數組的每個元素,然后將元素和累加器進行某種操作,…

使用 Python 在 NLP 中進行文本預處理

一、說明 自然語言處理 (NLP) 是人工智能 (AI) 和計算語言學的一個子領域,專注于使計算機能夠理解、解釋和生成人類語言。它涉及計算機和自然語言之間的交互,允許機器以對人類有意義和有用的方式處理、分析…

Java # JVM內存管理

一、運行時數據區域 程序計數器、Java虛擬機棧、本地方法棧、Java堆、方法區、運行時常量池、直接內存 二、HotSpot虛擬機對象 對象創建: 引用檢查類加載檢查分配內存空間:指針碰撞、空閑列表分配空間初始化對象信息設置(對象頭內&#xff0…

?可視化繪圖技巧100篇進階篇(五)-階梯線圖(Step Chart)

目錄 前言 圖表類型特征 適用場景 圖例 繪圖工具及代碼實現 ECharts SMARTBI

安卓中常見的字節碼指令介紹

問題背景 安卓開發過程中,經常要通過看一些java代碼對應的字節碼,來了解java代碼編譯后的運行機制,本文將通過一個簡單的demo介紹一些基本的字節碼指令。 問題分析 比如以下代碼: public class test {public static void main…

Java課題筆記~ JSP編程

4.1 JSP基本語法 JSP (全稱Java Server Pages) 是由 Sun Microsystems 公司倡導和許多公司參與共同創建的一種使軟件開發者可以響應客戶端請求,而動態生成 HTML、XML 或其他格式文檔的Web網頁的技術標準。 JSPHTMLJava JSP的本質是Servlet 訪問JSP的時候&#x…

【設計模式】原型模式

原型模式(Prototype Pattern)是用于創建重復的對象,同時又能保證性能。這種類型的設計模式屬于創建型模式,它提供了一種創建對象的最佳方式之一。 這種模式是實現了一個原型接口,該接口用于創建當前對象的克隆。當直接…

javaScript:數組的認識與使用以及相關案例

目錄 一.前言 二.數組 1.認識 2.數組的聲明 1.let arr [1,2,3,4] 2.結合構造函數,創建數組 注意: 3.數組長度的設置和獲取 注意 4.刪除數組元素 5.清空數組 三.獲取數組元素 獲取數組元素的幾種方法 1.使用方括號 [] 訪問元素&#xff1…

Keepalived+Lvs高可用高性能負載配置

環境準備 IP配置VIPnode1192.168.134.170LVSKeepalived192.168.134.100node3192.168.134.172LVSKeepalived192.168.134.100node2192.168.134.171做web服務器使用node4192.168.134.173做web服務器使用 1、準備node1與node3環境(安裝LVS與Keepalived)>…

基于微服務+Java+Spring Cloud +Vue+UniApp +MySql實現的智慧工地云平臺源碼

基于微服務JavaSpring Cloud VueUniApp MySql開發的智慧工地云平臺源碼 智慧工地概念: 智慧工地就是互聯網建筑工地,是將互聯網的理念和技術引入建筑工地,然后以物聯網、移動互聯網技術為基礎,充分應用BIM、大數據、人工智能、移…

滾動條樣式更改

::-webkit-scrollbar 滾動條整體部分,可以設置寬度啥的 ::-webkit-scrollbar-button 滾動條兩端的按鈕 ::-webkit-scrollbar-track 外層軌道 ::-webkit-scrollbar-track-piece 內層滾動槽 ::-webkit-scrollbar-thumb 滾動的滑塊 ::-webkit-scrollbar…

Android布局【RelativeLayout】

文章目錄 介紹常見屬性根據父容器定位根據兄弟組件定位 通用屬性margin 設置組件與父容器的邊距padding 設置組件內部元素的邊距 項目結構主要代碼 介紹 RelativeLayout是一個相對布局,如果不指定對齊位置,都是默認相對于父容器的左上角的開始布局 常見…

TypeScript教程(二)基礎語法與基礎類型

一、基礎語法 TypeScript由以下幾個部分組成 1.模塊 2.函數 3.變量 4.語句和表達式 5.注釋 示例: Runoob.ts 文件代碼: const hello : string "Hello World!" console.log(hello) 以上代碼首先通過 tsc 命令編譯: tsc …

MQTT寶典

文章目錄 1.介紹2.發布和訂閱3.MQTT 數據包結構4.Demo5.EMQX 1.介紹 什么是MQTT協議 MQTT(消息隊列遙測傳輸協議),是一種基于發布/訂閱(publish/subscribe)模式的“輕量級”通訊協議,該協議構建于TCP/IP協…

php、 go 語言怎么結合構建高性能高并發商城。

一、php、 go 語言怎么結合構建高性能高并發商城。 將PHP和Go語言結合起來構建高性能高并發的商城系統可以通過多種方法實現,以利用兩種語言的優勢。下面是一些可能的方法和策略: 1. **微服務架構:** 使用微服務架構,將系統拆分…

安卓快速開發

1.環境搭建 Android Studio下載網頁:https://developer.android.google.cn/studio/index.html 第一次新建工程需要等待很長時間,新建一個Empty Views Activity 項目,右上角選擇要運行的機器,運行就安裝上去了(打開USB調試)。 2…

【Linux】UDP協議——傳輸層

目錄 傳輸層 再談端口號 端口號范圍劃分 認識知名端口號 兩個問題 netstat與iostat pidof UDP協議 UDP協議格式 UDP協議的特點 面向數據報 UDP的緩沖區 UDP使用注意事項 基于UDP的應用層協議 傳輸層 在學習HTTP等應用層協議時,為了便于理解&#xff…

【實操】2023年npm組件庫的創建發布流程

2022年的實踐為基礎,2023年我再建一個組件庫【ZUI】。步驟回顧: 2022年的npm組件包的發布刪除教程_npm i ant-design/pro-components 怎么刪除_啥咕啦嗆的博客-CSDN博客 1.在gitee上創建一個項目,相信你是會的 2.創建初始化項目,看吧&#…

泛型類接口方法學習

一、泛型 1 概念 泛型(Generics),廣泛的類型。最大用途是給集合容器添加標簽,讓開發人員知道容器里面放到是什么類型,并且自動對放入集合的元素進行類型檢查。 類比實參和形參,我們在對方法中的變量操作時,并沒有指…