鵝廠是cpp的主戰場,而以cpp爲背景的工程師大都對os,network這塊要求特別高,不像是Java這種偏重業務層的語言,之前面試Java的公司側重還是在數據結構、網路、框架、數據庫和分佈式。所以OS這塊吃的虧比較大。
C/C++
網路
操作系統
Linux系統
MongoDB
Redis
mysql
演算法
設計模式
分佈式架構
系統設計
等等,未完待續
網路的位元組序
網路知識 tcp三次握手 各種細節 timewait狀態
tcp 與 udp 區別 概念 適用範圍
TCP四次揮手講一下過程,最後一次ack如果用戶端沒收到怎麼辦,爲什麼揮手不能只有三次,爲什麼time_wait。
對於socket程式設計,accept方法是幹什麼的,在三次握手中屬於第幾次,可以猜一下,爲什麼這麼覺得。
tcp怎麼保證有序傳輸的,講下tcp的快速重傳和擁塞機制 機製,知不知道time_wait狀態,這個狀態出現在什麼地方,有什麼用?
知道udp是不可靠的傳輸,如果你來設計一個基於udp差不多可靠的演算法,怎麼設計?
http與https有啥區別?說下https解決了什麼問題,怎麼解決的?說下https的握手過程。
tcp 粘包半包問題怎麼處理?
keepalive 是什麼東東?如何使用?
列舉你所知道的tcp選項,並說明其作用。
socket什麼情況下可讀?
nginx的epoll模型的介紹以及io多路複用模型
SYN Flood攻擊
流量控制,擁塞控制
TCP和UDP區別,TCP如何保證可靠性,對方是否存活(心跳檢測)
tcpdump抓包,如何分析數據包
tcp如何設定超時時間
基於socket網路程式設計和tcp/ip協定棧,講講從用戶端send()開始,到伺服器端recv()結束的過程,越細越好
http報文格式
http1.1與http1.0區別,http2.0特性
http3瞭解嗎
http1.1長連線時,發送一個請求阻塞了,返回什麼狀態碼?
udp呼叫connect有什麼作用?