五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Linux運(yùn)維工程師面試題(2)

2023-03-12 20:40 作者:阿賢在b站  | 我要投稿

Linux運(yùn)維工程師面試題(2)
1 訪問一個(gè)網(wǎng)站的流程
2 TCP 三次握手,四次揮手
3 apache 和 nginx 有哪幾種虛擬主機(jī)
4 TCP 和 UDP 的區(qū)別
5 nginx 和 apache 的區(qū)別
6 什么是反向代理,什么是正向代理,區(qū)別是什么?
7 cookie和session的區(qū)別
8 nginx 調(diào)優(yōu)
9 系統(tǒng)出現(xiàn)大量的 time_wait 問題怎么解決
10 拿到一臺(tái)新服務(wù)器后需要干什么,做哪些系統(tǒng)優(yōu)化

Linux運(yùn)維工程師面試題(2)

祝各位小伙伴們?cè)缛照业阶约盒膬x的工作。
持續(xù)學(xué)習(xí)才不會(huì)被淘汰。
地球不爆炸,我們不放假。
機(jī)會(huì)總是留給有有準(zhǔn)備的人的。
加油,打工人!

1 訪問一個(gè)網(wǎng)站的流程

  1. 打開瀏覽器,輸入網(wǎng)址。首先查找本地緩存,如果有就打開頁面,如果沒有,利用DNS做域名解析;

  2. 瀏覽器發(fā)出DNS請(qǐng)求,遞歸查詢網(wǎng)站的IP地址。HOSTS表 --> 本地DNS --> 上層DNS(包括根DNS);

  3. 經(jīng)過了DNS解析,將網(wǎng)址轉(zhuǎn)換為IP地址,通過IP地址找到指定的Web服務(wù)器,與服務(wù)器建立 tcp 三次握手;

  4. 握手成功后瀏覽器發(fā)出HTTP請(qǐng)求,默認(rèn)請(qǐng)求的是index.html;

  5. 服務(wù)器接收到請(qǐng)求后將網(wǎng)頁文件發(fā)回給瀏覽器;

  6. 瀏覽器接收到服務(wù)器返回的網(wǎng)頁文件后,瀏覽器會(huì)解析html文件,將渲染后的網(wǎng)頁文件呈現(xiàn)給用戶。

  7. 瀏覽器將發(fā)回的數(shù)據(jù)及狀態(tài)碼存入 Cache 以便后續(xù)快速訪問。

2 TCP 三次握手,四次揮手

三次握手


  1. 客戶端向服務(wù)器端發(fā)送請(qǐng)求報(bào)文,報(bào)文中包含有隨機(jī)生成的seq序列號(hào)(x),并且還將報(bào)文中SYN字段置為1,表示需要建立TCP連接請(qǐng)求;

  2. 服務(wù)器端接收請(qǐng)求后回復(fù)請(qǐng)求報(bào)文,報(bào)文中包含隨機(jī)生成的seq(y)序列號(hào),并且將回復(fù)報(bào)文的SYN字段置1,表示也需要建立連接請(qǐng)求,雙向確認(rèn)。而且會(huì)產(chǎn)生ACK驗(yàn)證字段,將ACK確認(rèn)報(bào)文字段置為1,ACK驗(yàn)證字段數(shù)值是在客戶端發(fā)過來的seq(x)序列號(hào)基礎(chǔ)上加1進(jìn)行回復(fù),即回復(fù)ack(x+1)確認(rèn)號(hào)字段,以便客戶端收到信息時(shí),知曉自己的TCP建立請(qǐng)求已得到了確認(rèn),ack也可以理解為期望下次客戶端發(fā)送的seq序列號(hào)的值;

  3. 客戶端收到服務(wù)端發(fā)送的建立TCP連接請(qǐng)求后,會(huì)使自己的原有序列號(hào)(x)加1進(jìn)行再次發(fā)送序列號(hào)seq(x+1),同時(shí)回復(fù)ACK驗(yàn)證請(qǐng)求,將ACK字段標(biāo)記為1,在服務(wù)器端發(fā)送過來的seq(y)基礎(chǔ)上加1,即回復(fù)ack確認(rèn)控制字段(y+1),以便服務(wù)器端收到信息時(shí),知曉自己的TCP建立請(qǐng)求已經(jīng)得到了確認(rèn),同樣ack也可以理解為期望下次服務(wù)器端發(fā)送的seq序列號(hào)的值。

