日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

面试题目汇总

發(fā)布時間:2023/12/13 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 面试题目汇总 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1,for循環(huán)的時間復雜度

  • 兩層for循環(huán) 第二層中 的循環(huán)變量繼承與上層變量
  • 時間復雜度是O(n^2)
  • for循環(huán)時間復雜度算法理解_bingkxin的專欄-CSDN博客_for循環(huán)時間復雜度
for(int i=0;i<N;i++) {for(int j=i;j<N;j++){//此處運行次數(shù):N+N-1+N-2+...+1=1+2+3+...+N=N(N+1)/2} } for(int i=0;i<N;i++) {for(int j=i+1;j<N;j++){//此處運行次數(shù)N-1+N-2+N-3+...+1=1+2+3+...+N-1=N(N-1)/2} }

2,變量的聲明和定義

  • 定義也是聲明,定義變量的時候,我們聲明了他的類型和名稱
  • 在一個源文件里面定義了一個數(shù)組 char a[6],其余文件使用下列語句進行聲明,extern char a[6]; 使用extern char* 的方式是錯誤的
  • ??????程序文件【C/C++】變量的定義與聲明 - xinyuyuanm - 博客園
  • C語言引用另一個源文件中定義的數(shù)組_weixin_30614587的博客-CSDN博客
  • 變量的聲明,用于向程序表明變量的類型和名字
  • 變量的定義用于為變量分配存儲空間,還為變量指定初始化數(shù)值,變量有且僅有一個定義

3,關于存儲區(qū)域描述錯誤的是

  • C++中棧區(qū) 堆區(qū) 常量區(qū) - 10號 - 博客園
char buff[] = "abc";//棧 char *pStr1 = "123456";//pStr存儲在棧區(qū),“123456”存儲在常量區(qū) char *pStr2 = new char[256];//pStr2在堆區(qū),分配的內(nèi)存也在堆區(qū)

4,友元函數(shù)可以訪問 類的公有、保護和私有成員

5,聯(lián)合程序的輸出結果 266?

  • 下面關于“聯(lián)合”的題目的輸出?_zy_dreamer的專欄-CSDN博客
union {int i;char x[2]; }a; int main(){a.x[0] = 10;a.x[1] = 1;printf("%d",a.i);return 0; }

6,構造函數(shù)和析構函數(shù)

  • 為什么構造函數(shù)不能聲明為虛函數(shù),析構函數(shù)可以 - lpx15312 - 博客園
  • 構造函數(shù)可以拋出異常,析構函數(shù)不建議拋出異常
  • 析構函數(shù)最好是虛函數(shù)
  • 構造函數(shù)不可以是虛函數(shù)
  • C++構造函數(shù)、析構函數(shù)與拋出異常 - hellogiser - 博客園
  • 構造函數(shù)的執(zhí)行順序
  • 構建子類實例的時候,先調(diào)用父類的構造函數(shù),再調(diào)用子類的構造函數(shù)

7,反轉(zhuǎn)鏈表

struct ListNode {int val;ListNode *next;ListNode(int x) : val(x), next(NULL) {} };ListNode* reverseList(ListNode* head) {ListNode* curr = head;ListNode* prev = nullptr;while (curr){ListNode* next = curr->next;curr->next = prev;prev = curr;curr = next;}return prev; }

8,指定數(shù)組nums,將數(shù)組中的0全部移動到數(shù)組的末尾,維持其他所有非0元素的相對位置,空間復雜度為o(1),時間復雜度為O(n)

#include <vector> #include <iostream>std::vector<int> MoveAllZeroToTall(std::vector<int>& nums){int n = nums.size();int left = 0;int right = 0;while (right < n){if (nums[right]){std::swap(nums[left],nums[right]);left++;}right++;}return nums; }int main(){std::vector<int>nums{0,8,0,12,34,0,89};nums = MoveAllZeroToTall(nums);for (int i = 0; i < nums.size(); ++i) {std::cout << nums[i] << " ";} }

9,linux 常用命令

  • ctrl-z 發(fā)送 SIGTSTP 信號給前臺進程組中的所有進程,常用于掛起一個進程
  • Linux中ctrl+z 、ctrl+c、 ctrl+d區(qū)別_輝-CSDN博客
  • 最全整理 | 121個Ubuntu終端常用快捷鍵 - 知乎

10,下面哪些不屬于字節(jié)流?

  • BufferedReader? 不屬于 字符流
  • ObjectInputStream
  • FileInputStream
  • ByteArrayInputStream?
  • 字節(jié)流和字符流(BufferedReader類和BufferedWriter類)_weixin_30252709的博客-CSDN博客

11,關于PV操作的理解

  • 進程調(diào)用P操作 測試子集所需要的消息是否到達
  • PV操作可以適用于進程之間的通信
  • PV操作不僅是進程互斥的工具,也是進程之間同步的工具
  • 進程調(diào)用V操作向其他進程發(fā)送消息
  • 看完了進程同步與互斥機制,我終于徹底理解了 PV 操作 - 云+社區(qū) - 騰訊云
  • 進程間通信(命名管道,消息隊列,PV操作)_努力努力再努力的博客-CSDN博客

12 內(nèi)存的靜態(tài)分配方式和動態(tài)分配方式

  • 一是時間不同。靜態(tài)分配發(fā)生在程序編譯和鏈接的時候。動態(tài)分配則發(fā)生在程序調(diào)入和執(zhí)行的時候
  • 二是空間不同。堆都是動態(tài)分配的,沒有靜態(tài)分配的堆。棧有2種分配方式:靜態(tài)分配和動態(tài)分配。靜態(tài)分配是編譯器完成的,比如局部變量的分配。動態(tài)分配由函數(shù)malloc進行分配。不過棧的動態(tài)分配和堆不同,他的動態(tài)分配是由編譯器進行釋放,無需我們手工實現(xiàn)
  • 靜態(tài)內(nèi)存分配與動態(tài)內(nèi)存分配_Ideal Dragon的博客-CSDN博客_靜態(tài)內(nèi)存分配
  • 內(nèi)存的靜態(tài)分配和動態(tài)分配的區(qū)別

13 MySQL的數(shù)據(jù)庫事務的隔離級別 對資源消耗最大的是

  • Serializable
  • 徹底搞懂 MySQL 事務的隔離級別-阿里云開發(fā)者社區(qū)

14 Linux擴展虛擬內(nèi)存? 將/dev/sda5格式化為交換分區(qū)的指令是

  • Linux格式化交換分區(qū)的命令,【Linux命令】磁盤分區(qū),格式化,掛載命令,創(chuàng)建交換分區(qū)(fdisk,mkfs,mount,umount)..._weixin_39547298的博客-CSDN博客
  • mkswap /dev/sda5

15 關于epoll敘述正確的是

  • epoll 默認的工作方式 是LT?
  • 使用mmap加速內(nèi)核和用戶空間之間的消息傳遞
  • 使用mmap函數(shù)進行內(nèi)核空間和用戶空間的共享內(nèi)存通信_Gick-CSDN博客
  • linux高效率編程:epoll和多線程 - dion至君 - 博客園
  • epoll的兩種工作模式 - 知乎
  • 第一章epoll - codestacklinuxer - 博客園
  • mmap - 用戶空間與內(nèi)核空間_luckywang1103的專欄-CSDN博客_mmap
  • 一道搜狗面試題:IO多路復用中select、poll、epoll之間的區(qū)別 - 云+社區(qū) - 騰訊云
  • EPOLLIN , EPOLLOUT , EPOLLPRI, EPOLLERR 和 EPOLLHUP事件_heluan123132的博客-CSDN博客

EPOLL事件有兩種模型 Level Triggered (LT) 和 Edge Triggered (ET):

  • LT(level triggered,水平觸發(fā)模式)是缺省的工作方式,并且同時支持 block 和 non-block socket。在這種做法中,內(nèi)核告訴你一個文件描述符是否就緒了,然后你可以對這個就緒的fd進行IO操作。如果你不作任何操作,內(nèi)核還是會繼續(xù)通知你的,所以,這種模式編程出錯誤可能性要小一點。
  • ET(edge-triggered,邊緣觸發(fā)模式)是高速工作方式,只支持no-block socket。在這種模式下,當描述符從未就緒變?yōu)榫途w時,內(nèi)核通過epoll告訴你。然后它會假設你知道文件描述符已經(jīng)就緒,并且不會再為那個文件描述符發(fā)送更多的就緒通知,等到下次有新的數(shù)據(jù)進來的時候才會再次出發(fā)就緒事件。如果一直不對這個fd進行I/O操作,導致fd變?yōu)槲淳途w時,內(nèi)核同樣不會發(fā)送更多的通知,因為only once。所以這種方式下,出錯率比較高,需要增加一些檢測程序。

