面向对象设计
这块面试考什么
- 类与对象:区分类的定义和对象实例,说明函数与类各自承担什么职责,以及如何组织行为。
- 属性与封装:区分实例属性和类属性,解释访问限制如何影响对象内部状态与外部使用方式。
- 继承关系:讲清类型之间的继承关系、类型判断和多重继承,说明这些机制在对象模型中的作用。
- 职责划分与 SOLID:围绕业务逻辑拆分类的职责,用 SOLID 原则讨论代码结构和后续扩展。
- 依赖与生命周期:解释控制反转和依赖注入怎样组织对象协作,并说明对象创建、使用及生命周期的管理。
- 分层协作:用请求处理、业务服务和数据访问三个层次说明职责边界,讲清一次调用如何穿过各层。
- 类图与扩展讨论:用类图表达对象之间的关系,再讨论设计模式如何用于面试场景,以及需求变化时如何扩展。
用 GoInterview 怎么练
- 口述对象的职责:在模拟面试中参考 GoInterview 的独立提示面板,自己练习说明类的职责、对象之间的调用关系和扩展思路。
- 练代码实现的讲解:练习涉及代码的对象设计题时,对题目截图,参考短答与完整解法,练习解释实现过程。
- 练英文设计说明:分别设置听题和答话语言,用英文听题、英文答话练习对象设计说明,界面可保持中文。
想要真人带
想要真人老师带着练面向对象设计?可以看看上岸算法的相关内容。