学习面试题Day08
1、TCP/IP協議的理解。
???? TCP/IP定義了電子設備(如計算機)連入因特網的標準,以及數據如何在它們之間傳輸的標準。它既是互聯網中的基本通信語言或協議,也是局域網的通信協議。
???? TCP/IP是一組包括TCP協議、IP協議、UDP協議、ICMP協議和其他一些協議的協議組。需要進行網絡通信的計算需要提供符合這些協議標準的程序以后,才能進行網絡通信。
2、TCP協議的通信特點是什么?
???? TCP協議主要擁有如下的通信特點:
???? (1)面向連接的傳輸;
???? (2)端到端的通信;
???? (3)可靠性,確保傳輸數據的正確性,不出現丟失或亂序;
??? ?(4)采用字節流方式,即以字節為單位傳輸字節序列。
3、Java的TCP編程模型是什么?
???? 編寫Java的TCP網絡應用程序需要分為服務器端和客戶端兩個部分,大致有以下步驟。
???? 服務器端:
???? (1)創建一個服務器端的Socket,指定一個端口號;
???? (2)開始監聽來自客戶端的請求要求;
???? (3)獲得輸入流或輸出流;
???? (4)調用輸入流/輸出流的read()或write()方法,進行數據的傳輸;
???? (5)釋放資源,關閉輸出流/輸入流、Socket和ServerSocket對象;
???? 客戶端:
???? (1)創建Socket對象,建立與服務器端的連接;
???? (2)獲得輸出流或輸入流;
???? (3)調用輸入流/輸出流的read()或write()方法,進行數據的傳輸;
???? (4)釋放資源,關閉輸出流/輸入流、Socket對象。
4、UDP協議的通信特點是什么?
???? UDP協議主要擁有如下的通信特點:
???? (1)UDP是一個無連接協議,傳輸數據之前源端和終端不建立連接,當它想傳送時就簡單地去抓取來自應用程序的數據,并盡可能快地把它扔到網絡上;
???? (2)不需要維護連接狀態,包括收發狀態等;
???? (3)字節開銷很小;
???? (4)吞吐量主要受應用軟件生成數據的速率、傳輸帶寬、源端和終端主機性能等因素的限制。
5、Java的UDP編程模型是什么?
??? ?編寫Java的UDP網絡應用程序需要分為接收端和發送端兩個部分,它們大致的步驟相同,主要包括以下幾個方面:
???? (1)創建數據Socket,指定一個端口號;
???? (2)對于接收消息的一端來說,提供一個byte數組進行數據的存儲;而對于發送消息一端,除此以外還需要提供對端的IP地址和端口號;
???? (3)調用DatagramPacket的receive()或send()方法進行數據的接收或發送;
???? (4)調用DatagramPacket的getData()方法得到byte數組的數據;
???? (5)釋放資源。
6、如何創建TCP通信的服務器端的多線程模型?
???? 使用多線程模型來編程TCP程序的服務器端,主要有以下步驟:
???? (1)創建ServerSocket對象,指定監聽的端口;
???? (2)把accept()方法作為循環條件,循環監聽客戶端請求;
???? (3)創建線程類,定義一個Socket類型的成員變量,并定義一個可以為它賦值的構造方法;
???? (4)在run()方法中使用socket變量進行任意的通信操作;
???? (5)在主進程的循環體內開啟一個線程,并傳入accept()方法的返回值。
7、用UDP通信模型創建一個即時聊天軟件。
???? 主要思路包括:為接收用戶輸入和打印聊天記錄兩個界面創建兩個不同的線程,它們分別使用DatagramPacket通信。創建一個發送消息的線程類(SendThread)和一個接收消息的線程類(ReceiveThread),分別的作用是循環監聽用戶的輸入并把用戶輸入的數據通過調用DatagramSocket的send()方法發出和循環的調用DatagramSocket的receive()方法,接收另外一端來的數據。
8、有兩間房,一間房中有3盞燈,另一間房有控制這3盞燈的開關(這兩間房是分割開的,毫無聯系)。現在要你分別進這兩間房一次,然后判斷出這三盞燈分別是由哪個開關控制的。
???? 首先進入開關房間,先開開關A,過段時間,關A,開B,去另一個房間,亮著的燈是B控制的,不亮的燈中熱的是A控制,冷的是C控制。
9、有3個容器,分別是3、7、10體積,容器沒有刻度。10體積的容器中裝滿某種液體,3、7容器是空的。沒有別的工具,現在請把這種液體平分成相對精確的兩份。
???? (1)3:0:7
???? (2)0:3:7
???? (3)3:3:4
???? (4)0:6:4
???? (5)3:6:1
???? (6)2:7:1
???? (7)2:0:8
???? (8)0:2:8
???? (9)3:2:5
???? (10)0:5:5
10、有12個外表完全一樣的球,其中有一個球重量不一樣(這里假設更輕),給你一個,誒呦刻度的天平,你只能用3次,把球找出來。
???? (1)分3堆,4:4:4.
???? (2)把上步確定好的四個球進行2:2分堆過秤。
???? (3)把最后兩個球過秤。
11、狡猾的騙子到商店用100元的鈔票買了9元的東西,售貨員找了他91元錢,這時他又稱自己已有零錢,給了9元而要回了自己原來的100元。那么,他騙了商店多少錢?
???? 82元+商品本身的價值。
12、有兩根不均勻分布的香,每根香燒完的時間是一個小時,你能用什么方法來確定一段15分鐘的時間?
???? (1)點燃第一根香的兩頭,和點燃第二根香的一頭;
???? (2)等到第一根香燃盡以后,再把第二根香的另一頭點燃;
???? (3)從第一根香燃盡開始算起,直到第二根香燃盡,時間就是15分鐘。
轉載于:https://www.cnblogs.com/android-blogs/p/5622286.html
總結
以上是生活随笔為你收集整理的学习面试题Day08的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 实现excel 导出功能
- 下一篇: 编译安装 zbar 时两次 make 带