

硬货:如何做好一名系统架构设计师以及面试技巧
source link: https://www.jdon.com/52237
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

硬货:如何做好一名系统架构设计师以及面试技巧
系统架构师在拥有知识经验上要高于一般软件架构师或领域架构师,承担整个系统的权衡设计,搭建一个可伸缩、可扩展、高事务、高一致的系统架构是其工作目标,同时针对运营中出现的重大问题进行诊断以及提出改进意见。这个Github存储库提供你如何在短时间内掌握系统设计以及应对面试,如果有时间,您可以深入了解每个主题,Jdon网站基本都是围绕这些主题进行了翻译和延伸以及讨论:
系统设计是一个非常广泛的主题,即使是在顶级IT公司拥有多年工作经验的软件工程师也可能不是系统设计方面的专家。如果你想成为一名专家,你需要阅读许多书籍,文章,并解决真正的大规模系统设计问题。
澄清约束并识别用户案例
花几分钟询问面试官并就系统范围边界达成一致。记得要确保你知道面试官在开始时没有告诉你的所有要求。
用户案例use case指示系统的主要功能,约束要求列出了系统的规模,例如每秒请求数,请求类型,每秒写入的数据,每秒读取的数据。
高级架构设计
绘制重要组件及其之间的连接,但不要详细介绍。通常,可伸缩系统包括webserver(负载均衡器),服务(服务分区),数据库(主/辅助数据库集群插件缓存)。
组件设计
您需要为每个组件编写特定的API,您可能需要完成特定功能的详细OOD设计。您可能还需要为数据库设计数据库模式。
系统设计基础知识
以下是一些有关系统设计相关主题的文章。
公司工程博客:
如果您要与公司合作,您应该阅读他们的工程博客。
产品和系统:
以下论文/文章/幻灯片可以帮助您了解不同实际产品和系统的一般设计理念。
热门问题和参考:
每个问题都有一些很好的参考。这里的参考资料是幻灯片和文章。
设计CDN网络参考:
设计Google文档系统参考:
设计随机ID生成系统参考:
设计键值数据库参考:
设计Facebook新闻源功能参考:
设计Facebook时间线功能参考:
设计一个函数以在过去的时间间隔内返回前k个请求参考:
设计在线多人纸牌游戏参考:
设计图搜索功能参考:
- 构建图搜索的基础架构
- 图搜索中的索引和排名
- Facebook [url=https://www.facebook.com/notes/facebook-engineering/under-the-hood-the-natural-language-interface-of-graph-search/10151432733048920]搜索[/url]和Erlang [url=https://www.facebook.com/notes/facebook-engineering/under-the-hood-the-natural-language-interface-of-graph-search/10151432733048920]的自然语言界面[/url]
设计图片共享系统参考:
设计搜索引擎参考:
设计推荐系统参考:
设计tinyurl系统参考:
设计垃圾收集系统参考:
设计可扩展的Web爬网系统参考:
设计Facebook聊天功能参考:
设计趋势主题系统参考:
设计缓存系统参考:
面向对象设计:
OOD采访提示
澄清场景,写出用户案例
用例是对事件序列的描述,这些事件序列一起导致系统执行某些有用的操作。谁将使用它以及它们将如何使用它。该系统可能非常简单或非常复杂。
特殊的系统要求,如多线程,读或写。
将标识映射到类:一个类的一个方案,此方案中的每个核心对象用于一个类。
考虑类之间的关系:某个类必须具有唯一的实例,一个对象具有许多其他对象(组合),一个对象是另一个对象(继承)。
确定每个类的属性:将名词更改为变量,将操作更改为方法。
使用设计模式,使其可以在多个应用程序中重用。
有用的网站
Recommend
-
58
website upgrading… 京ICP...
-
45
即将到来黄金跳槽季,我知道大家已经蠢蠢欲动了。今天跟大家分享一个面试时的小技巧,把主动权掌握在自己手里。隐性对白完美的沟通模型是:问(Q)->答(A)->确认(Confirm),沟通结束,没有循环往复。在面试开始时你和面试官形成一种简单的逻辑关系,即:面试官...
-
82
同学们,软件测试的课程就要完结了,大家也就要开始找工作了,现在,为大家讲解一下千锋教育独家研制的软件测试工程师面试技巧。软件测试基本知识:这一块其实没什么好讨论的,如果你有半年到一年的工作经验的话,对这一块一定有比较清晰的认识,当然,在实际的工...
-
5
或许,你此前对「短视频」完全不了解,看着这风口越来越大,自己也跃跃欲试,想进入赛道、寻找机会;或...
-
7
在谈 JVM 内存区域划分之前,我们先来看一下 Java 程序的具体执行过程,我画了一幅图。 Java 源代码文件经过编译器编译...
-
8
简介: 稳定性目前不再局限于大促时的保障和平时的稳定性轮值,越来越体系化,本文基于作者在业务团队工作过程中的沉淀,以及在盒马2年SRE的实战经验,从稳定性心态、监控体系、故障应急体系、资源体系、大促保障机制、日常保障机制等几个层面,就如何做好...
-
5
通用硬货:美团外卖实时数仓架构剖析 - 架构 - dbaplus社群:围绕Data、Blockchain、AiOps的企业级专业社群。技术大咖、原创干货,每天精品原创文章推送,每周线上技术分享,每月线下技术沙龙。作者介绍 朱良,5年以上传统行...
-
8
...
-
7
2024设计师面试技巧(非技术类问题) 2月 21, 2024 发表于: 设计杂谈.
-
3
...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK