面试题目汇总
1,for循環(huán)的時(shí)間復(fù)雜度
- 兩層for循環(huán) 第二層中 的循環(huán)變量繼承與上層變量
- 時(shí)間復(fù)雜度是O(n^2)
- for循環(huán)時(shí)間復(fù)雜度算法理解_bingkxin的專(zhuān)欄-CSDN博客_for循環(huán)時(shí)間復(fù)雜度
2,變量的聲明和定義
- 定義也是聲明,定義變量的時(shí)候,我們聲明了他的類(lèi)型和名稱(chēng)
- 在一個(gè)源文件里面定義了一個(gè)數(shù)組 char a[6],其余文件使用下列語(yǔ)句進(jìn)行聲明,extern char a[6]; 使用extern char* 的方式是錯(cuò)誤的
- ??????程序文件【C/C++】變量的定義與聲明 - xinyuyuanm - 博客園
- C語(yǔ)言引用另一個(gè)源文件中定義的數(shù)組_weixin_30614587的博客-CSDN博客
- 變量的聲明,用于向程序表明變量的類(lèi)型和名字
- 變量的定義用于為變量分配存儲(chǔ)空間,還為變量指定初始化數(shù)值,變量有且僅有一個(gè)定義
3,關(guān)于存儲(chǔ)區(qū)域描述錯(cuò)誤的是
- C++中棧區(qū) 堆區(qū) 常量區(qū) - 10號(hào) - 博客園
4,友元函數(shù)可以訪問(wèn) 類(lèi)的公有、保護(hù)和私有成員
5,聯(lián)合程序的輸出結(jié)果 266?
- 下面關(guān)于“聯(lián)合”的題目的輸出?_zy_dreamer的專(zhuān)欄-CSDN博客
6,構(gòu)造函數(shù)和析構(gòu)函數(shù)
- 為什么構(gòu)造函數(shù)不能聲明為虛函數(shù),析構(gòu)函數(shù)可以 - lpx15312 - 博客園
- 構(gòu)造函數(shù)可以拋出異常,析構(gòu)函數(shù)不建議拋出異常
- 析構(gòu)函數(shù)最好是虛函數(shù)
- 構(gòu)造函數(shù)不可以是虛函數(shù)
- C++構(gòu)造函數(shù)、析構(gòu)函數(shù)與拋出異常 - hellogiser - 博客園
- 構(gòu)造函數(shù)的執(zhí)行順序
- 構(gòu)建子類(lèi)實(shí)例的時(shí)候,先調(diào)用父類(lèi)的構(gòu)造函數(shù),再調(diào)用子類(lèi)的構(gòu)造函數(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全部移動(dòng)到數(shù)組的末尾,維持其他所有非0元素的相對(duì)位置,空間復(fù)雜度為o(1),時(shí)間復(fù)雜度為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 信號(hào)給前臺(tái)進(jìn)程組中的所有進(jìn)程,常用于掛起一個(gè)進(jìn)程
- Linux中ctrl+z 、ctrl+c、 ctrl+d區(qū)別_輝-CSDN博客
- 最全整理 | 121個(gè)Ubuntu終端常用快捷鍵 - 知乎
10,下面哪些不屬于字節(jié)流?
- BufferedReader? 不屬于 字符流
- ObjectInputStream
- FileInputStream
- ByteArrayInputStream?
- 字節(jié)流和字符流(BufferedReader類(lèi)和BufferedWriter類(lèi))_weixin_30252709的博客-CSDN博客
11,關(guān)于PV操作的理解
- 進(jìn)程調(diào)用P操作 測(cè)試子集所需要的消息是否到達(dá)
- PV操作可以適用于進(jìn)程之間的通信
- PV操作不僅是進(jìn)程互斥的工具,也是進(jìn)程之間同步的工具
- 進(jìn)程調(diào)用V操作向其他進(jìn)程發(fā)送消息
- 看完了進(jìn)程同步與互斥機(jī)制,我終于徹底理解了 PV 操作 - 云+社區(qū) - 騰訊云
- 進(jìn)程間通信(命名管道,消息隊(duì)列,PV操作)_努力努力再努力的博客-CSDN博客
12 內(nèi)存的靜態(tài)分配方式和動(dòng)態(tài)分配方式
- 一是時(shí)間不同。靜態(tài)分配發(fā)生在程序編譯和鏈接的時(shí)候。動(dòng)態(tài)分配則發(fā)生在程序調(diào)入和執(zhí)行的時(shí)候
- 二是空間不同。堆都是動(dòng)態(tài)分配的,沒(méi)有靜態(tài)分配的堆。棧有2種分配方式:靜態(tài)分配和動(dòng)態(tài)分配。靜態(tài)分配是編譯器完成的,比如局部變量的分配。動(dòng)態(tài)分配由函數(shù)malloc進(jìn)行分配。不過(guò)棧的動(dòng)態(tài)分配和堆不同,他的動(dòng)態(tài)分配是由編譯器進(jìn)行釋放,無(wú)需我們手工實(shí)現(xiàn)
- 靜態(tài)內(nèi)存分配與動(dòng)態(tài)內(nèi)存分配_Ideal Dragon的博客-CSDN博客_靜態(tài)內(nèi)存分配
- 內(nèi)存的靜態(tài)分配和動(dòng)態(tài)分配的區(qū)別
13 MySQL的數(shù)據(jù)庫(kù)事務(wù)的隔離級(jí)別 對(duì)資源消耗最大的是
- Serializable
- 徹底搞懂 MySQL 事務(wù)的隔離級(jí)別-阿里云開(kāi)發(fā)者社區(qū)
14 Linux擴(kuò)展虛擬內(nèi)存? 將/dev/sda5格式化為交換分區(qū)的指令是
- Linux格式化交換分區(qū)的命令,【Linux命令】磁盤(pán)分區(qū),格式化,掛載命令,創(chuàng)建交換分區(qū)(fdisk,mkfs,mount,umount)..._weixin_39547298的博客-CSDN博客
- mkswap /dev/sda5
15 關(guān)于epoll敘述正確的是
- epoll 默認(rèn)的工作方式 是LT?
- 使用mmap加速內(nèi)核和用戶空間之間的消息傳遞
- 使用mmap函數(shù)進(jìn)行內(nèi)核空間和用戶空間的共享內(nèi)存通信_(tái)Gick-CSDN博客
- linux高效率編程:epoll和多線程 - dion至君 - 博客園
- epoll的兩種工作模式 - 知乎
- 第一章epoll - codestacklinuxer - 博客園
- mmap - 用戶空間與內(nèi)核空間_luckywang1103的專(zhuān)欄-CSDN博客_mmap
- 一道搜狗面試題:IO多路復(fù)用中select、poll、epoll之間的區(qū)別 - 云+社區(qū) - 騰訊云
- EPOLLIN , EPOLLOUT , EPOLLPRI, EPOLLERR 和 EPOLLHUP事件_heluan123132的博客-CSDN博客
EPOLL事件有兩種模型 Level Triggered (LT) 和 Edge Triggered (ET):
- LT(level triggered,水平觸發(fā)模式)是缺省的工作方式,并且同時(shí)支持 block 和 non-block socket。在這種做法中,內(nèi)核告訴你一個(gè)文件描述符是否就緒了,然后你可以對(duì)這個(gè)就緒的fd進(jìn)行IO操作。如果你不作任何操作,內(nèi)核還是會(huì)繼續(xù)通知你的,所以,這種模式編程出錯(cuò)誤可能性要小一點(diǎn)。
- ET(edge-triggered,邊緣觸發(fā)模式)是高速工作方式,只支持no-block socket。在這種模式下,當(dāng)描述符從未就緒變?yōu)榫途w時(shí),內(nèi)核通過(guò)epoll告訴你。然后它會(huì)假設(shè)你知道文件描述符已經(jīng)就緒,并且不會(huì)再為那個(gè)文件描述符發(fā)送更多的就緒通知,等到下次有新的數(shù)據(jù)進(jìn)來(lái)的時(shí)候才會(huì)再次出發(fā)就緒事件。如果一直不對(duì)這個(gè)fd進(jìn)行I/O操作,導(dǎo)致fd變?yōu)槲淳途w時(shí),內(nèi)核同樣不會(huì)發(fā)送更多的通知,因?yàn)閛nly once。所以這種方式下,出錯(cuò)率比較高,需要增加一些檢測(cè)程序。
epoll的優(yōu)點(diǎn):
- 沒(méi)有最大并發(fā)連接的限制,能打開(kāi)的FD的上限遠(yuǎn)大于1024(1G的內(nèi)存上能監(jiān)聽(tīng)約10萬(wàn)個(gè)端口);
- 效率提升,不是輪詢的方式,不會(huì)隨著FD數(shù)目的增加效率下降。只有活躍可用的FD才會(huì)調(diào)用callback函數(shù);即Epoll最大的優(yōu)點(diǎn)就在于它只管你“活躍”的連接,而跟連接總數(shù)無(wú)關(guān),因此在實(shí)際的網(wǎng)絡(luò)環(huán)境中,Epoll的效率就會(huì)遠(yuǎn)遠(yuǎn)高于select和poll。
- 內(nèi)存拷貝,利用mmap()文件映射內(nèi)存加速與內(nèi)核空間的消息傳遞;即epoll使用mmap減少?gòu)?fù)制開(kāi)銷(xiāo)。
1、listen fd,有新連接請(qǐng)求,對(duì)端發(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ù)
?17 需要被重寫(xiě)的方法 使用哪個(gè)關(guān)鍵字進(jìn)行修飾?
- C++、C#中 abstract 與 virtual關(guān)鍵字的區(qū)別聯(lián)系_iefswang的專(zhuān)欄-CSDN博客
- final修飾的函數(shù) 不可以改變?
- C++重寫(xiě)(覆蓋)、重載、重定義、多態(tài) - DannyCat - 博客園
- C++中的final關(guān)鍵字_木子皿--啥都不會(huì)的菜鳥(niǎo)-CSDN博客_c++中final
18? 完全二叉樹(shù)
- 常見(jiàn)數(shù)據(jù)結(jié)構(gòu)——完全二叉樹(shù)(定義、特征、節(jié)點(diǎn)個(gè)數(shù)的判斷以及C++簡(jiǎn)單實(shí)現(xiàn))_JMW1407的博客-CSDN博客_完全二叉樹(shù)
- 完全二叉樹(shù)、平衡二叉樹(shù)、二叉查找樹(shù)(二叉排序樹(shù))_bob的博客-CSDN博客
- 樹(shù)、二叉樹(shù)、滿二叉樹(shù)、完全二叉樹(shù)、森林 - 漸漸遺忘者 - 博客園
- 完全二叉樹(shù) 除了最后一層外,每一層的節(jié)點(diǎn)數(shù)量均達(dá)到最大數(shù)值
- 完全二叉樹(shù)的總結(jié)點(diǎn)的數(shù)量?深度為k的完全二叉樹(shù)的節(jié)點(diǎn)個(gè)數(shù)小于或者等于深度相同的滿二叉樹(shù),如下圖所示 節(jié)點(diǎn)的個(gè)數(shù)為 2^(h-1) - > 2^h-1 之間
- 完全二叉樹(shù)可以是不平衡的
19? 等概率下 查找成功的平均查找長(zhǎng)度
- 關(guān)于ASL(平均查找長(zhǎng)度)的簡(jiǎn)單總結(jié) - 回憶釀的甜 - 博客園
20 查看linux系統(tǒng)中/etc/fstab文件的第一列和第三列
- Linux:使用awk命令獲取文本的某一行,某一列_北京小輝-CSDN博客_awk獲取某一行某一列
- awk ’{cat $1,$3}‘ /etc/fstab?
- 如果是打印 將cat修改為print
21 Kruskal 和 Prim算法相關(guān)知識(shí)
- Kruskal算法的時(shí)間復(fù)雜度為??時(shí)間復(fù)雜度是O(N*logN),這里的N是指邊
- Kruskal算法適用于求解? 邊稀疏 點(diǎn)多
- Prim算法的時(shí)間復(fù)雜度是O(N^2)。
- Prim算法適用于求解 邊稠密 點(diǎn)少
- 【算法】最小生成樹(shù)——Prim和Kruskal算法_Reimia的博客-CSDN博客_kruskal算法
- 最小生成樹(shù)圖之-Prim算法和Kruskal算法_angry_youth的博客-CSDN博客
22 貪心算法 的理解
- 貪心算法每一步的最優(yōu)解一定包含上一步的最優(yōu)解,上一步之前的最優(yōu)解則不作保留
- ?不能保證求得的最后解是最佳的
- 貪心算法中,作出的每步貪心決策都無(wú)法改變
- 貪心算法與動(dòng)態(tài)規(guī)劃算法_wuyuxiu123的博客-CSDN博客_貪心動(dòng)態(tài)規(guī)劃
- 五大常用算法——貪心算法詳解及經(jīng)典例子_別再想更好的辦法的博客-CSDN博客_貪心算法
23 對(duì)表執(zhí)行 select 操作 不會(huì)激活 觸發(fā)器
- 觸發(fā)器(trigger)是個(gè)特殊的存儲(chǔ)過(guò)程,它的執(zhí)行不是由程序調(diào)用,也不是手工啟動(dòng),而是由事件來(lái)觸發(fā),比如當(dāng)對(duì)一個(gè)表進(jìn)行操作( insert,delete, update)時(shí)就會(huì)激活它執(zhí)行。觸發(fā)器經(jīng)常用于加強(qiáng)數(shù)據(jù)的完整性約束和業(yè)務(wù)規(guī)則等
24 解決臨界區(qū)資源互斥應(yīng)該遵循的原則
- https://blog.csdn.net/qq_41459433/article/details/89195623
25? 代碼 消消樂(lè)?
?
#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è)面級(jí)優(yōu)化描述
- 關(guān)于web的頁(yè)面級(jí)優(yōu)化_JKR10000的博客-CSDN博客
27 數(shù)組基本有序的時(shí)候,下面哪個(gè)算法對(duì)數(shù)組排序的時(shí)間復(fù)雜度最低
- 直接選擇排序
- 冒泡排序
- 當(dāng)序列基本有序時(shí),效率最高的排序算法是插入排序,其次是冒泡排序
- 對(duì)于基本有序的序列,按照那種排序方式最快?_創(chuàng)新工場(chǎng)筆試題_牛客網(wǎng)
28 進(jìn)程進(jìn)入等待狀態(tài)有哪幾種方式
- ?進(jìn)程進(jìn)入等待狀態(tài)有哪幾種方式-時(shí)間財(cái)富網(wǎng)
- 答:CPU調(diào)度給優(yōu)先級(jí)更高的Thread(線程),原先Thread 進(jìn)入Waiting(等待)狀態(tài)。阻塞的Thread獲得資源或者信號(hào),進(jìn)入Waiting狀態(tài)。在時(shí)間片輪轉(zhuǎn)的情況下,如果時(shí)間片到了,也將進(jìn)入等待狀態(tài)。
- 映客2020春招筆試題目_WangYaRu-CSDN博客
- 操作系統(tǒng)面試題 - mu_tou_man - 博客園
- 牛客網(wǎng)選擇題_zhihu000的博客-CSDN博客
29 棧的入棧序列為 1,2,3,.......,n 出棧順序?yàn)镻1,P2,P3 .......Pn,如果P2 = 3,P3的可能取值的個(gè)數(shù)是 n-1
30? 以下哪種http狀態(tài)下,瀏覽器會(huì)產(chǎn)生兩次http請(qǐng)求?( )A 304;B 404 C 403? D 302
- 302臨時(shí)重定向,會(huì)產(chǎn)生兩次http請(qǐng)求,軟件開(kāi)發(fā)中一般用于跨域請(qǐng)求先請(qǐng)求跨域憑證,再訪問(wèn)跨域后的網(wǎng)絡(luò)資源。
- 304:客戶端申請(qǐng)的資源存在,但是條件不滿足
- 302:臨時(shí)重定向
- 404:NOT FOUND
- 400:存在語(yǔ)法錯(cuò)誤
31?容器底層使用了namespace,linux內(nèi)核中 PID namespace是如何實(shí)現(xiàn)的
- Pid Namespace 原理與源碼分析 - 知乎
32? ping命令是屬于tcp/ip的哪一層?應(yīng)用層
- ping命令是屬于tcp/ip的哪一層?_網(wǎng)易筆試題_牛客網(wǎng)
32??如果事務(wù)T獲得了數(shù)據(jù)項(xiàng)Q上的排它鎖,則T對(duì)Q ( ? )? 既可以寫(xiě)也可以讀
- 鏈接:https://www.nowcoder.com/questionTerminal/30da7fd9af91446d9b71b162eb8070b2
- 來(lái)源:牛客網(wǎng)
- 共享鎖【S鎖】 又稱(chēng)讀鎖,若事務(wù)T對(duì)數(shù)據(jù)對(duì)象A加上S鎖,則事務(wù)T可以讀A但不能修改A,其他事務(wù)只能再對(duì)A加S鎖,而不能加X(jué)鎖,直到T釋放A上的S鎖。這保證了其他事務(wù)可以讀A,但在T釋放A上的S鎖之前不能對(duì)A做任何修改。
- 排他鎖【X鎖】又稱(chēng)寫(xiě)鎖。若事務(wù)T對(duì)數(shù)據(jù)對(duì)象A加上X鎖,事務(wù)T可以讀A也可以修改A,其他事務(wù)不能再對(duì)A加任何鎖,直到T釋放A上的鎖。這保證了其他事務(wù)在T釋放A上的鎖之前不能再讀取和修改A。
33 n個(gè)數(shù)值選出最大的m個(gè)數(shù)值(3<m<n) 最小的時(shí)間復(fù)雜度是?
- 最簡(jiǎn)單的方法:將n個(gè)數(shù)排序,排序后的前k個(gè)數(shù)就是最大的k個(gè)數(shù),這種算法的復(fù)雜度是O(nlogn)
- O(n)的方法:利用快排的patition思想,基于數(shù)組的第k個(gè)數(shù)來(lái)調(diào)整,將比第k個(gè)數(shù)小的都位于數(shù)組的左邊,比第k個(gè)數(shù)大的都調(diào)整到數(shù)組的右邊,這樣調(diào)整后,位于數(shù)組右邊的k個(gè)數(shù)最大的k個(gè)數(shù)(這k個(gè)數(shù)不一定是排好序的)
- O(nlogk)的方法:先創(chuàng)建一個(gè)大小為k的最小堆,接下來(lái)我們每次從輸入的n個(gè)整數(shù)中讀入一個(gè)數(shù),如果這個(gè)數(shù)比最小堆的堆頂元素還要大,那么替換這個(gè)最小堆的堆頂并調(diào)整
- n個(gè)數(shù)值選出最大m個(gè)數(shù)(3<m<n)的最小算法復(fù)__牛客網(wǎng)
34 6行5列 數(shù)組按照列序?yàn)橹饕樞蜻M(jìn)行存儲(chǔ),基地址為1000,每個(gè)元素占據(jù)2個(gè)存儲(chǔ)單元,則第三行第4列的元素(假定無(wú)第0行第0列)的地址是
- 1042 注意 是按照列進(jìn)行存儲(chǔ)
35 將N條長(zhǎng)度均為M的有序鏈表進(jìn)行合并,合并以后的鏈表也保持有序,時(shí)間復(fù)雜度為()?
- O(N * M * logN)
- 將N條長(zhǎng)度均為M的有序鏈表進(jìn)行合并,合并以后的鏈表也保持有序_阿里巴巴筆試題_牛客網(wǎng)
36 鄰接表表示圖的時(shí)候 拓?fù)渑判驎r(shí)間復(fù)雜度
- O(n+e)
- 在用鄰接表表示圖時(shí),拓?fù)渑判蛩惴〞r(shí)間復(fù)雜度為( )。__牛客網(wǎng)
37 時(shí)間復(fù)雜度?
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 對(duì)于分布式事務(wù)的CAP定理,說(shuō)法正確的是
- 分布式事務(wù)的CAP理論 - 知乎
- CAP和BASE理論-阿里云開(kāi)發(fā)者社區(qū)
- CAP是Consistency、Avaliability、Partitiontolerance三個(gè)詞語(yǔ)的縮寫(xiě),分別表示一致性、可用性、分區(qū)容忍性
- A代表的可用性和分布式事務(wù)BASE中的A的意義相同
- C 一致性
- A 可用性
- P 分區(qū)容忍性
?C 一致性
- 一致性是寫(xiě)操作后的讀操作可以讀取到最新的數(shù)據(jù)狀態(tài),當(dāng)數(shù)據(jù)分布在多個(gè)節(jié)點(diǎn)時(shí),從任意節(jié)點(diǎn)讀取到的數(shù)據(jù)都是最新的狀態(tài)。
- 上圖中,商品信息的讀寫(xiě)要滿足一致性就是要實(shí)現(xiàn)如下目標(biāo):
- (1)商品服務(wù)寫(xiě)入主數(shù)據(jù)庫(kù)成功,則向從數(shù)據(jù)庫(kù)查詢新數(shù)據(jù)也成功。
- (2)商品服務(wù)寫(xiě)入主數(shù)據(jù)庫(kù)失敗,則向從數(shù)據(jù)庫(kù)查詢新數(shù)據(jù)也失敗。
- 如何實(shí)現(xiàn)一致性?
- (1)寫(xiě)入主數(shù)據(jù)庫(kù)后要將數(shù)據(jù)同步到從數(shù)據(jù)庫(kù)。
- (2)寫(xiě)入主數(shù)據(jù)庫(kù)后,在向從數(shù)據(jù)庫(kù)同步期間要將從數(shù)據(jù)庫(kù)鎖定,待同步完成后再釋放鎖,以免在新數(shù)據(jù)庫(kù)寫(xiě)入成功后,向從數(shù)據(jù)庫(kù)查詢到舊的數(shù)據(jù)。
- 分布式一致性的特點(diǎn):
- (1)由于存在數(shù)據(jù)同步的過(guò)程,寫(xiě)操作的相應(yīng)會(huì)有一定延遲。
- (2)為了保證數(shù)據(jù)一致性會(huì)對(duì)資源暫時(shí)鎖定,待數(shù)據(jù)同步完成釋放鎖定資源。
- (3)如果請(qǐng)求數(shù)據(jù)同步失敗的節(jié)點(diǎn)則會(huì)返回錯(cuò)誤信息,一定不會(huì)返回舊信息。
可用性
- 可用性是指任何事務(wù)操作都可以得到相應(yīng)結(jié)果,且不會(huì)出現(xiàn)響應(yīng)超時(shí)或響應(yīng)錯(cuò)誤。
- 上圖中,商品信息的讀取要滿足可用性就是要實(shí)現(xiàn)如下目標(biāo):
- (1)從數(shù)據(jù)庫(kù)接收到查詢的請(qǐng)求則立即能夠響應(yīng)數(shù)據(jù)查詢結(jié)果。
- (2)從數(shù)據(jù)庫(kù)查詢不允許出現(xiàn)響應(yīng)超時(shí)或者響應(yīng)錯(cuò)誤。
- 如何實(shí)現(xiàn)可用性?
- (1)寫(xiě)入主數(shù)據(jù)庫(kù)要將數(shù)據(jù)同步到從數(shù)據(jù)庫(kù)。
- (2)由于要保證從數(shù)據(jù)庫(kù)的可用性,不可將從數(shù)據(jù)庫(kù)中的資源鎖定。
- (3)即時(shí)數(shù)據(jù)還沒(méi)有同步過(guò)來(lái),從數(shù)據(jù)庫(kù)也要返回要查詢的數(shù)據(jù),哪怕是舊數(shù)據(jù),如果連舊數(shù)據(jù)也沒(méi)有則可以按照約定返回一個(gè)默認(rèn)信息,但不能返回錯(cuò)誤或相應(yīng)超時(shí)。
- 分布式系統(tǒng)可用性的特點(diǎn):
- (1)所有請(qǐng)求都有響應(yīng),且不會(huì)出現(xiàn)響應(yīng)超時(shí)或者響應(yīng)錯(cuò)誤。
分區(qū)容忍性
- 通常分布式系統(tǒng)的各個(gè)節(jié)點(diǎn)部署在不同的子網(wǎng),這就是網(wǎng)絡(luò)分區(qū),不可避免的會(huì)出現(xiàn)由于網(wǎng)絡(luò)問(wèn)題而導(dǎo)致節(jié)點(diǎn)之間通信失敗,此時(shí)仍可對(duì)外提供服務(wù),這叫分區(qū)容忍性。
- 上圖中,商品信息讀寫(xiě)要滿足分區(qū)容忍性就是要實(shí)現(xiàn)如下目標(biāo):
- (1)主數(shù)據(jù)向從數(shù)據(jù)庫(kù)同步數(shù)據(jù)失敗不影響讀寫(xiě)操作。
- (2)一個(gè)節(jié)點(diǎn)掛掉不影響另一個(gè)節(jié)點(diǎn)對(duì)外提供服務(wù)。
- 如何實(shí)現(xiàn)分區(qū)容忍性?
- (1)盡量使用異步取代同步操作,例如使用異步方式將數(shù)據(jù)從主數(shù)據(jù)庫(kù)同步到從數(shù)據(jù)庫(kù),這樣節(jié)點(diǎn)之間有效的實(shí)現(xiàn)松耦合。
- (2)添加從數(shù)據(jù)庫(kù)節(jié)點(diǎn),其中一個(gè)節(jié)點(diǎn)掛掉其它節(jié)點(diǎn)提供服務(wù)。
- 分布式分區(qū)容忍性的特點(diǎn):
- (1)分區(qū)容忍性是分布式系統(tǒng)具備的基本能力。
39? 數(shù)組連續(xù)最大的非空子數(shù)組的和?
- 時(shí)間復(fù)雜度為 O(n)
- 力扣
?40 傳輸協(xié)議對(duì)應(yīng)的層級(jí)
- 網(wǎng)絡(luò)協(xié)議各層概述 - kumata - 博客園
- http 應(yīng)用層
- pop3 應(yīng)用層協(xié)議,用于發(fā)郵件,基于udp協(xié)議
- pop3 smtp imap這三種郵件協(xié)議,分別在七層協(xié)議的哪一層?_百度知道
- POP3_百度百科
- ICMP_百度百科
- ICMP 網(wǎng)絡(luò)層??它是TCP/IP協(xié)議族的一個(gè)子協(xié)議,用于在IP主機(jī)、路由器之間傳遞控制消息
- ICMP 是 TCP/IP 模型中網(wǎng)絡(luò)層的重要成員,與 IP 協(xié)議、ARP 協(xié)議、RARP 協(xié)議及 IGMP 協(xié)議共同構(gòu)成 TCP/IP 模型中的網(wǎng)絡(luò)層。ping 和 tracert是兩個(gè)常用網(wǎng)絡(luò)管理命令,ping 用來(lái)測(cè)試網(wǎng)絡(luò)可達(dá)性,tracert 用來(lái)顯示到達(dá)目的主機(jī)的路徑。ping和 tracert 都利用 ICMP 協(xié)議來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)功能,它們是把網(wǎng)絡(luò)協(xié)議應(yīng)用到日常網(wǎng)絡(luò)管理的典型實(shí)例
- 802.11 物理層
- 802.11最初定義的三個(gè)物理層包括了兩個(gè)擴(kuò)散頻譜技術(shù)和一個(gè)紅外傳播規(guī)范,無(wú)線傳輸?shù)念l道定義在2.4GHz的ISM波段內(nèi),這個(gè)頻段,在各個(gè)國(guó)際無(wú)線管理機(jī)構(gòu)中,例如美國(guó)的USA,歐洲的ETSI和日本的MKK都是非注冊(cè)使用頻段。這樣,使用802.11的客戶端設(shè)備就不需要任何無(wú)線許可。擴(kuò)散頻譜技術(shù)保證了802.11的設(shè)備在這個(gè)頻段上的可用性和可靠的吞吐量,這項(xiàng)技術(shù)還可以保證同其他使用同一頻段的設(shè)備不互相影響。???????
- 802.11標(biāo)準(zhǔn)定義了哪三種物理層通信技術(shù)_百度知道
?41?通過(guò)IP地址的請(qǐng)求 由相同的服務(wù)器節(jié)點(diǎn)來(lái)承擔(dān)
- nginx使用ip_hash后為什么請(qǐng)求訪問(wèn)的都在同一個(gè)服務(wù)器,而另外幾個(gè)服務(wù)幾乎是閑的_yswKnight的博客-CSDN博客
- 負(fù)載均衡詳解_ITHK01的博客-CSDN博客
- 快速理解高性能HTTP服務(wù)端的負(fù)載均衡技術(shù)原理 - 知乎
- 一致性哈希算法(consistent hashing) - 知乎
42?TCP 網(wǎng)絡(luò)連接進(jìn)入Time_wait狀態(tài)說(shuō)明
- TCP的TIME_WAIT狀態(tài) - 知乎
- 主動(dòng)關(guān)閉方在收到被動(dòng)關(guān)閉方的FIN包后并返回ACK后,會(huì)進(jìn)入TIME_WAIT狀態(tài),TIME_WAIT狀態(tài)又稱(chēng)2MSL狀態(tài)
?判斷以下選項(xiàng)
- 客戶端等待服務(wù)端再次發(fā)送FIN報(bào)文? 錯(cuò)誤?,只有發(fā)送完FIN報(bào)文才會(huì)進(jìn)入這個(gè)狀態(tài)
- 服務(wù)器網(wǎng)絡(luò)連接也有可能處于Time_wait狀態(tài) ??
- 服務(wù)器大量處于TIME_WAIT狀態(tài),可能是什么原因,會(huì)造成什么影響,怎么解決?CLOSE_WAIT狀態(tài)呢?_我是一個(gè)小石頭的博客-CSDN博客
- 服務(wù)器有可能不會(huì)再次發(fā)出FIN報(bào)文???
- 如果服務(wù)端不再發(fā)出FIN報(bào)文,則客戶端會(huì)一直處于Time_wait狀態(tài)而不會(huì)結(jié)束? 錯(cuò)誤?,應(yīng)該進(jìn)行第四次握手,雙方進(jìn)入closed狀態(tài),關(guān)閉鏈接
- TCP的三次握手四次揮手理解及面試題 - www.pu - 博客園
- 客戶端認(rèn)為自己最后一次發(fā)出的FIN報(bào)文服務(wù)可能會(huì)收不到,需要等待?? 錯(cuò)誤?,客戶端發(fā)出的FIN報(bào)文已經(jīng)被接收了
參考鏈接
- TCP連接的TIME_WAIT和CLOSE_WAIT 狀態(tài)解說(shuō) - 散盡浮華 - 博客園
43? 關(guān)于限流正確的是
- 漏桶 可以使用 Guava的RateLimiter組件來(lái)實(shí)現(xiàn)??
- Guava學(xué)習(xí)計(jì)劃-Semaphore—RateLimiter-漏桶算法-令牌桶算法_mengxpFighting的博客-CSDN博客
- 談?wù)劷?jīng)典限流方法——漏桶、令牌桶,與Guava RateLimiter的實(shí)現(xiàn) - 簡(jiǎn)書(shū)
- 漏桶和令牌桶是兩種通用的限流方案 正確
- 限流是當(dāng)系統(tǒng)資源不足以支撐超過(guò)預(yù)期的突發(fā)流量的時(shí)候,面對(duì)超額流量的自我保護(hù)機(jī)制 正確
- 漏桶使用 棧 來(lái)實(shí)現(xiàn)? ? 漏桶使用FIFO隊(duì)列
- 令牌桶 常用一個(gè)FIFO隊(duì)列來(lái)實(shí)現(xiàn)? 正確
參考鏈接
- 常用限流算法及原理_QuricoLouis-CSDN博客
函數(shù)指針 和 指針函數(shù)的區(qū)別
- C++ 函數(shù)指針和指針函數(shù)-CJavaPy
為啥返回?cái)?shù)值的類(lèi)型不可以作為函數(shù)重載的區(qū)分呢?
- 深入 -- 為什么不能根據(jù)返回類(lèi)型來(lái)區(qū)分重載?_Simba_cheng的博客-CSDN博客_為什么不能根據(jù)返回類(lèi)型來(lái)區(qū)分重載
構(gòu)成多態(tài)的條件?繼承和多態(tài) 是否足以?
- C++虛函數(shù)注意事項(xiàng)以及構(gòu)成多態(tài)的條件
- 有了虛函數(shù),基類(lèi)指針指向基類(lèi)對(duì)象時(shí)就使用基類(lèi)的成員(包括成員函數(shù)和成員變量),指向派生類(lèi)對(duì)象時(shí)就使用派生類(lèi)的成員。換句話說(shuō),基類(lèi)指針可以按照基類(lèi)的方式來(lái)做事,也可以按照派生類(lèi)的方式來(lái)做事,它有多種形態(tài),或者說(shuō)有多種表現(xiàn)方式,我們將這種現(xiàn)象稱(chēng)為多態(tài)(Polymorphism)
- 多態(tài)是面向?qū)ο缶幊痰闹饕卣髦?#xff0c;C++中虛函數(shù)的唯一用處就是構(gòu)成多態(tài)
- C++提供多態(tài)的目的是:可以通過(guò)基類(lèi)指針對(duì)所有派生類(lèi)(包括直接派生和間接派生)的成員變量和成員函數(shù)進(jìn)行“全方位”的訪問(wèn),尤其是成員函數(shù)。如果沒(méi)有多態(tài),我們只能訪問(wèn)成員變量
?
對(duì)于IP地址 130.63.160.2? MASK為255.255.255.0? 子網(wǎng)號(hào)為?? 未解決
- 160
- 63.160
- 160.2
- 130.63.160?
主機(jī)甲和主機(jī)乙之間建立了一個(gè)TCP連接,雙方持續(xù)有數(shù)據(jù)傳輸,且數(shù)據(jù)沒(méi)有差錯(cuò)和丟失。如果甲收到一個(gè)來(lái)自乙的TCP段,這個(gè)段的序號(hào)為1913,確認(rèn)序號(hào)為2046,有效載荷為100字節(jié),則甲立即發(fā)送給乙的TCP段的序號(hào)和確認(rèn)序號(hào)分別是?
- 2046 2013
- 2047 2012
- 2046 2012
- 2047 2013
建立連接的時(shí)候,哪一個(gè)數(shù)據(jù)包發(fā)送順序是正確的TCP握手協(xié)議過(guò)程??
- SYN+ACK ,SYN+ACK ,SYN
- SYN,SYN,ACK
- SYN,SYN+ACK,SYN+ACK
- SYN,SYN+ACK,RST
- 都不正確
主機(jī)甲和主機(jī)一建立一個(gè)TCP連接,甲的擁塞控制初始的閾值是32kb,甲向乙始終以MSS=1kb大小的段發(fā)送數(shù)據(jù),并一直有數(shù)據(jù) 的發(fā)送,乙為這個(gè)連接分配的16kb的接收緩存,并對(duì)每個(gè)數(shù)據(jù)段進(jìn)行確認(rèn),忽略傳輸?shù)难舆t,如果乙收到的數(shù)據(jù)全部存入緩存,不被取走,則甲從連接建立成功時(shí)刻起,未發(fā)送超時(shí)的情況下,經(jīng)過(guò)了4個(gè)RTT之后,甲的發(fā)送窗口大小是?
- 8kb
- 16kb
- 1kb
- 32kb
某個(gè)主機(jī)的ip地址是180.80.77.55 子網(wǎng)掩碼是255.255.252.0 如果這個(gè)主機(jī)向所在子網(wǎng)發(fā)送廣播分組,則目的地址可以是?
- 180.80.76.255
- 180.80.77.255
- 180.80.76.0
- 180.80.79.255
對(duì)于第二范式的理解正確的是?
- 在第一范式的基礎(chǔ)上,任何非主屬性不依賴(lài)于其他非主屬性
- 在第一范式的基礎(chǔ)上,非碼屬性必須完全依賴(lài)與碼
- 數(shù)據(jù)庫(kù)的每一列都是不可分割的原子數(shù)據(jù)項(xiàng)
- 上述說(shuō)法均錯(cuò)誤
總結(jié)
- 上一篇: halcon 相似度_Halcon分类函
- 下一篇: 什么是集群,分布式,微服务?