運維面試題

来源:https://www.cnblogs.com/aloneysir/archive/2019/07/12/11175759.html
-Advertisement-
Play Games

前言 近期時間在努力投簡歷加找工作中,將自己或者朋友遇到的面試題在此一一整理,後期將持續更新。。。 (由於博主起步階段水平有限,接觸的都是基礎題目,大佬不要見笑) 1、測試網路連通性的命令 ping:最基礎的就不解釋了 tracent(trace router的縮寫):判斷數據包到目的地經過的哪些節 ...


前言

近期時間在努力投簡歷加找工作中,將自己或者朋友遇到的面試題在此一一整理,後期將持續更新。。。

(由於博主起步階段水平有限,接觸的都是基礎題目,大佬不要見笑)

1、測試網路連通性的命令

ping:最基礎的就不解釋了

tracent(trace router的縮寫):判斷數據包到目的地經過的哪些節點出現了錯誤;格式:tracert 主機名稱或ip地址(具體詳情自行百度)

2、CPU完全虛擬化和半虛擬化的區別?CPU可以虛擬出多少個vCPU?

cpu支持了硬體虛擬化,通過xen或kvm配置後及時完全虛擬化,cpu不支持就是半虛擬化。

被虛擬化出來的操作系統上執行的指令,會運行在被虛擬化出來的硬體上,就是完全虛擬化。kvm只支持完全虛擬化,xen可以完全虛擬化也可以半虛擬化。

總結:

看虛擬化技術是完全虛擬化還是半虛擬化,首先看虛擬化技術有沒有修改內核,xen虛擬化技術需要修改內核,因此它有完全虛擬化和半虛擬化之分,kvm沒有修改內核,因此,它只有完全虛擬化。

虛擬化是完全虛擬化還是半虛擬化,還是要看cpu是否支持硬體虛擬化,支持硬體虛擬化,就是完全虛擬化,不支持,就是半虛擬化。xen有兩種選擇,而kvm只有一種選擇,所以,xen有完全虛擬化和半虛擬化之分,kvm只有完全虛擬化。

