一些常見面試OO design題目總結

2021-07-24 20:22:16 字數 1016 閱讀 3369

最近很多公司面試喜歡問一些oo design的題目, 我總結了一些比較高頻的題目, 需求不一定準確, 設計的也不一定好, 歡迎提出建議.

1. 電梯設計

2. 停車廠設計

3. 通用卡牌遊戲blackjack設計

4...

1. 電梯設計

需求: 以物件導向的方式設計乙個電梯, 包含一些必要的類和函式.

分析: 我的設計分為三個類, 乙個是電梯本身的類, 包含一些移動電梯的函式和電梯狀態. 另外還有乙個update函式會被不停呼叫, 更新電梯狀態. 還有乙個請求類, 採用singleton模式, 用於接收使用者請求, 和電梯提供給電梯下乙個目標樓層, 和刪除請求. 還有乙個類似user類, 可以使得使用者通過這個類提供的介面發出請求.

電梯排程演算法採用經典的電梯掃瞄演算法, 在乙個方向上完成所有的請求, 然後再改變方向完成另外乙個方向的所有請求.

**如下:

class elevator

void moveup()

void movedown()

void stop()

void opendoor()

void closedoor()

void update()

else if(target < curfloor)

if(target == curfloor)

}private:

int direction;

int curfloor;

};class request

int getnextfloor(int curfloor, int dir)

void addrequest(int floor)

void removerequest(int floor)

private:

setrequests;

}class elevatormanager

};

vue的一些常見面試題

面試也告了乙個段落,總結一下我面試的心得 以下題目是常見的問題,由淺入深。vue的rou ter和 router和 router 和route的區別 vue 路由 vue中v show 和v if的區別 樣式穿透 vue的八種元件通訊方式 vue的slot插槽 vue 中 emit的使用 vue n...

常見面試演算法題整理

下面列的所有的演算法題目基本都能在本部落格中找到 在使用本博文的過程中,可以按照天來複習,每天乙個list,完成這些 基本能應付國內網際網路公司的演算法問題。第一天 1.給定乙個鍊錶 在鍊錶的尾部插入乙個元素 2.用兩個佇列實現乙個棧 3.用兩個棧實現乙個佇列 4.求兩個有序陣列的中位數,可以延伸為...

常見面試演算法題收錄

寫在前面 本人是想要從事程式設計方面的非科班學生,課餘時間學習一些演算法,參加一些面試,記錄了一些常見或者認為比較經典的演算法,供新手參考學習。有不足之處還望指正。會持續更新 本文章使用c 語言實現 1.反轉鍊錶 time o n space o 1 listnode reverselist lis...