某大廠游測開懵逼面試精選四題
- 2019 年 11 月 20 日
- 筆記
簡單嘮嘮正文:)
面試題一 TCP/UDP優缺點及使用場景
- Tcp的優點:可靠,穩定
TCP的可靠性體現在傳輸數據之前,三次握手建立連接(四次揮手釋放連接),並且在數據傳遞時,有確認、窗口、重傳、擁塞控制機制,數據傳完之後,斷開連接用來節省系統資源。
- TCP的缺點:慢,效率低,佔用系統資源高,易被攻擊
傳數據之前建立連接,這樣會消耗時間,而且在消息傳遞時,確認機制、重傳機制和擁塞控制機制都會消耗大量的時間,而且要在每台設備上維護所有的傳輸連接。而每個連接都會佔用系統的CPU、內存等硬件軟件資源。並且TCP的取而機制、三次握手,這些也導致TCP容易被人利用,實現DOS,DDOS攻擊。
- UDP的優點:快,比TCP稍安全
UDP沒有TCP的握手、確認、窗口、重傳、擁塞控制等機制,udp是一個無狀態的傳輸協議,所以他在傳輸數據時非常快。M沒有TCP的這些機制,UDP較TCP被攻擊者利用的漏洞就要少一些。UDP也是無法避免攻擊的,比如:UDP flood攻擊。。。
- UDP的缺點:不可靠,不穩定
因為UDP沒有TCP的那些可靠機制,在網絡質量不好時很容易丟包。
- 基於以上優點,那麼什麼時候應該使用TCP:
當對網絡通訊質量有要求的時候,比如:整個數據要準確無誤的傳遞給對方,這往往用於一些要求可靠的應用,比如HTTP、HTTPS、FTP等傳輸文件的協議,POP、SMTP等郵件傳輸的協議。
- 在日常生活中,常見使用TCP協議的應用如下:
- 瀏覽器,用的HTTP
- FlashFXP,用的FTP
- Outlook,用的POP、SMTP
- Putty,用的Telnet、SSH
- QQ文件傳輸
- …………
- 什麼時候應該使用UDP:
當對網絡通訊質量要求不高的時候,要求網絡通訊速度能盡量的快,這時就可以使用UDP。
比如,日常生活中,常見使用UDP協議的應用如下:
- QQ語音
- QQ視頻
- TFTP
面試題二 C/S與B/S架構的區別和優缺點
C/S 架構的概念
C/S是Client/Server,即客戶端/服務器端架構,一種典型的兩層架構。
客戶端包含一個或多個在用戶的電腦上運行的程序
服務器端有兩種,一種是數據庫服務器端,客戶端通過數據庫連接訪問服務器端的數據;另一種是Socket服務器端,服務器端的程序通過Socket與客戶端的程序通信。
C/S 可以看做是胖客戶端架構
因為客戶端需要實現絕大多數的業務邏輯和界面展示。作為客戶端的部分需要承受很大的壓力,因為顯示邏輯和事務處理都包含在其中,
通過與數據庫的交互(通常是SQL或存儲過程的實現)來達到持久化數據,以此滿足實際項目的需要。
C/S 優點和缺點
優點:
(1)界面和操作可以很豐富
(2) 安全性能可以很容易保證,實現多層認證也不難
(3)由於只有一層交互,因此響應速度較快。
缺點:
(1)適用面窄,通常用於局域網中
(2)用戶群固定。由於程序需要安裝才可使用,因此不適合面向一些不可知的用戶
(3)維護成本高。發生一次升級,則所有客戶端的程序都需要改變。
B/S 架構的概念
B/S是Browser/Server,即瀏覽器/服務器架構。
Browser指的是Web瀏覽器,極少數事務邏輯在前端實現,但主要事務邏輯在服務器端實現,Browser客戶端,WebApp服務器端和DB端構成所謂的三層架構。
B/S架構的系統無須特別安裝,只有Web瀏覽器即可。
B/S 可以看做是瘦客戶端架構
B/S架構中,顯示邏輯交給了Web瀏覽器,事務處理邏輯在放在了WebApp上,這樣就避免了龐大的胖客戶端,減少了客戶端的壓力。因為客戶端包含的邏輯很少,因此也被成為瘦客戶端。
B/S 優點和缺點
優點:
(1)客戶端無需安裝,有Web瀏覽器即可
(2)BS架構可以直接放在廣域網上,通過一定的權限控制實現多客戶訪問的目的,交互性較強。
(3)BS架構無需升級多個客戶端,升級服務器即可。
缺點:
(1)在跨瀏覽器上,BS架構不盡如人意。
(2)表現要達到CS程序的程度需要花費不少精力。
(3)在速度和安全性上需要花費巨大的設計成本,這是BS架構的最大問題。
(4)C和S交互是請求-響應模式,通常需要刷新頁面,這並不是客戶樂意看到的。(在Ajax風行後此問題得到了一定程度的緩解)
面試題三 什麼是設計模式?常見的設計模式有哪些?
設計模式是眾多軟件開發人員經過長期的軟件開發過程中總結得來的、針對的一般性問題的通用解決方案,是一套被分類編目的、軟件開發人員都知曉的、可被反覆利用的、代碼設計經驗的總結。
使用設計模式可以提高代碼的復用、避免程序大量修改從而保證代碼的可靠性,同時使代碼更容易被他人理解。顯然設計模式不管是對自己、對他人還是對系統都是有益的,設計模式使得代碼編製真正的工程化,是軟件工程的基石。
在Gang of Four中總結了23種經典的設計模式,常用的設計模式有:單例模式、工廠模式、觀察者模、適配器模式、亨元模式等。
面試題四 數據結構常見的八大排序算法(詳細整理)
八大排序,三大查找是《數據結構》當中非常基礎的知識點,在這裡為了複習順帶總結了一下常見的八種排序算法。
常見的八大排序算法,他們之間關係如下:

他們的性能比較:

文部分來源網絡,如有侵權請第一時間聯繫刪除。