epoll的優(yōu)點:

  • 沒有最大并發(fā)連接的限制,能打開的FD的上限遠大于1024(1G的內(nèi)存上能監(jiān)聽約10萬個端口);
  • 效率提升,不是輪詢的方式,不會隨著FD數(shù)目的增加效率下降。只有活躍可用的FD才會調(diào)用callback函數(shù);即Epoll最大的優(yōu)點就在于它只管你“活躍”的連接,而跟連接總數(shù)無關,因此在實際的網(wǎng)絡環(huán)境中,Epoll的效率就會遠遠高于select和poll。
  • 內(nèi)存拷貝,利用mmap()文件映射內(nèi)存加速與內(nèi)核空間的消息傳遞;即epoll使用mmap減少復制開銷。

1、listen fd,有新連接請求,對端發(fā)送普通數(shù)據(jù)?觸發(fā)EPOLLIN。
16 接口中 定義static方法正確的是

  • static 函數(shù)聲明_C++中Static作用和使用方法_weixin_39855706的博客-CSDN博客
  • Java中的靜態(tài)變量和靜態(tài)函數(shù)_俊哥-CSDN博客_java定義靜態(tài)函數(shù)
static void method1(){}; 個人感覺 static protected void method2(){} static void method4(); static public void method3();

?17 需要被重寫的方法 使用哪個關鍵字進行修飾?

  • C++、C#中 abstract 與 virtual關鍵字的區(qū)別聯(lián)系_iefswang的專欄-CSDN博客
  • final修飾的函數(shù) 不可以改變?
  • C++重寫(覆蓋)、重載、重定義、多態(tài) - DannyCat - 博客園
  • C++中的final關鍵字_木子皿--啥都不會的菜鳥-CSDN博客_c++中final

