架构师面试题
- 莫扎特6大作用:
- 桥梁:从“产品”听众获取灵感
- 指引:指引“研发”乐队完成演奏
- 分割:将长篇大作切割成乐章
- 交互:将乐章和声部交叠协奏
- 决策:在思考中挣扎,在决策中完美
- 演进:G小调第40交响曲-悲凉中前进
- 作为架构师,你的日常工作有哪些?
- 工作的广度
- 组成和决策
- 莫扎特的6大作用
- 加分项:方法论完成、新架构框架、新技术框架
- 作为架构师,有什么推崇的书或者大师
- 学习能力
- 知识体系
- 加分项:体系书籍、新技术书籍、大师互动分享
- 你在架构过程设计过程中碰到的难点?
- 案例深度
- 决策派思路
- 从莫扎特6大作用出发
- 加分项:决策依据;理论->实际->理论
- 作为架构师,遇到部门冲突如何解决?
- 决策派,语境、立场、沟通渠道处理,架构决策
- 加分项:方法论完整(通用语言、RASCI决策、SWOT分析)
- 作为架构师,平时的设计重点关注哪些因素?
- 质量(扩展性、性能、可用性、安全性、耦合度)
- 加分项:多角度分析、实际案例侧重点清晰
- 作为架构师,如何处理新架构和老架构之间的冲突
- 解决技术债,架构演进策略
- 加分项:多模式使用(拆迁、修缮、绞杀)、冲突预防
- OpenGroup面试题:作为架构师,挑选一个你的实战项目,描述该应用架构如何随着组织架构的变化而演进
- OpenGroup面试题:挑选一个项目,描述该项目中,你如何挑选、复用和剪裁合适的架构设计框架、设计模式、架构风格、软件包?
- Windows操作系统在图形用户界面处理方面采用的核心架构风格是什么风格?
- 理解“事件驱动”软件架构风格
- 加分项:能结合注册时间处理和回调函数进行深入分析
- Java语言宣传的“一次编写,到处运行”的特性,从架构风格上看符合什么风格的特点?
- 理解“虚拟机”软件架构风格
- 加分项:能结合Java解释型语言、JVM原理,进入深入分析
- 如果要开发一个Web服务端处理软件,对客户端请求信息进行解析与处理,包括HTTP报头分离、SOAP报文解析等功能。采用什么架构风格,最适合该服务端处理软件?
- 理解“管道-过滤器”软件架构风格
- 加分项:能结合Web服务在数据传输上的协议分层原理,进行深入分析。
- 某公司承接了一个开发家用空调自动调温器的任务,调温器测量外部空气温度,根据设定的期望温度控制空调的开关。根据该需求,公司应采用哪种架构风格最为合适?应该是基于规则的系统架构风格。
- 某游戏公司欲开发一个大型多人即时战略游戏,游戏设计的目标之一是能够支持玩家自行创建战役地图,定义游戏对象的行为和之间的关系。针对该目标,公司应该采用哪种架构风格最为合适?应该是基于面向对象风格。
- 对于新业务,如何完成一个完整的架构设计流程?
- 题眼:架构设计方法论(如ABSD的需求、设计、文档化、复审、实现、演化)
- 加分项:能将设计原则、架构风格和演化过程描述清楚
- 如何在架构设计中选择合适的软件风格和软件模板?
- 题眼:需求驱动论(功能、质量、限制)
- 加分项:能结合实际项目,描述如何根据需求选择风格和模板
- 在一个订单输入子系统中,创建新订单和更新订购单都需要核查用户账号是否正确。用例“创建新订单”、“更新订单”与用例“核查客户账号”之间是什么关系?
- 题眼:理解“包含”、“扩展”、“泛化”等基本关系
- 加分项:能结合UML图来描述和分析
- 题目:请描述一下你在大型架构设计中的职责,以及如何和其他部门同事配合的?
- 题眼:人员分工、架构师沟通、架构师职责、组件和决策
- 加分项:能结合特定方法论(如ABSD、DSSA、AT等)
- 题目:请描述一下对于领域架构的理解?
- 题眼:领域驱动模型、DSSA领域架构开发方法
- 加分项:能将业务映射到领域,并能复用现有架构元件
- 题目:请描述一下你们公司的业务模型
- 题眼:领域驱动模型,本公司核心域DSSA软件架构
- 加分项:能将所在行业的领域DSSA软件架构解释清楚
- 题目:你在架构中通常采用什么方式来描述软件架构
- 题眼:视角与视图
- 加分项:能结合实际案例,分析多视角架构设计思路
- 题目:你在架构设计中通常采用什么方式来描述需求
- 题眼:用例与质量场景
- 加分项:能结合实际案例,分析如果妥协用例和质量要求