8-10 牛客网刷题知识点集合
在關系代數運算中,五種基本運算為??
并、差、選擇、投影、笛卡爾乘積??????(?+ - * 選擇 投影)
?
關于OSI參考模型的描述中,正確的是?
按功能可以分為7個層次
?
OSI參考模型
?
自下而上:物理層(物理介質,比特流)、數據鏈路層(網卡、交換機)、網絡層(IP協議)、傳輸層(TCP/UDP協議)、會話層(創建/建立/斷開連接)、表示層(翻譯,編碼,壓縮,加密)、應用層(HTTP協議)
?
簡化為TCP/IP模型:網絡層(物理層、數據鏈路層、網絡層)、傳輸層,會話層,應用層(表示層,應用層)
?
報文(message)是網絡中交換與傳輸的數據單元,也是網絡傳輸的單元。報文包含了將要發送的完整的數據信息,其長短不需一致。報文在傳輸過程中會不斷地封裝成分組、包、幀來傳輸,封裝的方式就是添加一些控制信息組成的首部,那些就是報文頭。
?
應用層:報文(message),一般指完整的信息,傳輸層實現報文交付,位于應用層的信息分組稱為報文;
?
傳輸層:報文段(segment),組成報文的每個分組;
?
網絡層:分組(packet)是網絡傳輸中的二進制格式單元,數據包(datapacket)是TCP/IP通信協議傳輸中的數據單位;通過網絡傳輸的數據基本單元,包含一個報頭和數據本身,其中報頭描述了數據的目的地及其與其他數據之間的關系,可以理解為數據傳輸的分組,我們將通過網絡傳輸的基本數據單元稱為數據報(Datagram);
?
鏈路層:幀(frame),數據鏈路層的協議數據單元,為了保證數據的可靠傳輸,把用戶數據封裝成幀;
?
物理層:PDU(bit),協議數據單元;
?
抓包,抓到的是傳輸層的包,packet/frame/Datagram/segment是存在于同條記錄中的,這些是基于所在協議層的不同取了不同的名字。
?
物理層
主要設備:中繼器、集線器
?
物理層中雙絞線的傳輸距離是有限的,信號會縮減,影響數據的傳輸。為了使傳輸的數據能夠準確的傳輸,中繼器是可以放大傳輸信號,保持原數據的準確。
比如,雙絞線的傳輸距離是100m,而超過100m則信號會衰減
在兩臺pc中間加上一個中繼器,則相當于兩臺pc到中繼器的距離均為100m,有助于信號的增強。
?
集線器和中繼器的區別是:
中繼器只有兩個以太網接口,而集線器相當于多個端口的中繼器。
?
知識點:沖突域、廣播域
沖突域:當兩個比特流在同一介質上同時傳輸時產生沖突,沖突域是指發送數據給一個單一目標(單播)所影響的范圍
廣播域:發送數據給一個不明確的目標所影響的范圍
集線器有一個沖突域和一個廣播域
?
?
IP地址192.168.1.1?ping1.2:
>ping 192.168.1.2(ping命令所用的協議有ICMP/ARP協議)
ICMP是(Internet Control Message Protocol)Internet控制報文協議。它是TCP/IP協議族的一個子協議,用于在IP主機(在服務器上用一定的技術劃分出多個空間以后,在每個虛擬主機上配上獨立的ip)、路由器之間傳遞控制消息。控制消息是指網絡通不通、主機是否可達、路由是否可用?等網絡本身的消息。
ARP協議是“Address Resolution Protocol”(地址解析協議)的縮寫。在局域網中,網絡中實際傳輸的是“幀”,幀里面是有目標主機的MAC地址的。在以太網中,一個主機要和另一個主機進行直接通信,必須要知道目標主機的MAC地址。但這個目標MAC地址是如何獲得的呢?它就是通過地址解析協議獲得的。所謂“地址解析”就是主機在發送幀前將目標IP地址轉換成目標MAC地址的過程。ARP協議的基本功能就是通過目標設備的IP地址,查詢目標設備的MAC地址,以保證通信的順利進行
MAC(Media Access Control或者Medium Access Control)地址,意譯為媒體訪問控制,或稱為物理地址、硬件地址,用來定義網絡設備的位置。
?
數據鏈路層
功能:完成網絡之間相鄰結點的可靠傳輸,通過Mac地址負責主機之間的數據的可靠傳輸。
物理層傳輸的是比特流,而數據鏈路層傳輸的是幀。
?
Mac地址與IP地址的區別:
Mac地址:是廠商燒錄在只讀存儲器上的,出廠廠商的唯一標識,且不可更改
IP地址:網絡地址,相當于門牌號
?
OSI模型的總結
OSI模型上層(會話層,表示層,應用層)處理用戶接口、數據格式、應用訪問。
OSI模型下層(物理層,數據鏈路層,網絡層,傳輸層)處理數據在網絡介質中的傳送。
?
(1)物理層
物理層規定:為傳輸數據所需要的物理鏈路創建、維持、拆除,而提供具有機械的,電子的,功能的和規范的特性,確保原始的數據可在各種物理媒體上傳輸,為設備之間的數據通信提供傳輸媒體及互連設備,為數據傳輸提供可靠的環境。?
(2)數據鏈路層
主要提供鏈路控制(同步,異步,二進制,HDLC),差錯控制(重發機制),流量控制(窗口機制)
1) MAC:媒體接入控制,主要功能是調度,把邏輯信道映射到傳輸信道,負責根據邏輯信道的瞬時源速率為各個傳輸信道選擇適當的傳輸格式。MAC層主要有3類邏輯實體,第一類是MAC-b,負責處理廣播信道數據;第二類是MAC-c,負責處理公共信道數據;第三類是MAC-d,負責處理專用信道數據。
2)RLC:無線鏈路控制,不僅能載控制面的數據,而且也承載用戶面的數據。RLC子層有三種工作模式,分別是透明模式、非確認模式和確認模式,針對不同的業務采用不同的模式。
3)BMC:廣播/組播控制,負責控制多播/組播業務。
4)PDCP:分組數據匯聚協議,負責對IP包的報頭進行壓縮和解壓縮,以提高空中接口無線資源的利用率。
(3)網絡層
提供阻塞控制,路由選擇(靜態路由,動態路由)等
1)IP:IP協議提供不可靠、無連接的傳送服務。IP協議的主要功能有:無連接數據報傳輸、數據報路由選擇和差錯控制。IP地址是重要概念
2)ARP:地址解析協議。基本功能就是通過目標設備的IP地址,查詢目標設備的MAC地址,以保證通信的順利進行。以太網中的數據幀從一個主機到達網內的另一臺主機是根據48位的以太網地址(硬件地址)來確定接口的,而不是根據32位的IP地址。內核必須知道目的端的硬件地址才能發送數據。P2P的連接是不需要ARP的。?
3)RARP:反向地址轉換協議。允許局域網的物理機器從網關服務器的 ARP 表或者緩存上請求其 IP 地址。局域網網關路由器中存有一個表以映射MAC和與其對應的 IP 地址。當設置一臺新的機器時,其 RARP 客戶機程序需要向路由器上的 RARP 服務器請求相應的 IP 地址。假設在路由表中已經設置了一個記錄,RARP 服務器將會返回 IP 地址給機器。
4)IGMP:組播協議包括組成員管理協議和組播路由協議。組成員管理協議用于管理組播組成員的加入和離開,組播路由協議負責在路由器之間交互信息來建立組播樹。IGMP屬于前者,是組播路由器用來維護組播組成員信息的協議,運行于主機和和組播路由器之間。IGMP 信息封裝在IP報文中,其IP的協議號為2。
5)ICMP:Internet控制報文協議。用于在IP主機、路由器之間傳遞控制消息。控制消息是指網絡通不通、主機是否可達、路由是否可用等網絡本身的消息。這些控制消息雖然并不傳輸用戶數據,但是對于用戶數據的傳遞起著重要的作用。
6)? BGP :邊界網關協議。處理像因特網大小的網絡和不相關路由域間的多路連接。
7)RIP:路由信息協議。是一種分布式的基于距離矢量的路由選擇協議。
(4)傳輸層
提供分割與重組數據,按端口號尋址,連接管理差錯控制和流量控制,糾錯的功能。傳輸層要向會話層提供通信服務的可靠性,避免報文的出錯、丟失、延遲時間紊亂、重復、亂序等差錯。
1)TCP: 一種面向連接的、可靠的、基于字節流的傳輸層通信協議。
2)? UDP: 用戶數據報協議,一種無連接的傳輸層協議,提供面向事務的簡單不可靠信息傳送服務。
3)RTP: 實時傳輸協議,為數據提供了具有實時特征的端對端傳送服務,如在組播或單播網絡服務下的交互式視頻音頻或模擬數據。
4)SCTP: 一個面向連接的流控制傳輸協議,它可以在兩個端點之間提供穩定、有序的數據傳遞服務。SCTP可以看做是TCP協議的改進,它繼承了TCP較為完善的擁塞控制并改進TCP的一些不足:
a. SCTP是多宿主連接,而TCP是單地址連接。
b.一個TCP連接只能支持一個流,一個SCTP連接可以支持多個流。
c.SCTP有更好的安全性。
(5)應用層
1)HTTP:超文本傳輸協議,基于TCP,是用于從WWW服務器傳輸超文本到本地瀏覽器的傳輸協議。它可以使瀏覽器更加高效,使網絡傳輸減少。
2)SMTP:簡單郵件傳輸協議,是一組用于由源地址到目的地址傳送郵件的規則,由它來控制信件的中轉方式。
3)SNMP:簡單網絡管理協議,由一組網絡管理的標準組成,包含一個應用層協議、數據庫模型和一組資源對象。
4)FTP:文件傳輸協議,用于Internet上的控制文件的雙向傳輸。同時也是一個應用程序。
5)Telnet:是Internet遠程登陸服務的標準協議和主要方式。為用戶提供了在本地計算機上完成遠程主機工作的能力。在終端使用者的電腦上使用telnet程序,用它連接到服務器。
6)SSH:安全外殼協議,為建立在應用層和傳輸層基礎上的安全協議。SSH 是目前較可靠,專為遠程登錄會話和其他網絡服務提供安全性的協議。
7)NFS:網絡文件系統,是FreeBSD支持的文件系統中的一種,允許網絡中的計算機之間通過TCP/IP網絡共享資源。
?
關于UNIX操作系統的描述中,錯誤的是()。
屬于多用戶操作系統
由內核與外殼組成
內核的操作原語對硬件不起作用
主要用C語言寫成
?
UNIX操作系統結構由三大部分組成:
UNIX Kernel(UNIX內核)是UNIX操作系統的核心,指揮調度UNIX機器的運行,直接控制計算機的資源,保護用戶程序不受錯綜復雜的硬件事件細節的影響。
UNIX Shell(UNIX外殼)是一個UNIX的特殊程序,是UNIX內核和用戶的接口,是UNIX的命令解釋器、也是一種解釋性高級語言。目前常見的Shell有三種:Shell類型簡稱命令主要特點Bourne ShellB Shellsh最老、使用最廣泛,每個UNIX都提供。 Korn ShellK Shellksh是對B Shell的擴充,兼容B Shell。 C-Shellcsh格式有點象C語言。功能強,命令記憶稍難,在大學和學院中較為流行。 一般系統缺省為Bourne Shell, 本文以此Shell為例。 要想將當前Shell改為其它 Shell,只需在操作系統提示符下鍵入相應的Shell命令即可。如在其它Shell下鍵輸入命令:ksh就進入了K Shell。
工具及應用程序 UNIX提供了很多工具軟件和應用程序供用戶使用,如vi編輯器、文件查找、備份等等。
?
分別描述信號量和互斥鎖的異同:
?
1.?互斥量用于線程的互斥,信號量用于線程的同步。
這是互斥量和信號量的根本區別,也就是互斥和同步之間的區別。
互斥:是指某一資源同時只允許一個訪問者對其進行訪問,具有唯一性和排它性。但互斥無法限制訪問者對資源的訪問順序,即訪問是無序的。
同步:是指在互斥的基礎上(大多數情況),通過其它機制實現訪問者對資源的有序訪問。在大多數情況下,同步已經實現了互斥,特別是所有寫入資源的情況必定是互斥的。少數情況是指可以允許多個訪問者同時訪問資源
?
2. 互斥量值只能為0/1,信號量值可以為非負整數。
也就是說,一個互斥量只能用于一個資源的互斥訪問,它不能實現多個資源的多線程互斥問題。信號量可以實現多個同類資源的多線程互斥和同步。當信號量為單值信號量時,也可以完成一個資源的互斥訪問。
?
3.?互斥量的加鎖和解鎖必須由同一線程分別對應使用,信號量可以由一個線程釋放,另一個線程得到
?
請列出至少三種TCP擁塞控制機制,并請就其中一種描述其工作原理。
慢啟動,擁塞避免,快速重傳,快速恢復
快速重傳?要求接收方在收到一個失序的報文端就立即發出重復確認(為的是使發送盡早知道有報文段沒有到達對方)而不要等到自己發送數據時捎帶確認。
?
?
5個PM和3個QA圍一圓桌而坐,只考慮每個人左邊和右邊是誰,要求3個QA互不相鄰,問有多少種坐法。(解析我已寫在牛客網上:鹿遠與詩)
??三個QA(工程師)坐好 就變成了 中間有三個框
五個PM(項目經理)進三個框 每個框必須有一個人
變成數學題(排列組合):五個不同的球放進三個不同的盒子里,要求每個盒子至少放一個球,一共有多少種方法
肯定會有三個球放在一個盒子里,然后其他每個盒子里一個球.
先選擇三個球:C(5,3),然后把這三個球看成1個,共三個全排:A(3,3)
?
C( 5, 2) × ?A( 3, 3 )
?
= 10 * ?6
?
= 60
?
文件包含命令中被包含的文件的擴展名
包含的文件只要是文本文件都可以,可以是.h ?.c ??.cpp ?等
?
T是一個數據類型,關于std::vector::at 和 std::vector::operator[] 描述正確的是:
一、下標運算符接受一個下標參數,返回容器中該位置的元素的引用。給定下標必須保證”在范圍內“(即,大于等于0,且小于容器的大小)。保證下標有效是程序員的責任,下標運算符并不檢查下標是否在合法范圍內。使用越界的下標是一種嚴重的程序設計錯誤,而且編譯器并不檢查這種錯誤。
???????c[n] ????: ?返回c中下標為n的元素的引用,n是一個無符號整數。若n>=c.size(),則函數行為未定義。
???????二、如果希望確保下標是合法的,可以使用at成員函數。at成員函數類似下標運算符,但如果下標越界,at會拋出一個out_of_range異常。
???????c.at(n): 返回下標為n的元素的引用。如果下標越界,則拋出一個out_of_range異常。
?
?
設已經有A,B,C,D4個類的定義,程序中A,B,C,D析構函數調用順序為?
C c;
void main()
{
????A*pa=new A();
????B b;
????static D d;
????delete pa;
}
A B D C
?
在Windows 32位操作系統中,假設字節對齊為4,對于一個空的類A,sizeof(A)的值為()?
?C++對空類或者空結構體 ,對其sizeof操作時候,默認都是 1個字節
?
?
?
?
下列等式正確的是()?
C繼承自A和B,A和B各有一個虛函數表,所以C和A首地址相同,和B首地址不同
?
?
重載多態和強制多態是 指特定多態。
參數多態和包含多態是指通用多態。
?
?
在執行讀文件操作時,如果遇到文件尾,則函數feof(fp)返回邏輯真(非0值):
否則,返回邏輯假(0)
?
?
A,Java不支持指針,C/C++支持
B,Java程序不需要顯式地關心內存釋放,而C/C++需要
C,java不完全算是編譯型語言,他編譯的字節碼文件運行時是解釋執行的,其次,java和C++的類也不都完全是靜態綁定的,比如C+++的虛函數,java的父類引用子類對象等情況。
D,java也可以數組溢出,溢出是會拋出異常,也就是ArrayIndexOutOfBoundsException
總結
以上是生活随笔為你收集整理的8-10 牛客网刷题知识点集合的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 8-9设计模式复习
- 下一篇: win10安装Navicat 12 fo