18? 完全二叉樹

  • 常見數(shù)據(jù)結構——完全二叉樹(定義、特征、節(jié)點個數(shù)的判斷以及C++簡單實現(xiàn))_JMW1407的博客-CSDN博客_完全二叉樹
  • 完全二叉樹、平衡二叉樹、二叉查找樹(二叉排序樹)_bob的博客-CSDN博客
  • 樹、二叉樹、滿二叉樹、完全二叉樹、森林 - 漸漸遺忘者 - 博客園
  • 完全二叉樹 除了最后一層外,每一層的節(jié)點數(shù)量均達到最大數(shù)值
  • 完全二叉樹的總結點的數(shù)量?深度為k的完全二叉樹的節(jié)點個數(shù)小于或者等于深度相同的滿二叉樹,如下圖所示 節(jié)點的個數(shù)為 2^(h-1) - > 2^h-1 之間
  • 完全二叉樹可以是不平衡的

19? 等概率下 查找成功的平均查找長度

  • 關于ASL(平均查找長度)的簡單總結 - 回憶釀的甜 - 博客園

20 查看linux系統(tǒng)中/etc/fstab文件的第一列和第三列

  • Linux:使用awk命令獲取文本的某一行,某一列_北京小輝-CSDN博客_awk獲取某一行某一列
  • awk ’{cat $1,$3}‘ /etc/fstab?
  • 如果是打印 將cat修改為print

21 Kruskal 和 Prim算法相關知識

  • Kruskal算法的時間復雜度為??時間復雜度是O(N*logN),這里的N是指邊
  • Kruskal算法適用于求解? 邊稀疏 點多
  • Prim算法的時間復雜度是O(N^2)。
  • Prim算法適用于求解 邊稠密 點少
  • 【算法】最小生成樹——Prim和Kruskal算法_Reimia的博客-CSDN博客_kruskal算法
  • 最小生成樹圖之-Prim算法和Kruskal算法_angry_youth的博客-CSDN博客

22 貪心算法 的理解

  • 貪心算法每一步的最優(yōu)解一定包含上一步的最優(yōu)解,上一步之前的最優(yōu)解則不作保留
  • ?不能保證求得的最后解是最佳的
  • 貪心算法中,作出的每步貪心決策都無法改變
  • 貪心算法與動態(tài)規(guī)劃算法_wuyuxiu123的博客-CSDN博客_貪心動態(tài)規(guī)劃
  • 五大常用算法——貪心算法詳解及經(jīng)典例子_別再想更好的辦法的博客-CSDN博客_貪心算法

23 對表執(zhí)行 select 操作 不會激活 觸發(fā)器

  • 觸發(fā)器(trigger)是個特殊的存儲過程,它的執(zhí)行不是由程序調(diào)用,也不是手工啟動,而是由事件來觸發(fā),比如當對一個表進行操作( insert,delete, update)時就會激活它執(zhí)行。觸發(fā)器經(jīng)常用于加強數(shù)據(jù)的完整性約束和業(yè)務規(guī)則等

24 解決臨界區(qū)資源互斥應該遵循的原則

  • https://blog.csdn.net/qq_41459433/article/details/89195623

25? 代碼 消消樂?

?

#include <iostream> #include <vector> int n;int main(){std::cin >> n;getchar();std::string input_string{};std::getline(std::cin,input_string); // std::cout << input_string;std::vector<int>base(4,0);for (int i = 0; i < n; ++i) {base[input_string[i]-'0']++;}std::cout << std::min(base[0],base[1]) * 2 + std::min(base[2],base[3]) * 2 << std::endl;// for (int i = 0; i < n; ++i) { // std::cout<< input_nums[i] << " "; // } }

26 web頁面級優(yōu)化描述

  • 關于web的頁面級優(yōu)化_JKR10000的博客-CSDN博客

27 數(shù)組基本有序的時候,下面哪個算法對數(shù)組排序的時間復雜度最低

  • 直接選擇排序
  • 冒泡排序
  • 當序列基本有序時,效率最高的排序算法是插入排序,其次是冒泡排序
  • 對于基本有序的序列,按照那種排序方式最快?_創(chuàng)新工場筆試題_??途W(wǎng)

28 進程進入等待狀態(tài)有哪幾種方式

  • ?進程進入等待狀態(tài)有哪幾種方式-時間財富網(wǎng)
  • 答:CPU調(diào)度給優(yōu)先級更高的Thread(線程),原先Thread 進入Waiting(等待)狀態(tài)。阻塞的Thread獲得資源或者信號,進入Waiting狀態(tài)。在時間片輪轉(zhuǎn)的情況下,如果時間片到了,也將進入等待狀態(tài)。
  • 映客2020春招筆試題目_WangYaRu-CSDN博客
  • 操作系統(tǒng)面試題 - mu_tou_man - 博客園
  • ??途W(wǎng)選擇題_zhihu000的博客-CSDN博客

29 棧的入棧序列為 1,2,3,.......,n 出棧順序為P1,P2,P3 .......Pn,如果P2 = 3,P3的可能取值的個數(shù)是 n-1

30? 以下哪種http狀態(tài)下,瀏覽器會產(chǎn)生兩次http請求?( )A 304;B 404 C 403? D 302

  • 302臨時重定向,會產(chǎn)生兩次http請求,軟件開發(fā)中一般用于跨域請求先請求跨域憑證,再訪問跨域后的網(wǎng)絡資源。
  • 304:客戶端申請的資源存在,但是條件不滿足
  • 302:臨時重定向
  • 404:NOT FOUND
  • 400:存在語法錯誤

31?容器底層使用了namespace,linux內(nèi)核中 PID namespace是如何實現(xiàn)的

  • Pid Namespace 原理與源碼分析 - 知乎

32? ping命令是屬于tcp/ip的哪一層?應用層

  • ping命令是屬于tcp/ip的哪一層?_網(wǎng)易筆試題_??途W(wǎng)

