软件架构师
插件的实现原理
- 插件有几部分组成
- 如何实现插件安装,卸载,启用,禁用?
- 安装,卸载,启用,禁用怎样实现不停机,不关闭服务的情况进行?
口述如何设计一个 MVC 框架
- 怎样实现 URL 路由
- 怎样实现控制器
- 怎样实现视图
- 怎样实现模型
口述如何设计一个 SOA 框架
- 框架分为几个部分?
- 采用什么协议与框架通信?
- 如果考虑到性能使用二进制协议你怎样实现?
- 如何解决并发冲突?
- 如何支持事务?
- 你怎样与消息队列集成或者通信?
口述设计一个分布式计划任务系统
背景:计划任务即周期或定时运行的程序,我们要解决单点故障问题与负载均衡的问题,在一个分布式系统中单节点是不允许的。
设计要求:能够实现高可用,负载均衡,横向扩展
- 怎样处理同时运行产生的冲突问题?
- 怎样排队运行?
- 任务如何持久化?
- 一个节点宕机,另一个节点怎么接管没有完成的任务?
- 如何横向扩展?
- 扩展,收缩,维护如果能做到不停机,不影响业务?