三次握手的目的是確保兩端的序列號(hào)同步,并且雙方都可以發(fā)送和接收數(shù)據(jù)。如果第一次握手失敗,客戶端會(huì)重復(fù)發(fā)送SYN包;如果第二次握手失敗,服務(wù)器也會(huì)重復(fù)發(fā)送SYN+ACK包;如果第三次握手失敗,客戶端會(huì)重新發(fā)送ACK包。

四次揮手

  1. 客戶端向服務(wù)器端發(fā)送請(qǐng)求報(bào)文,報(bào)文中包含有隨機(jī)生成的seq序列號(hào)(x),并且還將報(bào)文中SYN字段置為1,表示需要建立TCP連接請(qǐng)求;

  2. 服務(wù)器端收到報(bào)文后會(huì)發(fā)送ACK報(bào)文驗(yàn)證,將ACK置為1,同時(shí)發(fā)送ack(u+1)確認(rèn)字段,此時(shí)的序列號(hào)seq為v,此次報(bào)文表示已經(jīng)收到了結(jié)束請(qǐng)求;

  3. 此時(shí)服務(wù)器可能還有數(shù)據(jù)需要發(fā)送,因此需要等待一段時(shí)間。當(dāng)服務(wù)器完成數(shù)據(jù)發(fā)送后,會(huì)發(fā)送一個(gè)FIN包,表示已經(jīng)結(jié)束TCP連接,將FIN標(biāo)記為1,ACK標(biāo)記為1,此時(shí)的序列號(hào)seq為w,確認(rèn)號(hào)ack為u+1;

  4. 客戶端收到FIN包后,會(huì)回應(yīng)一個(gè)ACK包,表示已經(jīng)收到了結(jié)束請(qǐng)求,將ACK置為1,序列號(hào)seq為u+1,ack為w+1,并進(jìn)入TIME_WAIT狀態(tài)。等待一段時(shí)間后,客戶端關(guān)閉連接。服務(wù)器收到ACK包后,也關(guān)閉連接。

四次揮手的目的是確保兩端都知道對(duì)方已經(jīng)關(guān)閉了連接,并且不會(huì)再發(fā)送數(shù)據(jù)。如果客戶端發(fā)出FIN包后沒有收到ACK包,可以重發(fā)FIN包;如果服務(wù)器發(fā)出FIN包后沒有收到ACK包,可以重新發(fā)送FIN包。如果客戶端在TIME_WAIT狀態(tài)結(jié)束之前收到了重復(fù)的FIN包,可以忽略它。

3 apache 和 nginx 有哪幾種虛擬主機(jī)

  • 基于IP地址的虛擬主機(jī)

  • 基于域名的虛擬主機(jī)

  • 基于端口號(hào)的虛擬主機(jī)

4 TCP 和 UDP 的區(qū)別

  1. TCP是一種面向連接的協(xié)議,而UDP是無連接的協(xié)議。TCP是一對(duì)一傳輸,UDP支持一對(duì)一、一對(duì)多、多對(duì)一和多對(duì)多的交互通信;

  2. TCP提供可靠的數(shù)據(jù)傳輸,保證數(shù)據(jù)能夠完整、有序地到達(dá)目的地,而UDP不提供可靠性保證,數(shù)據(jù)傳輸可能會(huì)丟失、重復(fù)或者亂序。

  3. TCP將數(shù)據(jù)分成一些數(shù)據(jù)段,每個(gè)數(shù)據(jù)段都有一個(gè)序列號(hào),可以保證數(shù)據(jù)的有序性和完整性。而UDP將數(shù)據(jù)封裝成數(shù)據(jù)報(bào),每個(gè)數(shù)據(jù)報(bào)都是獨(dú)立的,可能會(huì)丟失、重復(fù)或者亂序。

  4. TCP是面向字節(jié)流的,即把應(yīng)用層傳來的報(bào)文看成字節(jié)流,將字節(jié)流拆分成大小不等的數(shù)據(jù)塊,并添加TCP首 部;UDP是面向報(bào)文的,對(duì)應(yīng)用層傳下來的報(bào)文不拆分也不合并,僅添加UDP首部;

  5. UDP比TCP快,因?yàn)樗鼪]有TCP的可靠性保證和復(fù)雜的流量控制和擁塞控制機(jī)制。

  6. UDP適用于傳輸量較小但傳輸速度要求高的應(yīng)用,例如視頻、音頻和游戲等;而TCP適用于傳輸量較大但對(duì)可靠性和完整性要求較高的應(yīng)用,例如文件傳輸、郵件等。

  7. TCP支持傳輸可靠性的多種措施,包括保證包的傳輸順序、重發(fā)機(jī)制、流量控制和擁塞控制;UDP僅提供最基本的數(shù)據(jù)傳輸能力。