32??如果事務T獲得了數(shù)據(jù)項Q上的排它鎖,則T對Q ( ? )? 既可以寫也可以讀

  • 鏈接:https://www.nowcoder.com/questionTerminal/30da7fd9af91446d9b71b162eb8070b2
  • 來源:??途W(wǎng)
  • 共享鎖【S鎖】 又稱讀鎖,若事務T對數(shù)據(jù)對象A加上S鎖,則事務T可以讀A但不能修改A,其他事務只能再對A加S鎖,而不能加X鎖,直到T釋放A上的S鎖。這保證了其他事務可以讀A,但在T釋放A上的S鎖之前不能對A做任何修改。
  • 排他鎖【X鎖】又稱寫鎖。若事務T對數(shù)據(jù)對象A加上X鎖,事務T可以讀A也可以修改A,其他事務不能再對A加任何鎖,直到T釋放A上的鎖。這保證了其他事務在T釋放A上的鎖之前不能再讀取和修改A。

33 n個數(shù)值選出最大的m個數(shù)值(3<m<n) 最小的時間復雜度是?

  • 最簡單的方法:將n個數(shù)排序,排序后的前k個數(shù)就是最大的k個數(shù),這種算法的復雜度是O(nlogn)
  • O(n)的方法:利用快排的patition思想,基于數(shù)組的第k個數(shù)來調(diào)整,將比第k個數(shù)小的都位于數(shù)組的左邊,比第k個數(shù)大的都調(diào)整到數(shù)組的右邊,這樣調(diào)整后,位于數(shù)組右邊的k個數(shù)最大的k個數(shù)(這k個數(shù)不一定是排好序的)
  • O(nlogk)的方法:先創(chuàng)建一個大小為k的最小堆,接下來我們每次從輸入的n個整數(shù)中讀入一個數(shù),如果這個數(shù)比最小堆的堆頂元素還要大,那么替換這個最小堆的堆頂并調(diào)整
  • n個數(shù)值選出最大m個數(shù)(3<m<n)的最小算法復__牛客網(wǎng)

34 6行5列 數(shù)組按照列序為主要順序進行存儲,基地址為1000,每個元素占據(jù)2個存儲單元,則第三行第4列的元素(假定無第0行第0列)的地址是

  • 1042 注意 是按照列進行存儲

35 將N條長度均為M的有序鏈表進行合并,合并以后的鏈表也保持有序,時間復雜度為()?

  • O(N * M * logN)
  • 將N條長度均為M的有序鏈表進行合并,合并以后的鏈表也保持有序_阿里巴巴筆試題_??途W(wǎng)

36 鄰接表表示圖的時候 拓撲排序時間復雜度

  • O(n+e)
  • 在用鄰接表表示圖時,拓撲排序算法時間復雜度為( )。__??途W(wǎng)

37 時間復雜度?

void recursive(int n,int m,int o){if (n <= 0){printf("%d,%d\n",m,o);} else{recursive(n-1,m+1,o);recursive(n-1,m,o+1);} }

38 對于分布式事務的CAP定理,說法正確的是

  • 分布式事務的CAP理論 - 知乎
  • CAP和BASE理論-阿里云開發(fā)者社區(qū)
  • CAP是Consistency、Avaliability、Partitiontolerance三個詞語的縮寫,分別表示一致性、可用性、分區(qū)容忍性
  • A代表的可用性和分布式事務BASE中的A的意義相同
  • C 一致性
  • A 可用性
  • P 分區(qū)容忍性

?C 一致性

  • 一致性是寫操作后的讀操作可以讀取到最新的數(shù)據(jù)狀態(tài),當數(shù)據(jù)分布在多個節(jié)點時,從任意節(jié)點讀取到的數(shù)據(jù)都是最新的狀態(tài)。
  • 上圖中,商品信息的讀寫要滿足一致性就是要實現(xiàn)如下目標:
  • (1)商品服務寫入主數(shù)據(jù)庫成功,則向從數(shù)據(jù)庫查詢新數(shù)據(jù)也成功。
  • (2)商品服務寫入主數(shù)據(jù)庫失敗,則向從數(shù)據(jù)庫查詢新數(shù)據(jù)也失敗。
  • 如何實現(xiàn)一致性?
  • (1)寫入主數(shù)據(jù)庫后要將數(shù)據(jù)同步到從數(shù)據(jù)庫。
  • (2)寫入主數(shù)據(jù)庫后,在向從數(shù)據(jù)庫同步期間要將從數(shù)據(jù)庫鎖定,待同步完成后再釋放鎖,以免在新數(shù)據(jù)庫寫入成功后,向從數(shù)據(jù)庫查詢到舊的數(shù)據(jù)。
  • 分布式一致性的特點:
  • (1)由于存在數(shù)據(jù)同步的過程,寫操作的相應會有一定延遲。
  • (2)為了保證數(shù)據(jù)一致性會對資源暫時鎖定,待數(shù)據(jù)同步完成釋放鎖定資源。
  • (3)如果請求數(shù)據(jù)同步失敗的節(jié)點則會返回錯誤信息,一定不會返回舊信息。

