高級級網絡工程師面試題60例分析

1、雲網服務管理
  1. 緩存DNS與權威DNS有什麼區別?通常用戶在上網時,DNS解析過程是怎樣的?
    答案:
    權威/官方DNS:至少管理一個DNS區域,,須要IANA等官方機構受權;好比根域DNS、一級域DNS、二級域DNS服務器等等。
    緩存DNS:無需管理任何DNS區域,可是可以替客戶機查詢,經過緩存、複用查詢結果來提升客戶機體驗的響應速度;好比ISP服務商、企業局域網。
    用戶上網時的DNS解析過程,按照優先順序以下:
    1) 首先檢查本機的DNS緩存(內存中的記錄)
    2) 而後檢查本機的hosts文件
    3) 而後向網絡配置中指明的首選DNS服務器(企業或ISP的緩存DNS)提交查詢
    4) 由首選DNS發起遞歸查詢(問另外一個緩存DNS)或迭代(問根、一級、二級、……DNS)查詢,最終返回解析結果
  2. 動態網站與靜態網站有什麼區別,http平臺要支持PHP程序須要具有哪些條件?
    答案:
    靜態網站:瀏覽器經過URL訪問到的網頁內容固定不變,對應服務端靜態提供的資源文件,主要包括.txt文本、.html網頁、.jpg|.png圖片、.zip|.tar.gz壓縮文件等等。
    動態網站:瀏覽器經過URL訪問到的網頁內容動態變化,對應服務端的網頁程序動態生成的資源文件,主要包括 .php、.jsp、.asp、.wsgi等不一樣網頁語言編寫的程序。
    支持PHP程序:安裝 httpd、php、php-mysql軟件包
  3. 是否瞭解Zabbix監控系統,它是如何獲取路由交換設備或Linux主機信息的?
    答案:
    Zabbix是一套集中展現網絡設備、主機信息的開源監控平臺,經過C/S模式採集數據,經過B/S模式在WEB端展現和配置。
    由zabbix server經過SNMP,zabbix agent,ping,端口監視等方法獲取被監控設備信息。
    zabbix agent須要安裝在被監控的目標服務器上,主要完成硬盤、內存、CPU等硬件信息的收集。
    而對於路由器、交換機等網絡設備,則經過SNMP協議向zabbix server提供監控信息。
  4. 如何配置httpd服務器支持多個網站?
    答案:
    在同一套Web服務器上提供多個網站的技術稱爲虛擬主機,標配的httpd並不支持虛擬主機。
    若須要httpd支持多個Web網站,須要添加以下配置(每個站點添加一段):
    <VirtualHost *:80>
    ServerName 此虛擬站點的DNS名稱
    DocumentRoot 此虛擬站點的網頁根目錄
    </VirtualHost>
  5. 在CentOS 6.x系統中,主要經過什麼命令來管理系統服務的開啓和關閉?
    答案:
    CentOS 6.x系統中,使用service工具:
    service 服務名 start //開啓服務
    service 服務名 stop //中止服務
    service 服務名 restart //重啓服務
    service 服務名 status //查看服務狀態
    service 服務名 reload //從新加載服務配置
  6. 在CentOS 7.x系統中,主要經過什麼命令來管理系統服務的開啓和關閉?
    答案:
    CentOS 7.x系統中,使用systemctl工具:
    systemctl start 服務名.. .. //開啓服務
    systemctl stop 服務名.. .. //中止服務
    #systemctl restart 服務名.. .. //重啓服務
    systemctl status 服務名.. .. //查看服務裝
  7. 在CentOS 6.x系統中,如何將某個服務設置爲開機自動運行?
    答案:
    CentOS 6.x系統中,使用chkconfig或ntsysv工具:
    chkconfig 服務名 on //設置開機自啓
    chkconfig 服務名 off //禁止開機自啓
    或者
    ntsysv --level //經過交互工具配多個服務
  8. 在CentOS 7.x系統中,如何將某個服務設置爲開機自動運行?
    答案:
    CentOS 7.x系統中,使用systemctl工具:
    systemctl status 服務名XX .. .. //查看XX服務的狀態
    systemctl restart 服務名XX .. .. //重啓XX服務
  9. 如何爲一臺CentOS7或RHEL7服務器添加新的軟件源?
    答案:
    vim /etc/yum.conf
    .. ..
    gpgcheck = 0 //禁止軟件簽名檢查
    #yum-config-manager --add-repo 軟件源的URL網址 //添加新配置
    yum repolist //確認倉庫列表
  10. 在CentOS 7.x系統中,如何爲新增長的網卡eth1添加網絡鏈接配置?
    答案:
    可使用nmcli工具添加鏈接:
    nmcli connection add con-name eth1 ifname eth1 type Ethernet
    而後爲此網卡配置IP地址參數(DHCP方式):
    nmcli connection modify eth1 ipv4.method auto connection.autoconnect yes
    或者,配置靜態IP地址參數:
    #nmcli connection modify eth1 ipv4.method manual ipv4.addresses IP地址/掩碼位數 ipv4.gateway 默認網關地址 ipv4.dns DNS服務器地址 auto connection.autoconnect yes
  11. 在CentOS 6.x系統中,如何爲網卡eth0配置靜態網絡參數?
    答案:
    能夠直接修改網卡eth0的配置文件/etc/sysconfig/network-scripts/ifcfg-eth0:
    #/etc/sysconfig/network-scripts/ifcfg-eth0
    DEVICE=eth0 //網卡設備名稱
    TYPE=Ethernet //網卡類型爲以太網
    ONBOOT=yes //啓動時是否激活
    BOOTPROTO=static //協議類型(static|dhcp)
    IPADDR=192.168.1.90 //網絡IP地址
    PREFIX=24 //掩碼位數
    GATEWAY=192.168.1.1 //默認網關地址
    BROADCAST=192.168.1.255 //廣播地址
    HWADDR=00:0C:29:FE:1A:09 //網卡MAC地址
    而後,從新啓動network服務便可:
    #service network restart
  12. 在CentOS或RHEL系統中,如何安裝從第三方下載的.rpm軟件包?
    答案:
    若是沒有其餘依賴關係,可使用rpm命令直接安裝:
    #rpm -ivh 軟件名-版本.架構.rpm .. ..
    若是存在依賴關係,並且能夠經過本機已知的軟件源解決,可使用yum命令安裝:
    #yum -y install 軟件名-版本.架構.rpm .. ..
    或者
    #yum -y localinstall 軟件名-版本.架構.rpm .. ..
  13. 公司採用Nginx做爲Web服務器,簡述源代碼編譯安裝Nginx的操做?
    答案:
    選擇源代碼編譯方式來安裝軟件的話,好處是方便獲取軟件的最新版、能夠靈活配置軟件安裝;不足是安裝過程比rpm等方式要繁瑣,並且須要有可用的編譯環境。
    好比,首先確保安裝有可用的C語言編譯環境(廚房):
    #yum -y install gcc gcc-c++ make
    而後,須要從軟件官方網站獲取nginx軟件的源代碼文件(買菜,好比nginx-1.15.6.tar.gz)。
    後續編譯安裝過程以下。
    1)解包(取出菜)
    #tar -xf nginx-1.15.6.tar.gz
    2)配置(洗菜、配菜)
    #cd nginx-1.15.6/
    #./configure //能夠 ./configure --help獲取幫助
    3)編譯(炒菜)
    #make
    4)安裝(裝盤上桌)
    #make install
    安裝完成後,nginx程序的默認路徑位於 /usr/local/sbin/nginx 。
  14. Linux中第一個光盤驅動器的設備文件是sr0,第一個SATA接口硬盤的設備文件是?
    答案:
    SATA接口的硬盤類別爲sd,老式IDE接口的硬盤類別爲hd,硬盤設備的順序按字母順序排列,
    所以第一個SATA接口的硬盤設備是 sda。
  15. 分區的格式類型中能夠做爲Linux根分區格式的是?
    答案:
    EXT3 —— 好比,RHEL 5.x/CentOS 5.x系列操做系統
    EXT4 —— 好比,RHEL 6.x/CentOS 6.x系列操做系統
    XFS —— 好比,RHEL 7.x/CentOS 7.x系列操做系統
  16. 在CentOS 6.x/7.x系統中,默認的防火牆服務分別是什麼?
    答案:
    iptables、firewalld
  17. 在CentOS 6.x/7.x系統中,開啓什麼服務能夠提供對此主機的遠程鏈接?
    答案:
    在Linux主機開啓sshd服務,默認即容許從其餘主機(使用Putty/Xshell/SecureCRT等支持SSH協議的客戶端軟件)遠程鏈接。
  18. 若是忘記了zabbix監控平臺的管理員密碼,應該怎麼辦?
    答案:
    爲了不監控數據丟失,可使用zabbix數據庫帳號進入系統,想辦法修改zabbix庫users表中別名爲admin的密碼記錄(好比改爲某個已知密碼的md5加密字串),從而經過新密碼取回Web平臺的管理權限。
  19. 對Linux系統熟悉麼,請列舉幾個你在Linux主機上配置過的網絡應用?
    答案:
    Web網站(httpd)、數據庫(MariaDB)、FTP(vsftpd)、yum軟件源、郵件發送(postfix)、DHCP地址分配(dhcp)、PXE裝機(tftp-server)、監控平臺(zabbix)、……
  20. 在一臺CentOS 7.x主機上使用yum安裝軟件時,老出現以下提示,你會怎麼辦?
    Existing lock /var/run/yum.pid: another copy is running as pid 3053.
    Another app is currently holding the yum lock; waiting for it to exit...
    The other application is: PackageKit
    Memory : 37 M RSS ( 82 MB VSZ)
    .. ..
    答案:
    首先,會嘗試理解一下提示信息的含義,必要時藉助翻譯軟件。
    這段提示信息的含義大體是有另外一個進程正在使用yum(因此加了佔用鎖),因此致使用戶的yum操做沒法執行;若是隻是當即解決問題的話,能夠嘗試殺死那個進程(提示已指出進程名 PackageKit,進程編號爲3053),好比執行pkill -9 PackageKit或者kill -9 3053。
    若是是平時總出現相似提示的話,應該想辦法阻止PackageKit進程反覆出現,通常我會上網查找相似問題的解決辦法,好比上度娘搜索「yum packagekit」,基本上都會有解決辦法。
    此列解決方法:
    /etc/yum/pluginconf.d/refresh-packagekit.conf改成以下:
    enabled=0
  21. 在Linux主機中如何幹掉某個正運行的程序?
    答案:
    若是知道這個進程的名字,能夠執行 killall -9 進程名;
    若是知道這個進程的一部分名字,能夠執行 pkill -9 進程名關鍵詞;
    若是知道這個進程的編號(PID),能夠執行 kill -8 進程號。
  22. 適合用來搭建網站服務器的軟件有哪些,各自有什麼特色?
    答案:
    IIS,微軟公司的Internet Information Server,適合小型企業的Windows網站服務器。
    Apache HTTP Server,開源網站軟件,市場佔有率高。適合搭LAMP動態網站服務器,支持PHP或Python網頁程序和MySQL數據庫。
    Nginx,開源網站軟件,市場佔有率這幾年上升很是快,聽說併發處理能力很是厲害;適合搭LNMP動態網站服務器,支持PHP或Python網頁程序和MySQL數據庫。
    Tomcat,也是Apache項目組的一個網站項目吧,能夠支持Java網頁程序。
    Jboss,紅帽公司的Java網站服務器軟件。
    WebSphere,IBM公司的Java網站服務器軟件。
  23. 給你一臺Linux服務器,如何加快它的開機啓動速度?
    答案:
    1)減小沒必要要運行的程序和系統服務,設置不要開機自動運行。
    #systemctl disable 服務名 .. .. --now
    2)若是平時的管理主要是遠程維護,還能夠設置系統在純字符模式下運行(不開桌面)。
    #systemctl set-default multi-user.target //設置默認運行模式
    #systemctl isolate multi-user.target //當即切換到字符模式
  24. 如何查看Linux主機的路由表?
    答案:
    #route -n
  25. 如何查看Linux主機上的網絡鏈接狀況?
    使用netstat診斷工具,好比:
    #netstat -antpu
    .. ..
  26. 如何知道CentOS 7.x系統中一共安裝了大概多少個軟件包?
    答案:
    使用yum list installed能夠列出已安裝的軟件包,結合管道和wc -l操做能夠統計行數,從而獲知大約安裝的軟件包總數量。好比:
    [root@localhost ~]# yum list installed | wc -l
    1602
  27. 簡述httpd服務配置中ServerName、DocumentRoot、Listen、DirectoryIndex語句的含義?
    答案:
    ServerName:設置本網站註冊的DNS名稱(即完整域名)。
    DocumentRoot:設置本網站的網頁根目錄。
    Listen:設置監聽Web服務的本機IP地址及端口。
    DirectoryIndex:設置從網頁目錄中提取網頁時優先查找的網頁文件名。
  28. 在一臺DNS服務器來看,遞歸查詢和迭代查詢分別表示什麼?
    答案:
    對於一臺DNS服務器來講 ——
    若容許遞歸,則當客戶端請求解析的域名非本DNS管轄時,本DNS會向其餘DNS服務器代詢;
    若不容許遞歸,則當客戶端請求解析的域名非本DNS管轄時,本DNS會放棄代詢 —— 可是,若是目標地址位於已知的某個受權子域,本DNS會告知客戶端對應的子DNS服務器的地址信息(即迭代)。
  29. 使用zabbix監控平臺時,如何得到被監控主機網卡eth0的入站、出站流量?
    答案:
    須要爲被監控主機分別添加入站流量、出站流量監控項,參考鍵值以下:
    入站流量監控,鍵值爲net.if.in[eth0];
    出站流量監控,鍵值爲net.if.out[eth0]。
  30. 管理Linux主機時,最經常使用的文件編輯器是什麼?如何把開頭5行移動到文件末尾去?
    答案:
    最經常使用的文件編輯器:vi,或者vim。
    使用vim打開一個文件後,在第1行處按5dd能夠剪切5行內容,而後按G移動到文件最後一行,再按p能夠粘貼剛剛剪切的5行內容,完成。php

    2、數據庫管理html

  31. 對於MySQL或MariaDB數據庫服務器,如何爲管理帳號root設置密碼?
    答案:
    可使用mysqladmin工具,修改密碼參考以下操做:
    #mysqladmin -uroot -p舊密碼 password '舊密碼'
  32. 管理MySQL或MariaDB數據庫服務器時,如何建立新庫並受權用戶?
    答案:
    以管理帳號root鏈接數據庫,建庫、受權操做分別使用CREATE、GRANT,例如:
    MariaDB [(none)]> CREATE DATABASE 數據庫名;
    MariaDB [(none)]> GRANT all ON 數據庫名.表名 TO 用戶名@客戶機地址 IDENTIFIED BY '密碼';
  33. 使用SQL指令在工資表salary中查詢月薪資yuexin超過10000元的員工名單?
    答案:
    MariaDB [(none)]> SELECT * FROM salary WHERE yuexin > 10000;
  34. 在MySQL或MariaDB數據庫服務器上,如何刪除密碼爲空的root用戶記錄?
    答案:
    MariaDB [(none)]> DELETE FROM mysql.user WHERE User='root' AND Password='';
  35. 若是忘記了MySQL或MariaDB數據庫的管理密碼,如何恢復?
    答案:
    基本恢復思路:
    1) 首先中止數據庫系統服務
    2) 而後繞過受權直接開啓mysqld_safe程序(好比mysqld_safe --skip-grant-tables)
    3) 而後使用mysql鏈接數據庫,經過grant從新爲用戶root受權,刷新受權表
    4) 最後關閉mysqld_safe進程,正常啓動數據庫系統服務
  36. 簡述MySQL或MariaDB數據庫的備份與恢復操做?
    答案:
    備份操做使用mysqldump命令,例如:
    #mysqldump -u 用戶名 -p 數據庫名 > 備份.sql
    恢復操做使用mysql命令,例如:
    #mysql -u root 數據庫名 < 備份.sql
  37. 請列出你知道的數據庫產品?
    答案:
    MS SQLServer,微軟公司的數據庫商業軟件。
    Oracle,甲骨文公司的數據庫商業軟件,鼎鼎有名的,主要用在大型企業。
    MySQL,很是流行的開源數據庫軟件,後來被SUN公司收購,又後來SUN公司被Oracle收購,因此如今MySQL也是Oracle公司的一款產品,暫未商業化。
    MariaDB,與MySQL的親緣關係很是緊密的一款開源數據庫軟件,出自於原MySQL數據庫的主力做者之手,因此與MySQL數據庫的類似度很是高。
    其餘還有聽過IBM DB二、PostgreSQL、Infomix、Sybase等等,不太熟悉。
  38. 數據庫中的varchar和char類型有什麼區別?
    答案:
    1)char爲定長字符串型
    可指定爲1~255字符,當字段的值不夠指定長度時,會在右邊用空格補齊。
    2)varchar爲變長字符串型
    可指定爲1~255字符,當字段的值不夠指定長度時,按實際字符數分配存儲空間。
  39. 如何爲表格a增長一個名爲score的列,此列做爲第1列,並設置默認值75?
    答案:
    MariaDB [(studb)]> ALTER TABLE a ADD score float(5,2) DEFAULT 75 FIRST;
  40. 數據表的主鍵指的是什麼,如何實現自動增加的主鍵字段?
    答案:
    1)主鍵特色及要求
    每一張表只能有一個主鍵字段,一般把可以惟一標識一條記錄的字段設爲主鍵字段,主鍵字段不容許出現重複的記錄值,且不容許賦NULL值。
    2)AUTO_INCREMENT自動增加
    將字段值設置爲自動增長,無需手動賦值,適用於整數值字段,一般與 PRIMARY KEY 連用。好比:
    MariaDB [(studb)]> ALTER TABLE stuinfo MODIFY 學號 char(13) PRIMARY KEY;mysql

    3、網絡安全nginx

  41. ARP欺騙、中間人是基於哪一種方式實現的?
    答案:
    這兩種方式都是針對ARP地址解析協議實施的,主要見於企業局域網環境。
    交換網絡中主機之間的通訊依賴於ARP緩存表,其中記錄了網絡內不一樣IP地址的MAC地址以及交換機接口,而ARP緩存表的更新比較被動(來源於通訊發起方主機),很是容易受到者干擾。
    若是者針對受害主機發送大量的虛假「IP->MAC」記錄,就可能致使受害主機的網絡通訊異常,構成ARP欺騙。
    若是者針對通訊雙方同時進行ARP欺騙,能夠進一步誘使通訊雙方把信息都轉發給者主機,從而構成ARP中間人,這種方式可能致使敏感信息泄露。
  42. 是否熟悉華爲防火牆,其默認的安全區域有哪些?
    答案:
     Untrust(非受信任區域):安全級別爲5,一般用於定義互聯網流量。
     DMZ(非軍事化區域):安全級別50,一般用於定義服務器所在區域。
     Trust(受信任區域):安全級別85,一般用於定義內網所在區域。
     Local(本地區域):安全級別100,該區域主要定義,設備自身發啓的流量,或者是抵達設備自身流量。好比Telnet、SNMP、NTP、IPsec ×××等流量。
  43. DoS、DDoS分別指的是什麼?
    答案:
    DoS即Deny of Service(拒絕服務),指的是經過任何一種方式,最終致使目標系統失去響應,從而沒法爲正經常使用戶提供服務或資源的。DDoS即Distribute DoS(分佈式拒絕服務),指的是從分散在互聯網各地的大量主機同時發起針對同一個目標的DoS。
    DoS 中比較常見的是洪水方式,如 SYN Flood。
    SYN Flood 利用 TCP 協議三次握手的原理,發送大量僞造源 IP 地址的 SYN,服務器每收到一個 SYN 就要爲這個鏈接信息分配核心內存並放入半鏈接隊列,而後向源地址返回 SYN+ACK,並等待源端返回 ACK。因爲源地址是僞造的,因此源端永遠都不會返回 ACK。若是短期內接收到的 SYN 太多,半鏈接隊列就會溢出,操做系統就會丟棄一些鏈接信息。 這樣正常的客戶發送的SYN請求鏈接也會被服務器丟棄。
    4.指的是什麼,主要用在什麼場合?
    答案:
    即Virtual Private Network(虛擬專用網),指的是在兩個網絡實體之間創建的一種長距離、受保護的專用鏈接。這兩個實體能夠經過點到點的鏈路直接相連,也能夠跨越不安全的Internet相連。
    主要應用於如下場合:
     跨國企業、跨城市企業的分公司之間的企業內部網絡互連
     移動辦公/出差員工與企業總部內部網絡的互連
     基於安全目的須要通過專用/加密通道訪問某些特定網站
  44. IDC與IPS分別指的是什麼,二者有什麼區別?
    答案:
    檢測系統(Intrusion Detection System,IDS)對行爲發現(告警)但不進行相應的處理。
    防禦系統(Intrusion Prevention System,IPS)對行爲發現並進行相應的防護處理。
  45. 防火牆上的QoS管理指的是什麼,有什麼好處?
    答案:
    QoS即Quality of Service(服務質量),指的是在防火牆對網絡中的流量按照必定的規則進行分類,並對這些流量進行帶寬的預留和保證的技術。經過QoS管理措施,能夠確保特徵流量在網絡中高效率、低延遲的轉發,對垃圾流量進行及時處理。
  46. 什麼是MD5?
    答案:
    MD5即報文一摘要算法,它是一種基於哈西函數的密碼算法,以任意長度的消息做爲輸入,生成128位的消息摘要做爲輸出,輸入消息是按512位的分組處理的,它的最大做用在於,將不一樣格式的大容量文件信息在用數字簽名軟件來簽署私人祕鑰前「壓縮」成一種保密格式,關鍵在於這種「壓縮」是不可逆的。
  47. 什麼是防火牆,爲何須要防火牆?
    答案:
    防火牆是在兩個網絡之間強制實施訪問控制的一個系統或一組系統。
    若是沒有防火牆,則整個內部網絡的安全性安全依賴於每一個主機,所以,全部主機都必須達到一致的高度安全水平,這在實際操做時很是困難,而防火牆被設計爲只運行專用的訪問控制軟件設備,沒有其餘的服務,所以也就意味着相對少一些缺陷和安全漏洞,這就使得安全管理變得更爲方便,易於控制,也會使內部網絡更加安全。
  48. 什麼是DMZ?
    答案:
    DMZ又稱爲非軍事區或者停火區,是在內部網絡和外部網絡之間增長的一個子網。
  49. 防火牆有哪些侷限性?
    答案:
    1)不能防範內部網絡
    2)防火牆通常不提供對內部數據的保護
    3)沒法防範數據驅動型
    4)防火牆不能阻止內部泄露的行爲
  50. 網絡安全的含義是什麼?
    答案:
    它是一個系統性的概念,不只包括網絡信息的存儲安全,還有涉及信息的產生、傳播和使用過程當中的安全,應該說網絡節點處的安全和通訊鏈路上的安全共同構成了系統的安全體系。
  51. 網絡安全的本質是什麼?
    答案:
    網絡安全從其本質上來說就是網絡上的信息安全。
  52. 創建口令應遵循哪些規則?
    答案:
    1)不使用和用戶名相同的口令
    2)不使用日期口令
    3)不使用英文單詞
    4)使用長口令和複雜口令
    5)常常更換口令
    6)不使用個本身一些相關的信息最爲口令如電話號碼
  53. 網絡安全主要有哪些關鍵技術?
    答案:
    安全漏洞掃描技術、主機安全技術、安全路由器、防火牆技術、檢測技術、身份認證技術、網絡技術、網絡監控與審計技術。
  54. 包過濾防火牆的基本思想是什麼?
    答案:
    對所接收的每一個數據包進行檢查,根據過濾規則,而後決定轉發或者丟棄該包,包過濾防火牆每每配置成雙向的。
  55. 我國制定實行的信息安全等級各是什麼名稱?
    答案:
    我國制定施行的信息安全等級分爲五級,他們是第一級:用戶自主保護級、第二級:系統審計保護級、第三極:安全標記保護級、第四級:結構化保護級、第五級:訪問驗證保護級。c++

  56. 簡述SQL注入漏洞的原理?
    答案:
    利用惡意SQL語句(WEB缺乏對SQL語句的鑑別)實現對後臺的數據庫的行爲。
  57. 爲何要研究網絡安全?
    答案:
    網絡須要與外界聯繫,同時也就受到許多方面的威脅:物理威脅、系統漏洞形成的威脅、身份鑑別威脅、線纜廉潔威脅和有害程序威脅等(可詳細展開)。
  58. 目前網絡基本安全技術有哪些?
    答案:
    目前的網絡基本安全措施有數據加密、數字簽名、身份認證、防火牆和檢測等。
  59. 網絡安全的基本體系包含哪幾部分?答案:網絡安全的基本體系由物理安全、信息安全、安全管理三部分組成。
相關文章
相關標籤/搜索