5 nginx 和 apache 的區(qū)別

Nginx:

  • 輕量級(jí),采用 C 進(jìn)行編寫,同樣的 web 服務(wù),會(huì)占用更少的內(nèi)存及資源;

  • 抗并發(fā),nginx 以 epoll 和 kqueue 作為開發(fā)模型,處理請(qǐng)求是異步非阻塞的,負(fù)載能力比apache 高很多,而 apache 則是阻塞型的。在高并發(fā)下 nginx 能保持低資源低消耗高性能 ,而apache 在 PHP 處理慢或者前端壓力很大的情況下,很容易出現(xiàn)進(jìn)程數(shù)飆升,從而拒絕服務(wù)的現(xiàn)象;

  • nginx 處理靜態(tài)文件好,靜態(tài)處理性能比 apache 高三倍以上;

  • nginx 的設(shè)計(jì)高度模塊化,編寫模塊相對(duì)簡(jiǎn)單;

  • nginx 配置簡(jiǎn)潔,正則配置讓很多事情變得簡(jiǎn)單,而且改完配置能使用 -t 測(cè)試配置有沒有問題,apache 配置復(fù)雜 ,重啟的時(shí)候發(fā)現(xiàn)配置出錯(cuò)了,會(huì)很崩潰;

  • nginx 作為負(fù)載均衡服務(wù)器,支持 4 層和 7 層負(fù)載均衡,七層負(fù)載可以有效的防止ddos攻擊;

  • nginx 本身就是一個(gè)反向代理服務(wù)器,也可以作為郵件代理服務(wù)器來使用。

Apache:

  • apache 的 rewrite 比 nginx 強(qiáng)大,在 rewrite 頻繁的情況下,用 apache;

  • apache 發(fā)展到現(xiàn)在,模塊超多,基本想到的都可以找到;

  • apache 更為成熟,少 bug ,nginx 的 bug 相對(duì)較多;

  • apache 對(duì) PHP 支持比較簡(jiǎn)單,nginx 需要配合其他后端用;

  • apache 在處理動(dòng)態(tài)請(qǐng)求有優(yōu)勢(shì),nginx 在這方面是雞肋,一般動(dòng)態(tài)請(qǐng)求要 apache 去做,nginx 適合靜態(tài)和反向;

  • apache 仍然是目前的主流,擁有豐富的特性,成熟的技術(shù)和開發(fā)社區(qū)。

兩者最核心的區(qū)別在于 apache 是同步多進(jìn)程模型,一個(gè)連接對(duì)應(yīng)一個(gè)進(jìn)程,而 nginx 是異步的,多個(gè)連接(萬級(jí)別)可以對(duì)應(yīng)一個(gè)進(jìn)程。

需要穩(wěn)定用apache,需要高性能用nginx

6 什么是反向代理,什么是正向代理,區(qū)別是什么?

反向代理和正向代理都是代理服務(wù)器的一種應(yīng)用形式,它們的主要區(qū)別在于代理的方向和代理對(duì)象不同。

正向代理是在客戶端和目標(biāo)服務(wù)器之間設(shè)置代理服務(wù)器,以代替客戶端向目標(biāo)服務(wù)器發(fā)送請(qǐng)求,客戶端無法直接訪問目標(biāo)服務(wù)器。正向代理服務(wù)器一般用于加密、緩存、控制訪問、內(nèi)容過濾等功能。例如,翻墻工具就是一種常見的正向代理應(yīng)用。