可用性

  • 可用性是指任何事務操作都可以得到相應結果,且不會出現(xiàn)響應超時或響應錯誤。
  • 上圖中,商品信息的讀取要滿足可用性就是要實現(xiàn)如下目標:
  • (1)從數(shù)據(jù)庫接收到查詢的請求則立即能夠響應數(shù)據(jù)查詢結果。
  • (2)從數(shù)據(jù)庫查詢不允許出現(xiàn)響應超時或者響應錯誤。
  • 如何實現(xiàn)可用性?
  • (1)寫入主數(shù)據(jù)庫要將數(shù)據(jù)同步到從數(shù)據(jù)庫。
  • (2)由于要保證從數(shù)據(jù)庫的可用性,不可將從數(shù)據(jù)庫中的資源鎖定。
  • (3)即時數(shù)據(jù)還沒有同步過來,從數(shù)據(jù)庫也要返回要查詢的數(shù)據(jù),哪怕是舊數(shù)據(jù),如果連舊數(shù)據(jù)也沒有則可以按照約定返回一個默認信息,但不能返回錯誤或相應超時。
  • 分布式系統(tǒng)可用性的特點:
  • (1)所有請求都有響應,且不會出現(xiàn)響應超時或者響應錯誤。

分區(qū)容忍性

  • 通常分布式系統(tǒng)的各個節(jié)點部署在不同的子網(wǎng),這就是網(wǎng)絡分區(qū),不可避免的會出現(xiàn)由于網(wǎng)絡問題而導致節(jié)點之間通信失敗,此時仍可對外提供服務,這叫分區(qū)容忍性。
  • 上圖中,商品信息讀寫要滿足分區(qū)容忍性就是要實現(xiàn)如下目標:
  • (1)主數(shù)據(jù)向從數(shù)據(jù)庫同步數(shù)據(jù)失敗不影響讀寫操作。
  • (2)一個節(jié)點掛掉不影響另一個節(jié)點對外提供服務。
  • 如何實現(xiàn)分區(qū)容忍性?
  • (1)盡量使用異步取代同步操作,例如使用異步方式將數(shù)據(jù)從主數(shù)據(jù)庫同步到從數(shù)據(jù)庫,這樣節(jié)點之間有效的實現(xiàn)松耦合。
  • (2)添加從數(shù)據(jù)庫節(jié)點,其中一個節(jié)點掛掉其它節(jié)點提供服務。
  • 分布式分區(qū)容忍性的特點:
  • (1)分區(qū)容忍性是分布式系統(tǒng)具備的基本能力。

39? 數(shù)組連續(xù)最大的非空子數(shù)組的和?

  • 時間復雜度為 O(n)
  • 力扣
class Solution { public:int maxSubArray(vector<int>& nums) {std::vector<int>f_vector(nums.size(),0);int max = nums[0];f_vector[0] = nums[0];for(int i = 1;i< nums.size();i++){f_vector[i] = std::max(f_vector[i-1]+nums[i],nums[i]);max = std::max(f_vector[i],max);}return max;} }; class Solution { public:int maxSubArray(vector<int>& nums) {int pre = 0;int max = nums[0];for(int i=0;i<nums.size();i++){pre = std::max(pre+nums[i],nums[i]);max = std::max(pre,max);}return max;} };

