Java面試題

1.開閉原則相關的面向對象設計原則()多選題哦
A、里氏代換原則(Liskov Substitution Principle LSP)
B、依賴倒轉原則(Dependence Inversion Principle)
C、接口隔離原則(Interface Segregation Principle)
D、複用原則


正確答案: A B C
面向對象共有六大原則:開閉原則、單一職責原則、裏式替換原則、依賴倒置原則、接口隔離原則、迪米特法則。
開閉原則:開閉原則的定義是軟件中的對象(類,模塊,函數等)應該對於擴展是開放的,但是對於修改是關閉的。
單一職責原則:就一個類而言,應該僅有一個引起他變化的原因。也就是說一個類應該只負責一件事情。
裏式替換原則:“子類能夠替換基類,否則不應當設計爲其子類。”也就是說,子類只能去擴展基類,而不是隱藏或覆蓋基類。
依賴倒置原則:模塊間的依賴是通過抽象來發生的,實現類之間不發生直接的依賴關係,其依賴關係是通過接口是來實現的。
接口隔離原則:客戶端不應該依賴他不需要的接口。
迪米特法則:一個對象應該對其他對象保持最小的瞭解。

2.以下選項中哪些是使用消息中間件後帶來的問題(缺點)?
A.應用解耦
B.增加系統的複雜性
C.消息處理異步
D.消息不一致

答案B,D

答案解析:
加入消息中間件後,增加了模塊,並且消息中間件的可用和穩定性都需要維護,所以提高了了系統的複雜度。
如果當消費者成功從消息中間件中接收到消息,但是在消息的處理過程中出現了異常,則會出現數據丟失,從而導致了消息不一致。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章