反向代理是在目標(biāo)服務(wù)器和客戶端之間設(shè)置代理服務(wù)器,以代替目標(biāo)服務(wù)器向客戶端提供服務(wù),客戶端無法直接訪問目標(biāo)服務(wù)器,所有的請(qǐng)求都要經(jīng)過反向代理服務(wù)器。反向代理服務(wù)器可以根據(jù)客戶端的請(qǐng)求選擇不同的目標(biāo)服務(wù)器,從而實(shí)現(xiàn)負(fù)載均衡和高可用性。例如,一些大型網(wǎng)站和應(yīng)用程序就會(huì)使用反向代理服務(wù)器進(jìn)行負(fù)載均衡和緩存。

兩者的主要區(qū)別在于代理的方向不同。正向代理是代理客戶端,把客戶端的請(qǐng)求轉(zhuǎn)發(fā)到目標(biāo)服務(wù)器;而反向代理是代理服務(wù)器端,把目標(biāo)服務(wù)器的響應(yīng)轉(zhuǎn)發(fā)給客戶端。

7 cookie和session的區(qū)別

  1. 存儲(chǔ)位置:Cookie保存在客戶端瀏覽器上,而Session保存在服務(wù)器端。

  2. 安全性:由于Cookie保存在客戶端瀏覽器上,因此可以被竊取和篡改,存在一定的安全風(fēng)險(xiǎn);而Session保存在服務(wù)器端,相對(duì)來說更加安全。

  3. 存儲(chǔ)容量:Cookie的存儲(chǔ)容量有限,一般只能保存4KB左右的數(shù)據(jù);而Session的存儲(chǔ)容量沒有限制,可以保存更多的數(shù)據(jù)。

  4. 作用范圍:Cookie的作用范圍是整個(gè)域名下的所有頁面,可以在多個(gè)頁面之間共享數(shù)據(jù);而Session的作用范圍是當(dāng)前用戶與服務(wù)器之間的會(huì)話,只能在同一會(huì)話期間內(nèi)共享數(shù)據(jù)。

  5. 有效期:Cookie可以設(shè)置有效期,可以長(zhǎng)期保存在客戶端瀏覽器上;而Session一般會(huì)在用戶關(guān)閉瀏覽器或者一定時(shí)間內(nèi)沒有操作時(shí)自動(dòng)失效。

綜上所述,Cookie適合保存一些不敏感的數(shù)據(jù),如用戶的偏好設(shè)置、購(gòu)物車信息等;而Session適合保存一些敏感的數(shù)據(jù),如用戶的登錄狀態(tài)、權(quán)限信息等。在實(shí)際開發(fā)中,通常會(huì)根據(jù)具體的應(yīng)用場(chǎng)景和需求來選擇合適的機(jī)制。

8 nginx 調(diào)優(yōu)

工作進(jìn)程綁定,最大上傳文件大小,事件驅(qū)動(dòng)模型優(yōu)化,文件描述符優(yōu)化,防盜鏈優(yōu)化,隱藏軟件名稱和版本號(hào),對(duì)于404、502等默認(rèn)頁面的優(yōu)化,從而對(duì)用戶友好展示,禁止惡意域名解析,禁止通過IP地址訪問網(wǎng)站,嚴(yán)格設(shè)置web站點(diǎn)目錄的權(quán)限,通過robot協(xié)議以及HTTP_USER_AGENT防爬蟲優(yōu)化。防止ddos單ip并發(fā)連接的控制。status監(jiān)控模塊得開啟等等。limit_rate限制上傳速率。client_max_body_size允許用戶上傳的文件最大大小。

