面試總結二

問題:

  1. awk,grep,sed 忽略大小寫用哪一個參數?
  2. 403狀態碼錶示什麼?
  3. vim如何跳到最後一行,第一行?
  4. 靜態頁面與動態頁面的區別?
  5. Linux某目錄下有100個目錄,如何找出最大的那個目錄?
  6. 瀏覽器qq能上,但訪問不了網頁,如何排查?
  7. ftp協議的端口號是多少?
  8. TCP三次握手,ack,seq寫出來?

 

只記得上面8個問題。css

第一個問題很簡單吧,確定是參數 -i 啦html

第二個問題也很簡單,404表示請求資源不存在,403表示服務端收到請求,可是拒絕提供服務,503表示服務端當前不能處理客戶端的請求,一段時間後可能恢復正常。python

第三個問題也很簡單,要回到首行,按小寫的 「gg」,要回到未行,按 "Shift + g"jquery

第四個問題是動態網頁與靜態網頁的區別。當時聽到這個問題內心是很高興的,回答"靜態網頁是用html與css的佈局,網頁的靜態的;動態網頁多加了js,jquery,ajax,能夠與後臺進行交互,也能夠有輪播圖的效果"。這種回答必然 大錯!! 老鐵啊,扎心了!!web

能夠看下這位大神的博客: 靜態頁面、動態頁面和僞靜態頁面的區別面試

總結:ajax

靜態頁面:訪問速度快,不須要從數據庫裏面提取數據,不會對服務器產生壓力。可是,靜態頁面是存儲在HTML裏面,會佔用較多的服務器空間,每次添加內容都會生成新的html頁面。若是不是專業人士維護比較麻煩。數據庫

動態頁面:使用服務器的空間小。數據是從數據庫裏面調出來的,若是須要修改頁面某些數據,直接更改數據庫,那麼全部的動態網頁,就會自動更新。可是,用戶訪問速度較慢。vim

爲何會訪問動態頁面較慢呢?這個問題要從動態頁面的訪問機制提及了,其實咱們的服務器上面有一個模版引擎(進行模版渲染)。當用戶訪問的時候,這個模版引擎就會把動態頁面翻譯爲靜態頁面,這樣你們就可以在瀏覽器裏面查看源碼(模版引擎渲染以後的源碼)。除訪問速度較慢之外,動態頁面的數據是從數據庫裏面調用過來的。若是訪問的人數較多,數據庫的壓力會很是大。過如今的動態程序多數都使用了緩存技術。可是整體來說,動態頁面對於服務器的壓力比較大一些。整體來說,動態頁面對於服務器的壓力比較大一些。同時動態頁面的網站通常對於服務器的要求比較高一些,同時訪問的人越多也會形成服務器的壓力越大。windows

固然,也能夠這麼說: 不一樣的用戶訪問到的靜態頁面是相同的;但訪問到的動態頁面能夠是不相同的。

第五個問題

在你想查的目錄下 執行這個 du -sh * | sort -h 會把佔用空間最大的文件列在最後 放在開頭的話 du -sh * | sort -rh

第六個問題

網絡設置和DNS服務器的問題
這個問題有不少種可能,具體參考: 爲何電腦能上QQ卻打不開網站的解決方法

