覺得提升coding技能,多練BQ,再完美答出系統設計就能斬獲大廠offer。可是面試官總能給你一個意外的驚喜,最近就有人吐槽被亞麻擺了一道,跪在了OOD上...
不少人覺得OOD是亞麻專屬,其實只要是
以Java爲主要語言的公司都有可能考到OOD。因此準備面試的同窗注意了,OOD能夠準備起來了~
OOD是new grad和新手工程師面試中最常考的題型,但近期咱們發現很多職場老鳥在面試中就遇到了1輪OOD+1輪系統設計,還有很多人栽在了OOD上。node
今年的形勢是大公司會或多或少都加點OOD去考,不管是new grad仍是職場老鳥,都難逃OOD的「魔掌」。
爲了幫你們攻克難題,九章算法的《面向對象設計 OOD》梳理了全部面試常考的OOD類型題,只需兩週,讓你在刷題過程當中熟悉OOD答題技巧,掌握設計模式 👇
不少同窗在面試中不知道面試官問的是OOD和系統設計,這裏先用一張圖表簡單闡明兩者在面試中的區別。
(這裏強調一點:今年面試狀況極端,上圖僅是OOD和系統設計的簡單區分,並不是絕對。)
其實OOD的題型比較固定,掌握了基本方法就能輕鬆搞定。《面向對象設計OOD》的文泰來老師整理了IT大廠面試常考的真題,總結出4類主要的OOD面試題型和具體題目。
只要仔細研究這些題目,在課上跟着老師寫幾遍代碼,慢慢就能摸着門路了。
酒店預訂系統設計 Hotel Reservation
航空機票預訂系統設計 Airline Ticket Reservation
在
OOD面試中,面試者須要經過類圖和代碼展示出設計的功能,缺少項目經驗的new grad和新手工程師每每一遇到OOD就掛。
爲了幫同窗攻克OOD這個「攔路虎」,文泰來老師提煉了OOD的解題技巧——5C解題法和SOLID原則。
Clarify: 經過和麪試官交流,去除題目中歧義,肯定答題範圍。
Core objects: 肯定題目所涉及的類,以及類之間的映射關係。
Classes:經過類圖的方式,具體填充題目中設計的類。
Correctness:檢查本身的設計,是否知足關鍵點。
S:Single-responsiblity principle 單一責任原則
O:Open-closed principle 開發封閉原則
L:Liskov substitution principle 里氏替換原則
I:Interface segregation principle 接口分離原則
D:Dependency Inversion Principle 依賴反轉原則
只要熟練掌握5C解題法和SOLID原則,在OOD面試中就能迅速找到解題思路,再難的題也能迎刃而解!
本文分享自微信公衆號 - 九章算法(ninechapter)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。編輯器