chatgpt:

  1. 調(diào)整工作進(jìn)程數(shù):Nginx默認(rèn)開啟的工作進(jìn)程數(shù)是CPU核心數(shù),可以根據(jù)服務(wù)器性能和應(yīng)用負(fù)載情況進(jìn)行適當(dāng)調(diào)整。一般情況下,可以將工作進(jìn)程數(shù)設(shè)置為2倍或3倍的CPU核心數(shù)。

  2. 調(diào)整文件句柄限制:Nginx默認(rèn)的文件句柄限制是1024,可以根據(jù)實(shí)際情況進(jìn)行適當(dāng)調(diào)整。可以通過修改系統(tǒng)參數(shù)或者在Nginx配置文件中設(shè)置"worker_rlimit_nofile"參數(shù)來調(diào)整文件句柄限制。

  3. 啟用TCP優(yōu)化參數(shù):Nginx提供了一些TCP優(yōu)化參數(shù),可以通過設(shè)置"tcp_nopush"、"tcp_nodelay"、"keepalive_timeout"等參數(shù)來提高TCP連接性能和可靠性。

  4. 啟用Gzip壓縮:?jiǎn)⒂肎zip壓縮可以減少網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)量,提高頁面加載速度??梢栽贜ginx配置文件中設(shè)置"gzip"參數(shù)來啟用Gzip壓縮。

  5. 啟用HTTP緩存:?jiǎn)⒂肏TTP緩存可以減少服務(wù)器負(fù)載和頁面加載時(shí)間,可以在Nginx配置文件中設(shè)置"proxy_cache_path"參數(shù)來啟用HTTP緩存。

  6. 調(diào)整Nginx內(nèi)存占用:Nginx默認(rèn)的內(nèi)存占用較低,可以通過設(shè)置"worker_processes"、"worker_connections"等參數(shù)來調(diào)整Nginx內(nèi)存占用,提高性能和可靠性。

9 系統(tǒng)出現(xiàn)大量的 time_wait 問題怎么解決

一次意外,服務(wù)器遭受了ddos攻擊,對(duì)我們?cè)斐闪藰O大的影響,雖然我們把前端用戶訪問入口關(guān)閉暫停了ddos攻擊,但是服務(wù)器端出現(xiàn)了大量的time-wait,導(dǎo)致的結(jié)果就是新建連接失敗,而且占用了系統(tǒng)大量的資源,我們的臨時(shí)解決方法就是這樣的。 在系統(tǒng)配置 sysctl.conf 里面添加兩個(gè)參數(shù)

改成1之后,并執(zhí)行 sysctl -p 命令立即生效,然后就慢慢下來了。

chatgpt:

time_wait是TCP協(xié)議的一種狀態(tài),表示一個(gè)TCP連接已經(jīng)關(guān)閉,但是還需要一段時(shí)間等待一些延遲的數(shù)據(jù)包到達(dá)。如果系統(tǒng)中存在大量的time_wait狀態(tài)的連接,可能會(huì)導(dǎo)致系統(tǒng)資源的浪費(fèi)和性能下降。以下是一些解決方案:

  1. 調(diào)整TCP參數(shù):可以通過調(diào)整TCP參數(shù)來控制time_wait的數(shù)量和時(shí)間,如修改tcp_tw_recycle、tcp_tw_reuse等參數(shù)。但是需要注意的是,不建議在生產(chǎn)環(huán)境中調(diào)整這些參數(shù),因?yàn)闀?huì)帶來潛在的風(fēng)險(xiǎn)。

  2. 增加服務(wù)器資源:time_wait狀態(tài)連接的數(shù)量與系統(tǒng)資源有關(guān),增加服務(wù)器資源可以降低系統(tǒng)中time_wait狀態(tài)連接的數(shù)量,如增加內(nèi)存、CPU、網(wǎng)絡(luò)帶寬等。

  3. 使用連接池:可以使用連接池來復(fù)用已經(jīng)建立的TCP連接,避免頻繁的建立和關(guān)閉連接。連接池可以降低time_wait狀態(tài)連接的數(shù)量,并且可以提高系統(tǒng)的性能。

  4. 使用TCP快速回收技術(shù):TCP快速回收技術(shù)是一種基于時(shí)間戳的技術(shù),可以讓系統(tǒng)快速回收time_wait狀態(tài)的連接。可以通過設(shè)置net.ipv4.tcp_timestamps=1來啟用TCP快速回收技術(shù)。