?40 傳輸協(xié)議對應的層級

  • 網(wǎng)絡協(xié)議各層概述 - kumata - 博客園
  • http 應用層
  • pop3 應用層協(xié)議,用于發(fā)郵件,基于udp協(xié)議
  • pop3 smtp imap這三種郵件協(xié)議,分別在七層協(xié)議的哪一層?_百度知道
  • POP3_百度百科
  • ICMP_百度百科
  • ICMP 網(wǎng)絡層??它是TCP/IP協(xié)議族的一個子協(xié)議,用于在IP主機、路由器之間傳遞控制消息
  • ICMP 是 TCP/IP 模型中網(wǎng)絡層的重要成員,與 IP 協(xié)議、ARP 協(xié)議、RARP 協(xié)議及 IGMP 協(xié)議共同構成 TCP/IP 模型中的網(wǎng)絡層。ping 和 tracert是兩個常用網(wǎng)絡管理命令,ping 用來測試網(wǎng)絡可達性,tracert 用來顯示到達目的主機的路徑。ping和 tracert 都利用 ICMP 協(xié)議來實現(xiàn)網(wǎng)絡功能,它們是把網(wǎng)絡協(xié)議應用到日常網(wǎng)絡管理的典型實例
  • 802.11 物理層
  • 802.11最初定義的三個物理層包括了兩個擴散頻譜技術和一個紅外傳播規(guī)范,無線傳輸?shù)念l道定義在2.4GHz的ISM波段內(nèi),這個頻段,在各個國際無線管理機構中,例如美國的USA,歐洲的ETSI和日本的MKK都是非注冊使用頻段。這樣,使用802.11的客戶端設備就不需要任何無線許可。擴散頻譜技術保證了802.11的設備在這個頻段上的可用性和可靠的吞吐量,這項技術還可以保證同其他使用同一頻段的設備不互相影響。???????
  • 802.11標準定義了哪三種物理層通信技術_百度知道

?41?通過IP地址的請求 由相同的服務器節(jié)點來承擔

  • nginx使用ip_hash后為什么請求訪問的都在同一個服務器,而另外幾個服務幾乎是閑的_yswKnight的博客-CSDN博客
  • 負載均衡詳解_ITHK01的博客-CSDN博客
  • 快速理解高性能HTTP服務端的負載均衡技術原理 - 知乎
  • 一致性哈希算法(consistent hashing) - 知乎

42?TCP 網(wǎng)絡連接進入Time_wait狀態(tài)說明

  • TCP的TIME_WAIT狀態(tài) - 知乎
  • 主動關閉方在收到被動關閉方的FIN包后并返回ACK后,會進入TIME_WAIT狀態(tài),TIME_WAIT狀態(tài)又稱2MSL狀態(tài)

?判斷以下選項

  • 客戶端等待服務端再次發(fā)送FIN報文? 錯誤?,只有發(fā)送完FIN報文才會進入這個狀態(tài)
  • 服務器網(wǎng)絡連接也有可能處于Time_wait狀態(tài) ??
  • 服務器大量處于TIME_WAIT狀態(tài),可能是什么原因,會造成什么影響,怎么解決?CLOSE_WAIT狀態(tài)呢?_我是一個小石頭的博客-CSDN博客
  • 服務器有可能不會再次發(fā)出FIN報文???
  • 如果服務端不再發(fā)出FIN報文,則客戶端會一直處于Time_wait狀態(tài)而不會結束? 錯誤?,應該進行第四次握手,雙方進入closed狀態(tài),關閉鏈接
  • TCP的三次握手四次揮手理解及面試題 - www.pu - 博客園
  • 客戶端認為自己最后一次發(fā)出的FIN報文服務可能會收不到,需要等待?? 錯誤?,客戶端發(fā)出的FIN報文已經(jīng)被接收了

參考鏈接

  • TCP連接的TIME_WAIT和CLOSE_WAIT 狀態(tài)解說 - 散盡浮華 - 博客園

43? 關于限流正確的是

  • 漏桶 可以使用 Guava的RateLimiter組件來實現(xiàn)??
  • Guava學習計劃-Semaphore—RateLimiter-漏桶算法-令牌桶算法_mengxpFighting的博客-CSDN博客
  • 談談經(jīng)典限流方法——漏桶、令牌桶,與Guava RateLimiter的實現(xiàn) - 簡書
  • 漏桶和令牌桶是兩種通用的限流方案 正確
  • 限流是當系統(tǒng)資源不足以支撐超過預期的突發(fā)流量的時候,面對超額流量的自我保護機制 正確
  • 漏桶使用 棧 來實現(xiàn)? ? 漏桶使用FIFO隊列
  • 令牌桶 常用一個FIFO隊列來實現(xiàn)? 正確