下面我從DNS方面入手,講下可能出現的問題及如何解決。能上QQ,說明PC是能夠訪問外網的,可是打不開網站,就可能DNS問題,你能夠在cmd下ping www.baidu.com再ping百度的IP地址。若是此時前者ping不通然後者可ping通。說明DNS出問題了。下面是從網上找來的相關解決方法:

  1. 有些網友出於某些方面考慮,在瀏覽器裏設置了代理服務器(控制面板--Internet選項—鏈接—局域網設置—爲LAN使用代理服務器),設置代理服務器是不影響QQ聯網的,由於QQ用的是4000端口,而訪問互聯網使用的是80或8080端口。這就是不少的筒子們不明白爲何QQ能上,而網頁不能打開的緣由。而代理服務器通常不是很穩定,有時侯能上,有時候不能上。若是有這樣設置的,請把代理取消就能夠了。
  2. 當IE沒法瀏覽網頁時,可先嚐試用IP地址來訪問,若是能夠訪問,那麼應該是DNS的問題形成DNS的問題多是連網時獲取DNS出錯或DNS服務器自己問題,這時你能夠手動指定DNS服務(地址能夠是你當地ISP提供的DNS服務器地址,也能夠用其它地方可正常使用DNS服務器地址)。在網絡的屬性裏進行,(單擊「開始→控制面板」,雙擊打開「網絡鏈接」,右鍵單擊「本地鏈接」,選擇「屬性」,選中「Internet協議(TCP/IP)」,單擊「屬性」,在「使用下面的DNS服務器地址」中看是否是正確的網絡)。
  3. 不一樣的ISP有不一樣的DNS地址。有時候則是路由器或網卡的問題,沒法與ISP的DNS服務鏈接,這種狀況的話,可把路由器關一會再開,或者從新設置路由器。 若還不能解決問題,能夠更新網卡驅動程序和換塊網卡試試。
  4. 還有一種可能,是本地DNS緩存出現了問題。爲了提升網站訪問速度,系統會自動將已經訪問過並獲取IP地址的網站存入本地的DNS緩存裏,一旦再對這個網站進行訪問,則再也不經過DNS服務器而直接從本地DNS緩存取出該網站的IP地址進行訪問。因此,若是本地DNS緩存出現了問題,會致使網站沒法訪問。能夠在cmd下執行ipconfig /flushdns來重建本地DNS緩存。

 

第七個問題問: ftp協議的端口號是多少?

可憐我當時一時想不起ftp協議端口號是多少,就答ssh是22,telnet是23。而後面試官說是20,21;還說主動與被動。我真是一臉懵逼……

回來後查了網上的資料,感受這篇博客寫得最好了: FTP主動模式和被動模式的區別

基礎知識:

  FTP只經過TCP鏈接,沒有用於FTP的UDP組件。FTP不一樣於其餘服務的是它使用了兩個端口, 一個數據端口和一個命令端口(或稱爲控制端口)。一般21端口是命令端口,20端口是數據端口。當混入主動/被動模式的概念時,數據端口就有可能不是20了。

主動模式FTP:

先看圖:

主動模式下,FTP客戶端從任意的非特殊的端口(N > 1023)連入到FTP服務器的命令端口--21端口。而後客戶端在N+1(N+1 >= 1024)端口監聽,而且經過N+1(N+1 >= 1024)端口發送命令給FTP服務器。服務器會反過來鏈接用戶本地指定的數據端口,好比20端口。

以服務器端防火牆爲立足點,要支持主動模式FTP須要打開以下交互中使用到的端口:

  • FTP服務器命令(21)端口接受客戶端任意端口(客戶端初始鏈接)
  • FTP服務器命令(21)端口到客戶端端口(>1023)(服務器響應客戶端命令)
  • FTP服務器數據(20)端口到客戶端端口(>1023)(服務器初始化數據鏈接到客戶端數據端口)
  • FTP服務器數據(20)端口接受客戶端端口(>1023)(客戶端發送ACK包到服務器的數據端口)

在第1步中,客戶端的命令端口與FTP服務器的命令端口創建鏈接,併發送命令「PORT 1027」。而後在第2步中,FTP服務器給客戶端的命令端口返回一個"ACK"。在第3步中,FTP服務器發起一個從它本身的數據端口(20)到客戶端先前指定的數據端口(1027)的鏈接,最後客戶端在第4步中給服務器端返回一個"ACK"。

  主動方式FTP的主要問題實際上在於客戶端。FTP的客戶端並無實際創建一個到服務器數據端口的鏈接,它只是簡單的告訴服務器本身監聽的端口號,服務器再回來鏈接客戶端這個指定的端口。對於客戶端的防火牆來講,這是從外部系統創建到內部客戶端的鏈接,這是一般會被阻塞的

 

被動模式FTP

 

爲了解決服務器發起到客戶的鏈接的問題,人們開發了一種不一樣的FTP鏈接方式。這就是所謂的被動方式,或者叫作PASV,當客戶端通知服務器它處於被動模式時才啓用。

  在被動方式FTP中,命令鏈接和數據鏈接都由客戶端,這樣就能夠解決從服務器到客戶端的數據端口的入方向鏈接被防火牆過濾掉的問題。當開啓一個FTP鏈接時,客戶端打開兩個任意的非特權本地端口(N >=1024和N+1)。第一個端口鏈接服務器的21端口,但與主動方式的FTP不一樣,客戶端不會提交PORT命令並容許服務器來回連它的數據端口,而是提交PASV命令。這樣作的結果是服務器會開啓一個任意的非特權端口P >=1024),併發送PORT P命令給客戶端。而後客戶端發起從本地端口N+1到服務器的端口P的鏈接用來傳送數據。