總之,在解決time_wait問題時(shí),需要根據(jù)具體的應(yīng)用場(chǎng)景和系統(tǒng)資源情況綜合考慮和調(diào)整,以提高系統(tǒng)的性能和可靠性。同時(shí),需要注意避免不正確的調(diào)整參數(shù)和配置,造成潛在的風(fēng)險(xiǎn)。

10 拿到一臺(tái)新服務(wù)器后需要干什么,做哪些系統(tǒng)優(yōu)化

更改ssh的端口,在公網(wǎng)的機(jī)器禁用密碼登錄,選擇密鑰登錄的方式;

禁止root登錄,盡量使用普通用戶登錄系統(tǒng),添加sudo權(quán)限;

配置時(shí)間同步,設(shè)置網(wǎng)卡名稱為 eth0 傳統(tǒng)命名方式;

開啟防火墻,配置好防火墻規(guī)則;

優(yōu)化內(nèi)核參數(shù),修改資源限制,比如tcp參數(shù)優(yōu)化,調(diào)大文件描述符;

配置本地yum源或者國(guó)內(nèi)源,安裝常用軟件包,比如tcpdump等工具包。

chatgpt:

  1. 更新系統(tǒng)和軟件包:首先需要更新操作系統(tǒng)和軟件包到最新版本,以獲取最新的安全補(bǔ)丁和功能。

  2. 配置防火墻和安全策略:配置防火墻和安全策略可以保護(hù)服務(wù)器免受網(wǎng)絡(luò)攻擊和惡意軟件的侵害。

  3. 配置遠(yuǎn)程訪問:配置遠(yuǎn)程訪問可以方便管理員遠(yuǎn)程管理服務(wù)器,但是需要注意安全性,如使用SSH加密連接。

  4. 安裝必要的軟件:安裝必要的軟件可以方便服務(wù)器的管理和維護(hù),如編輯器、日志分析工具、監(jiān)控工具等。

  5. 配置系統(tǒng)資源限制:配置系統(tǒng)資源限制可以避免某些進(jìn)程占用過多的系統(tǒng)資源,導(dǎo)致系統(tǒng)崩潰或性能下降。

  6. 配置系統(tǒng)參數(shù):配置系統(tǒng)參數(shù)可以提高系統(tǒng)的性能和可靠性,如調(diào)整文件句柄數(shù)、內(nèi)存大小、網(wǎng)絡(luò)緩沖區(qū)等。

  7. 配置系統(tǒng)日志:配置系統(tǒng)日志可以方便管理員查看系統(tǒng)的運(yùn)行情況和錯(cuò)誤信息,及時(shí)發(fā)現(xiàn)和解決問題。

  8. 配置系統(tǒng)備份:配置系統(tǒng)備份可以在系統(tǒng)出現(xiàn)問題時(shí)恢復(fù)數(shù)據(jù)和服務(wù),避免數(shù)據(jù)丟失和服務(wù)中斷。

以上是對(duì)新服務(wù)器的基本優(yōu)化建議,具體的優(yōu)化方法和步驟需要根據(jù)具體的應(yīng)用場(chǎng)景和系統(tǒng)配置情況綜合考慮和調(diào)整。

以上面試題僅僅個(gè)人總結(jié),想到什么就寫什么,沒有任何順序,寫的有什么不對(duì)的地方請(qǐng)各位大佬評(píng)論、留言,我會(huì)及時(shí)更正。

原文鏈接: [Linux運(yùn)維工程師面試題(2)](https://blog.waluna.top/2023/02/18/1339/).

Linux運(yùn)維工程師面試題(2)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
房产| 连江县| 灵寿县| 磐安县| 拉萨市| 南康市| 红安县| 宽甸| 玉树县| 金平| 盐亭县| 永兴县| 临颍县| 武义县| 汶川县| 栾川县| 南汇区| 万安县| 崇州市| 长泰县| 神农架林区| 东丽区| 岗巴县| 临清市| 法库县| 岐山县| 庐江县| 依安县| 柳河县| 安顺市| 固始县| 满城县| 安化县| 塘沽区| 香河县| 武冈市| 临夏市| 铜山县| 莫力| 平凉市| 土默特左旗|