今天带大家简单、快速了解 OOD 面试。
很多同学分不清OOD和系统设计之间的区别。在这里先用一张图表简单阐明二者在面试中的区别。
| OOD 面试 | System Design |
面试者
| 应届毕业生,SDE I - | 有经验的mainstream者,SDE I + |
出题目的 | OOD常被当做考察面试者综合素质的标准 | 需要处理大量数据,提供 service 的部门 |
常见公司 | Amazon, Bloomberg, etc | Facebook, Google |
关键字 | Viability | Scalability
|
例题 | Design Elevator System | Design Twitter |
管理类面向对象设计
OOD for Management System
预定类面向对象设计
OOD for Reservation System
实物类面向对象设计
OOD for Real Life Object
游戏棋牌类面向对象设计
OOD for Games
S.O.L.I.D 准则是由 Robert C. Martin 提出的。应用到 OOD 面试题的解题中,可以有效帮助我们设计出一个高可行性的系统,并且是饿得整个系统更加容易维护和扩展(easy to maintain and extend)。
想要了解更多关于 S.O.L.I.D 准则及其实战应用,可以找到 Martin 的相关阐述,也可以参加《OOD面向对象专题班》免费试听课。
S - Single-responsiblity principle 单一责任原则
O - Open-closed principle 开发封闭原则
L - Liskov substitution principle 里氏替换原则
I - Interface segregation principle 接口分离原则
D - Dependency Inversion Principle 依赖反转原则
下面给大家推荐一些经典的、高质量的OOD面试准备素材:
如果想要简单了解OOD,推荐《写给大家看的面向对象的编程书》
如果想要深入学习UML,推荐《UML的设计模式应用》
如果想要深入了解面向设计以及 design pattern,推荐《Head First Object-oriented Analysis and Design》和《Head First Design Pattern》两本书
如果想要练习OOD面试例题,推荐《Cracking the Code Interview》中的 OOD 专门章节
OOD 面试最大的难点在于,所有的面试题都没有标准答案。因此,小白们往往在准备的时候,多走弯路,浪费了很多宝贵的面试备战时间。
九章算法《OOD面向对象专题班》,由经验丰富的面试官梳理所有OOD面试题目,进行归类汇总,同时提供解题套路。
免费试听内容:
1. 什么是面向对象设计(OOD, Object Oriented Design)
2. OOD 面试中常见面试题总结、分类
3. 设计模式讲解 Design Pattern
4. 高频OOD面试题讲解 - Elevator Design
本周末免费试听时间:
美西时间7月15日 周日 13:30-15:30 p.m
美东时间7月15日 周日 16:30-18:30 p.m
北京时间7月16日 周一 4:30-6:30 a.m
长按二维码,报名免费试听
![](http://mmbiz.qpic.cn/mmbiz_png/hK6krTdpF7ubVKGiaBt1XCGghwxxKpkJwNO6cjSlKRPuxh2NIcZZetyxPqjlPzlWvnI1lzeiaqmI2plG5T98ShIg/640?wx_fmt=png)
![分割线](http://mmbiz.qpic.cn/mmbiz/cZV2hRpuAPhrxQU1opLkENnCB9ArIxUwwrR4jv46icArTPQX07zO7yO4zh7dysHft4qtmeLXkHibOeUxVL6ibdsrg/640)
回复“简历”,查看简历撰写指南,获取“简历模板”
回复“冷冻期”,查看北美各大IT企业冷冻期信息和注意事项
回复“Career”, 查看Caireer Fair 攻略 check list
回复“薪资”,查看北美各大IT企业New Grades Engineer 薪资水平;
回复“项目”,查看7-14天可以搞定的小项目推荐
回复“评分”,查看系统设计评分指南
回复“behavior”,查看behavior interview指南
回复“晋升”,查看Engineer晋升机制
九章算法 | 帮助更多中国人找到好工作
《系统设计班