對於服務器端的防火牆來講,必須容許下面的通信才能支持被動方式的FTP:

  1. FTP服務器命令(21)端口接受客戶端任意端口(客戶端初始鏈接)
  2. FTP服務器命令(21)端口到客戶端端口(>1023)(服務器響應客戶端命令)
  3. FTP服務器數據端口(>1023)接受客戶端端口(>1023)(客戶端初始化數據鏈接到服務器指定的任意端口)
  4. FTP服務器數據端口(>1023)到客戶端端口(>1023)(服務器發送ACK響應和數據到客戶端的數據端口)

 

在第1步中,客戶端的命令端口與服務器的命令端口創建鏈接,併發送命令「PASV」。而後在第2步中,服務器返回命令"PORT 2024",告訴客戶端(服務器)用哪一個端口偵聽數據鏈接。在第3步中,客戶端初始化一個從本身的數據端口到服務器端指定的數據端口的數據鏈接。最後服務器在第4 步中給客戶端的數據端口返回一個"ACK"響應。

  被動方式的FTP解決了客戶端的許多問題,但同時給服務器端帶來了更多的問題。最大的問題是須要容許從任意遠程終端到服務器高位端口的鏈接。幸運的是,許多FTP守護程序,包括流行的WU-FTPD容許管理員指定FTP服務器使用的端口範圍。詳細內容參看附錄1。 

  第二個問題是客戶端有的支持被動模式,有的不支持被動模式,必須考慮如何能支持這些客戶端,以及爲他們提供解決辦法。例如,Solaris提供的FTP命令行工具就不支持被動模式,須要第三方的FTP客戶端,好比ncftp。

  隨着WWW的普遍流行,許多人習慣用web瀏覽器做爲FTP客戶端。大多數瀏覽器只在訪問ftp://這樣的URL時才支持被動模式。這究竟是好仍是壞取決於服務器和防火牆的配置。

 

下面是主動與被動FTP優缺點的簡要總結: 

  主動FTP對FTP服務器的管理有利,但對客戶端的管理不利。由於FTP服務器企圖與客戶端的高位隨機端口創建鏈接,而這個端口頗有可能被客戶端的防火牆阻塞掉。被動FTP對FTP客戶端的管理有利,但對服務器端的管理不利。由於客戶端要與服務器端創建兩個鏈接,其中一個連到一個高位隨機端口,而這個端口頗有可能被服務器端的防火牆阻塞掉

  幸運的是,有折衷的辦法。既然FTP服務器的管理員須要他們的服務器有最多的客戶鏈接,那麼必須得支持被動FTP。咱們能夠經過爲FTP服務器指定一個有限的端口範圍來減少服務器高位端口的暴露。這樣,不在這個範圍的任何端口會被服務器的防火牆阻塞。雖然這沒有消除全部針對服務器的危險,但它大大減小了危險。

 

 

軟鏈接與硬鏈接也有問到。好比問區別阿,當時我打了一個比方,軟鏈接就像windows下的快鍵方式。刪除軟連接並不影響被指向的文件,但若被指向的原文件被刪除,則相關軟鏈接被稱爲死連接,就像windows文件被刪除了,那它的快鍵方式也沒廢了。

硬連接文件就至關於文件的另一個入口。文件是存在磁盤中的block塊的,經過索引結點指向block塊來進行硬連接。文件至少會有一個硬連接,就是它自己。若是一個文件的全部硬連接文件都被沒有,那意味着該文件被刪除了。

so, 當時有問到這麼一個問題,一個目錄佔用了不少空間。如何把它刪除?? 要刪除的話確定要先備份,可是目錄太大,備份也需佔用不少的磁盤空間。因此備份不明智的。正確的作法是先給這個目錄建立一個額外的硬連接,再刪除該目錄。若是一段時間後,系統正常,刪除的內容也沒有對一些業務產生影響。這時才能夠刪除以前建立的硬連接,此時該目錄才真正被刪除。

 

此次是去面試運維實習生的。學Linux有一個多月了,中間除去二個星期去作項目。不少Linux的知識沒有經常用,so, 一問到也不知道怎麼回答,尷尬~_~

不少事情,不試一下,都不知道本身不行,哈哈哈。最後來個段子:

相關文章
相關標籤/搜索