更新時間:2019-12-23 16:16:32 來源:動力節(jié)點 瀏覽10710次
1.TCP如何保證可靠傳輸?三次握手過程?
在TCP的連接中,數(shù)據(jù)流必須以正確的順序送達(dá)對方。TCP的可靠性是通過順序編號和確認(rèn)(ACK)來實現(xiàn)的。TCP 連接是通過三次握手進(jìn)行初始化的。三次握手的目的是同步連接雙方的序列號和確認(rèn)號并交換 TCP 窗口大小信息。第一次是客戶端發(fā)起連接;第二次表示服務(wù)器收到了客戶端的請求;第三次表示客戶端收到了服務(wù)器的反饋。
2. Linux下你常用的命令有哪些?
(1)cd命令用來改變所在目錄。cd / 轉(zhuǎn)到根目錄中cd ~ 轉(zhuǎn)到用戶目錄下
(2) ls命令用來查看目錄的內(nèi)容。
(3)cp命令用來拷貝文件cp
(4)mv命令 mv t.txt Document 把文件t.txt 移動到目錄Document中。
3. 常用的hash算法有哪些?
(1)加法hash:所謂的加法Hash就是把輸入元素一個一個的加起來構(gòu)成最后的結(jié)果。
(2)位運(yùn)算hash:這類型Hash函數(shù)通過利用各種位運(yùn)算(常見的是移位和異或)來充分的混合輸入元素
(3)乘法hash:33*hash + key.charAt(i)
4. 什么是一致性哈希?
設(shè)計目標(biāo)是為了解決因特網(wǎng)中的熱點(Hot spot)問題,一致性hash算法提出了在動態(tài)變化的Cache環(huán)境中,判定哈希算法好壞的四個定義:平衡性(Balance) ;單調(diào)性(Monotonicity) ;分散性(Spread) ;負(fù)載(Load)
5. 數(shù)據(jù)庫中的范式有哪些?
第一范式----數(shù)據(jù)庫中的表(所有字段值)都是不可分割的原子數(shù)據(jù)項。
第二范式----數(shù)據(jù)庫表中的每一列都和主鍵相關(guān),而不能只和主鍵的某一部分相關(guān)。
第三范式----數(shù)據(jù)庫表中每一列數(shù)據(jù)都和主鍵直接相關(guān),不能間接相關(guān)。范式是為了減小數(shù)據(jù)冗余。
6. 數(shù)據(jù)庫中的索引的結(jié)構(gòu)?什么情況下適合建索引?
數(shù)據(jù)庫中索引的結(jié)構(gòu)是一種排序的數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)庫索引是通過B樹和變形的B+樹實現(xiàn)的。什么情況下不適合建立索引:1.對于在查詢過程中很少使用或參考的列;對于那些只有很少數(shù)據(jù)值的列;對于那些定義為image,text和bit數(shù)據(jù)類型的列;當(dāng)修改性能遠(yuǎn)大于檢索性能。
根據(jù)系統(tǒng)自身的環(huán)境情況,有效的限制執(zhí)行線程的數(shù)量,使得運(yùn)行效果達(dá)到最佳。線程主要是通過控制執(zhí)行的線程的數(shù)量,超出數(shù)量的線程排隊等候,等待有任務(wù)執(zhí)行完畢,再從隊列最前面取出任務(wù)執(zhí)行
7. concurrent包下面,都用過什么?
java.util.concurrent、java.util.concurrent.atomic和java.util.concurrent.lock
8. 常用的數(shù)據(jù)庫有哪些?redis用過嗎?
Oracle數(shù)據(jù)庫、SQLServer數(shù)據(jù)庫、DB2數(shù)據(jù)庫、MongoDB數(shù)據(jù)庫、MySQL數(shù)據(jù)庫等
9. 你知道的開源協(xié)議有哪些?
GPL (GNU General Public License) :GNU通用公共許可協(xié)議
LGPL (GNU Lesser General Public License) :GNU寬通用公共許可協(xié)議
BSD(Berkeley Software Distribution) :伯克利軟件分發(fā)許可協(xié)議
MIT(Massachusetts Institute of Technology):MIT之名源自麻省理工學(xué)院
Apache (Apache License) :Apache許可協(xié)議
MPL (Mozilla Public License) :Mozilla公共許可協(xié)議
10.表單提交中,get和post區(qū)別
(1)get從服務(wù)器獲取信息,post向服務(wù)器傳信息
(2)get傳送數(shù)據(jù)量比較小,post可以比較大
(3)get安全性比較低
11. TCP 協(xié)議與 UDP 協(xié)議有什么區(qū)別?(answer答案)
TCP(Tranfer Control Protocol)的縮寫,是一種面向連接的保證傳輸?shù)膮f(xié)議,在傳輸數(shù)據(jù)流前,雙方會先建立一條虛擬的通信道??梢院苌俨铄e傳輸數(shù)據(jù)。
UDP(User DataGram Protocol)的縮寫,是一種無連接的協(xié)議,使用UDP傳輸數(shù)據(jù)時,每個數(shù)據(jù)段都是一個獨(dú)立的信息,包括完整的源地址和目的地,在網(wǎng)絡(luò)上以任何可能的 路徑傳到目的地,因此,能否到達(dá)目的地,以及到達(dá)目的地的時間和內(nèi)容的完整性都不能保證。
所以TCP必UDP多了建立連接的時間。相對UDP而言,TCP具有更高的安全性和可靠性。
TCP協(xié)議傳輸?shù)拇笮〔幌拗?,一旦連接被建立,雙方可以按照一定的格式傳輸大量的數(shù)據(jù),而UDP是一個不可靠的協(xié)議,大小有限制,每次不能超過64K。
以上就是動力節(jié)點Java培訓(xùn)機(jī)構(gòu)小編介紹的“2020年最新匯總Java面試題及答案”的內(nèi)容,希望對大家有幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。
相關(guān)推薦
最新最全java面試題及答案(初級到高級)
相關(guān)閱讀
初級 202925
初級 203221
初級 202629
初級 203743