字节跳动青训营笔试题解
文章目錄
- 前言
- 一、單選題
- 二、多選題
- 三、編程題
- T1.旋轉數組最大值
- 題目
- 思路
- 代碼
- T2.社交圈
- 題目
- 思路
- 代碼
- 四、簡答題
- 題目
- 思路
前言
第五屆字節跳動青訓營-后端專場筆試題解,簡單做了一下,選擇題和簡答題不知道是否正確,編程題是通過了的,有問題歡迎評論,我會及時改正的~
一、單選題
選A
QUIC(Quick UDP Internet Connection)是谷歌制定的一種基于UDP的低時延的互聯網傳輸層協議。
選D
MTU這個概念是指數據幀中有效載荷的最大長度,不包括幀首部的長度。所以
TCP報文的有效載荷=1500B?20B(IP數據報首部)?20B(TCP報文首部)=1460BTCP報文的有效載荷 \\ = 1500B-20B (IP數據報首部)-20B( TCP報文首部) \\ = 1460B TCP報文的有效載荷=1500B?20B(IP數據報首部)?20B(TCP報文首部)=1460B
選D
利用 netstat 指令可讓你得知整個 Linux 系統的網絡情況。
== 選B==
https加密是在傳輸層。這層的功能包括是否選擇差錯恢復協議還是無差錯恢復協議,及在同一主機上對不同應用的數據流的輸入進行復用,還包括對收到的順序不對的數據包的重新排序功能
== 選D==
-
IaaS(Infrastructure as a service – 基礎設施即服務):用戶可以在云服務提供商提供的基礎設施上部署和運行任何軟件,包括操作系統和應用軟件。用戶沒有權限管理和訪問底層的基礎設施,如服務器、交換機、硬盤等,但是有權管理操作系統、存儲內容,可以安裝管理應用程序,甚至是有權管理網絡組件。簡單的說用戶使用IaaS,有權管理操作系統之上的一切功能。我們常見的IaaS服務有虛擬機、虛擬網絡、以及存儲。
-
PaaS(Platform as a service – 平臺即服務):PaaS給用戶提供的能力是使用由云服務提供商支持的編程語言、庫、服務以及開發工具來創建、開發應用程序并部署在相關的基礎設施上。用戶無需管理底層的基礎設施,包括網絡、服務器,操作系統或者存儲。他們只能控制部署在基礎設施中操作系統上的應用程序,配置應用程序所托管的環境的可配置參數。常見的PaaS服務有數據庫服務、web應用以及容器服務。成熟的PaaS服務會簡化開發人員,提供完備的PC端和移動端軟件開發套件(SDK),擁有豐富的開發環境(Inteli、Eclipse、VS等),完全可托管的數據庫服務,可配置式的應用程序構建,支持多語言的開發,面向應用市場。
-
SaaS(Software as a Service – 軟件即服務):SaaS給用戶提供的能力是使用在云基礎架構上運行的云服務提供商的應用程序。可以通過輕量的客戶端接口(諸如web瀏覽器(例如,基于web的電子郵件))或程序接口從各種客戶端設備訪問應用程序。 用戶無需管理或控制底層云基礎架構,包括網絡,服務器,操作系統,存儲甚至單獨的應用程序功能,可能的例外是有限的用戶特定應用程序配置設置。類似的服務有:各類的網盤(Dropbox、百度網盤等),JIRA,GitLab等服務。而這些應用的提供者不僅僅是云服務提供商,還有眾多的第三方提供商(ISV: independent software provider)。
選B
虛存的實際容量由CPU的地址長和外存的容量決定,當CPU的地址長度能表示的大小遠遠大于外存容量時,虛存的實際容量為內存和外存容量之和;當外存容量遠大于CPU字長能表示的大小時,虛存的實際容量由CPU字長決定。一般情況下,CPU的地址長度能表示的大小都大于外存容量。
虛存容量不是無限的,最大容量受內存和外存可利用的總容量限制,虛存實際容量受計算機總線地址結構限制。
選D
詳情參見:https://blog.51cto.com/u_15162069/2901383
選D
詳情參考:https://studygolang.com/articles/34110
選C
TIME_WAIT狀態是TCP在四次揮手終止連接時,主動關閉連接的一方(客戶端或者服務端)在收到對端發送的FIN之后,進入的一種狀態。
二、多選題
選C、D
Redis提供了兩種方式:RDB方式和AOF方式。
1、RDB方式
RDB方式的持久化是通過快照(snapshotting)完成的,當符合一定條件時,Redis會自動將內存中所有的數據生成一份副本并存儲在硬盤中,這個過程被稱為“快照”。“快照”,就類似于拍照,摁下快門那一刻,所定格的照片,就稱為“快照”。
2、AOF方式
通過RDB方式實現持久化,一旦Redis異常退出,就會丟失最后一次快照之后更改的所有數據。為了降低因進程中止導致的數據丟失風險,可以使用AOF方式實現數據持久化。
AOF持久化是以日志的形式記錄服務器所處理的每一個寫、刪除操作,查詢操作不會記錄,以文本的方式記錄,文件中可以看到詳細的操作記錄。
選A、B
選A、B、C、D
netfilter五個hook點分別是:
- NF_INET_PRE_ROUTING
- NF_INET_LOCAL_IN
- NF_INET_FORWARD
- NF_INET_LOCAL_OUT
- NF_INET_POST_ROUTING
選B、D
三、編程題
T1.旋轉數組最大值
題目
思路
看到樣例有點懵,就直接找的最大值,然后就過了……(有點無語)
代碼
#include<bits/stdc++.h> using namespace std;#define INF 0x3f3f3f3fconst int N = 5e5+10; int a[N],n;int main() {cin>>n;int ans = -INF;for(int i = 0;i < n; ++i) {cin>>a[i];ans = max(ans,a[i]);}cout<<ans<<endl;return 0; }T2.社交圈
題目
思路
我們用并查集來維護這個社交圈,一開始社交圈的個數就是X個,那么我們不斷的讀入兩個人的關系,如果不在一個社交圈,那么我們就將其放入同一個社交圈,并且將社交圈的數量減一,如果在同一個社交圈那就不用減一,最后輸出一下,我們統計的社交圈的數量即可。
代碼
#include<bits/stdc++.h> using namespace std;const int N = 5e5+10; int X,Y,fa[N];int find(int x) {int y = x;while(x != fa[x]) x = fa[x];while(y != fa[y]) {int temp = fa[y];fa[y] = x;y = temp;}return x; }int main() {cin>>X>>Y;for(int i = 1;i <= X; ++i) fa[i] = i;int u,v,ans = X;while(Y--) {cin>>u>>v;u = find(u);v = find(v);if(u == v) continue;fa[v] = u;ans--;}cout<<ans<<endl;return 0; }四、簡答題
題目
思路
筆者的見解比較淺薄(其實是不知道),于是就猜測了一下
- 文本復制粘貼
- 復制階段,操作系統為我們創建一個緩存區, 并將我們復制的內容放入這個緩存區,然后給這個緩存區創建一一個定時器, 到一定程度后就自動銷毀
- 粘貼階段,操作系統從緩存區中復制一份,并且將內容輸出到我們粘貼的地方
- 文件復制粘貼
- 復制階段,操作系統會將該文件的路徑記錄在緩存區中
- 粘貼階段,操作系統將緩存區的文件路徑做一個軟連接,放在當前目錄,并不會真正的移動文件
下面是引用一下其他大佬的見解吧:
下面內容摘自:
-
https://www.zhihu.com/question/22554008
-
https://www.zhihu.com/question/66284095
操作系統中會有一塊地方,稱作剪貼板(clipboard),專門用來處理復制粘貼。
不同系統的細節可能會不同,但大致上是這樣的:
- 復制文本時,會把所復制的文本克隆一份到剪貼板里面。粘貼文本時,再將剪貼板里的文本克隆到所粘貼應用程序之中;
- 復制文本時會保留其樣式(比如在 Office 軟件中復制,也會存儲字體、字號等等信息,復制到剪貼板的實質上是一種「標記語言」)。但粘貼時若應用程序(比如記事本)不支持這些樣式,則會去掉樣式;
- 復制圖片、混合富文本時,也是同樣先克隆到剪貼板里。
- 復制文件時,系統只會把文件的路徑復制到剪貼板,等到粘貼時再分情況處理:
- 同一分區下,粘貼(或剪切)文件,都不會真正在存儲設備里直接克隆、挪動,而是更改此文件的路徑(path)屬性。當然這與不同文件系統的具體實現有關;
- (這也就是為什么,「復制 → 刪除復制源文件 → 粘貼」這個操作會在大部分系統中失效了)
- 不同分區下,粘貼(或剪切)文件,會重新開辟空間,然后克隆文件;
- 涉及到與其他設備(即插即用設備等)之間的復制粘貼則更加復雜,實現各有不同。
- 還要考慮的情況,就是涉及虛擬機、遠程主機的復制粘貼機制。虛擬機軟件、遠程主機軟件都會有一個「介于兩系統之間的」剪貼板,「連接起」這兩個系統的各自剪貼板,并做一些編碼格式轉換的工作。
- 關于虛擬機復制粘貼,更具體的細節可以看這里:Is it possible to copy paste between Mac OS and its virtual machine? 各軟件實現有異。
總結
以上是生活随笔為你收集整理的字节跳动青训营笔试题解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VSCode前端开发工具插件--Live
- 下一篇: 计算机基础知识课件最新,计算机基础知识p