(本文內容來自作者icy2013,原文鏈接http://blog.51cto.com/qiufengsong/1321151)

3、新建伺服器如何通過DHCP獲取IP?

首先伺服器發送DHCP Discover 數據包,這個過程是伺服器使用udp的68埠來進行廣播,用67埠接受。數據包中包含DHCP類型,上次分配ip,apipa分配地址。

DHCP伺服器接收到後檢查自己是否有有效的地址,返回一個廣播消息。新建伺服器接收到ip地址後用DHCP request包回應DHCP伺服器,DHCP會問一下分配的那個ip有沒有別的機器正在使用 ,然後回應新建伺服器(租約ip地址、掩碼、期限)

客戶端收到後會廣播ARP包檢測ip衝突,如果衝突新建伺服器將進行第二次的ip地址獲取

4、VLAN是如何隔離的?二層VLAN和三層VLAN的區別?(這個問題本人也不是很明白,求大神解釋)

VLAN是對連接到的第二層交換機埠的網路用戶的邏輯分段,不受網路用戶的物理位置限制而根據用戶需求進行網路分段。一個VLAN可以在一個交換機或者跨交換機實現。VLAN可以根據網路用戶的位置、作用、部門或者根據網路用戶所使用的應用程式和協議來進行分組。基於交換機的虛擬區域網能夠為區域網解決衝突域、廣播域、帶寬問題。

二層vlan是可以劃分vlan的兩層交換機 只能劃分vlan不能設置vlan介面地址,沒有路由功能 三層vlan是指三層交換機的vlan 可以設置vlan介面地址

5、命令統計Nginx日誌access.log(目錄是/var/usr/log)中訪問量做多的3個ip

 

日誌內容如下:

 

(45.127.65.16 -- (log:........) )

awk '{print $1}' /var/log/nginx/access.log |sort | uniq -c |sort -nr -k1 | head -n 3

awk:取日誌中的第一列

sort:對數據排列,順序有小到大

uniq -c :列印重覆行次數

sort -nr -k1 :按照重覆行出現次數倒序排列

head -n 3:取前3行

6、 iptables如何控制mysql的訪問?如何防禦ddos的攻擊?

通過控制埠訪問:iptable -A  INPUT -p tcp --dport 3306 -j ACCEPT

         iptable -A  OUTPUT -p tcp --sport 3306 -j ACCEPT

只允許指定ip訪問: iptable -A  INPUT -p tcp --dport 3306  -s 指定ip -j ACCEPT

#防止SYN攻擊 輕量級預防 
iptables -N syn-flood 
iptables -A INPUT -p tcp --syn -j syn-flood 
iptables -I syn-flood -p tcp -m limit --limit 3/s --limit-burst 6 -j RETURN 
iptables -A syn-flood -j REJECT

 

#防止DOS太多連接進來,可以允許外網網卡每個IP最多15個初始連接,超過的丟棄 
iptables -A INPUT -i eth0 -p tcp --syn -m connlimit --connlimit-above 15 -j DROP 
iptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT

#用Iptables抵禦DDOS (參數與上相同)
iptables -A INPUT  -p tcp --syn -m limit --limit 12/s --limit-burst 24 -j ACCEPT
iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT

(參考:https://www.cnblogs.com/fatt/p/6932380.html)

7、寫一個shell腳本,將/usr/local/bak下大於1M的文件移到/tmp下

#! /bin/bash
cd /usr/local/bak
for filename in `ls -l | awk '$5>10240 print{$9}'`
    do
        mv $filename /tmp
    done

ls -l 預設顯示的大小是以位元組為單位 ,可以使用 ls -lh 來查看文件大小

8、查看應用服務流量使用情況

iftop

左邊為伺服器;中間為外網IP,左箭頭流入,右箭頭流出;右邊為2s 10s 40s 的流量情況。

TX:發送流量  RX:接收流量  TOTAL:總流量  Cumm:運行iftop到目前時間的總流量  peak:流量峰值  rates:分別表示過去 2s 10s 40s 的平均流量

9、統計主機tcp的鏈接數量,並按鏈接狀態分類

netstat -an | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

 

 更多題目請訪問主頁鏈接:https://www.cnblogs.com/aloneysir/


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • [toc] yum工具及源碼包 yum 是RedHat以及CentOS中的軟體包管理器,能夠通過互聯網下載以rpm結尾的包,並且安裝,並可以自動處理依賴性關係,無需繁瑣的一次次下載安裝。 yum源 要成功的使用yum工具安裝更新軟體或系統,就需要有一個包含各種rpm軟體包的repository(軟體 ...
  • Linux 操作系統及其組成 操作系統(OS)是管理電腦硬體與軟體資源的電腦程式,同時也是電腦系統的內核與基石。操作系統需要處理如管理與配置記憶體、決定系統資源供需的優先次序、控制輸入設備與輸出設備、操作網路與管理文件系統等基本事務。操作系統也提供一個讓用戶與系統交互的操作界面。 一個典型的Li ...
  • 本文主要瞭解了Linux系統中的Shell,以及什麼是BATH。 ...
  • 普通文件類型 (-)Linux中最多的一種文件類型, 包括 純文本文件(ASCII);二進位文件(binary);數據格式的文件(data);各種壓縮文件.第一個屬性為 [-] ,這些文件一般是用一些相關的應用程式創建,比如圖像工具、文檔工具、歸檔工具... .... 或 cp工具等。這類文件的刪除 ...
  • [toc] linux軟體管理 RPM RPM的基礎概述 rpm:RPM全稱 縮寫,由紅帽開發用於軟體包的安裝,升級卸載與查詢 rpm包的命名規則 name: 軟體包名稱 version: 版本號, 主版本, 重大更新. 次版本, 子功能更新. 修訂號, 修複bug release: 發佈版本 el ...
  • [toc] 純凈版虛擬機 1. 先安裝個虛擬機,登陸nginx官網 http://nginx.org/選擇一個穩定的版本 2. 右鍵複製地址,到新克隆的純凈虛擬機wget 下載 先yum install y wget 把源換成阿裡雲的 curl o /etc/yum.repos.d/CentOS B ...
  • Linux目錄和文件——查詢目錄和文件的命令 摘要:本文主要學習了在Linux系統中是如何查詢目錄和文件的。 which命令 which命令是根據PATH環境變數設置的路徑,去搜索執行文件。 基本語法 選項說明 使用舉例 type命令 type命令用來顯示指定命令的類型: 1)alias:別名。 2 ...
  • crontab 簡介 ​ crontab常見於Unix和類Unix的操作系統之中,用於設置周期性被執行的指令。編輯好的crontab會被存放於“crontab”文件中,以供之後讀取和執行。每個用戶可以擁有自己的crontab文件。通常,crontab存儲的指令被守護進程crond激活,crond常常 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...