參考鏈接

  • 常用限流算法及原理_QuricoLouis-CSDN博客

函數(shù)指針 和 指針函數(shù)的區(qū)別

  • C++ 函數(shù)指針和指針函數(shù)-CJavaPy

為啥返回數(shù)值的類型不可以作為函數(shù)重載的區(qū)分呢?

  • 深入 -- 為什么不能根據(jù)返回類型來區(qū)分重載?_Simba_cheng的博客-CSDN博客_為什么不能根據(jù)返回類型來區(qū)分重載

構成多態(tài)的條件?繼承和多態(tài) 是否足以?

  • C++虛函數(shù)注意事項以及構成多態(tài)的條件
  • 有了虛函數(shù),基類指針指向基類對象時就使用基類的成員(包括成員函數(shù)和成員變量),指向派生類對象時就使用派生類的成員。換句話說,基類指針可以按照基類的方式來做事,也可以按照派生類的方式來做事,它有多種形態(tài),或者說有多種表現(xiàn)方式,我們將這種現(xiàn)象稱為多態(tài)(Polymorphism)
  • 多態(tài)是面向?qū)ο缶幊痰闹饕卣髦?#xff0c;C++中虛函數(shù)的唯一用處就是構成多態(tài)
  • C++提供多態(tài)的目的是:可以通過基類指針對所有派生類(包括直接派生和間接派生)的成員變量和成員函數(shù)進行“全方位”的訪問,尤其是成員函數(shù)。如果沒有多態(tài),我們只能訪問成員變量
    ?

對于IP地址 130.63.160.2? MASK為255.255.255.0? 子網(wǎng)號為?? 未解決

  • 160
  • 63.160
  • 160.2
  • 130.63.160?

主機甲和主機乙之間建立了一個TCP連接,雙方持續(xù)有數(shù)據(jù)傳輸,且數(shù)據(jù)沒有差錯和丟失。如果甲收到一個來自乙的TCP段,這個段的序號為1913,確認序號為2046,有效載荷為100字節(jié),則甲立即發(fā)送給乙的TCP段的序號和確認序號分別是?

  • 2046 2013
  • 2047 2012
  • 2046 2012
  • 2047 2013

建立連接的時候,哪一個數(shù)據(jù)包發(fā)送順序是正確的TCP握手協(xié)議過程??

  • SYN+ACK ,SYN+ACK ,SYN
  • SYN,SYN,ACK
  • SYN,SYN+ACK,SYN+ACK
  • SYN,SYN+ACK,RST
  • 都不正確

主機甲和主機一建立一個TCP連接,甲的擁塞控制初始的閾值是32kb,甲向乙始終以MSS=1kb大小的段發(fā)送數(shù)據(jù),并一直有數(shù)據(jù) 的發(fā)送,乙為這個連接分配的16kb的接收緩存,并對每個數(shù)據(jù)段進行確認,忽略傳輸?shù)难舆t,如果乙收到的數(shù)據(jù)全部存入緩存,不被取走,則甲從連接建立成功時刻起,未發(fā)送超時的情況下,經(jīng)過了4個RTT之后,甲的發(fā)送窗口大小是?

  • 8kb
  • 16kb
  • 1kb
  • 32kb

某個主機的ip地址是180.80.77.55 子網(wǎng)掩碼是255.255.252.0 如果這個主機向所在子網(wǎng)發(fā)送廣播分組,則目的地址可以是?

  • 180.80.76.255
  • 180.80.77.255
  • 180.80.76.0
  • 180.80.79.255

對于第二范式的理解正確的是?

  • 在第一范式的基礎上,任何非主屬性不依賴于其他非主屬性
  • 在第一范式的基礎上,非碼屬性必須完全依賴與碼
  • 數(shù)據(jù)庫的每一列都是不可分割的原子數(shù)據(jù)項
  • 上述說法均錯誤

總結

以上是生活随笔為你收集整理的面试题目汇总的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。