硅谷课程 | 系统设计的基本方法SNAKE原则

简介:
640?wx_fmt=png&wxfrom=5&wx_lazy=1

冯沁原,BitTiger联合创始人兼联合CEO

前酷我音乐总监,前阿里巴巴高级专家,北京大学博士&微软学者

640?wx_fmt=png&wxfrom=5&wx_lazy=1

冯老师开场首先聊了下分享的三种方式

教授版:学校里老师台上讲,学生下面听

实战版:直接技能,如何能够做出来

面试版:哪些地方是考察点,容易出错的


(点击图片可以看大图)

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1 640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1 640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1

然后分享了下工程师的其中一个成长阶梯

毕业生->初级工程师->高级工程师->经理->高级经理->总监

通过一个4维测评,每个维度0-5分,满分20分这样的一个小测验,看看自己目前是什么样的位置

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1 640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1 640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1 640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1 640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1


冯老师强调:系统设计是在公司晋升的核心能力

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1

系统设计是一个定义系统的架构、组件、模块、接口和数据来满足特定需求的过程

通常我们会从Scenario(场景),Necessary(限制),Application(应用),Kilobit(数据),Evolve(进化),简称SNAKE这5个方面来考虑系统设计


然后冯老师举了具体的例子,如何设计douban.fm,从SNAKE的5项基本原则,逐步分解

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1


冯老师从如何设计一个推荐模块,如何提升性能,如何设计架构,算法等方面做了具体的设计演进流程

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1


(讲师课堂分享实录,时长1小时50分,建议wifi下观看)




来源:中生代技术

原文链接

相关文章
|
7月前
|
设计模式 算法 Java
设计模式第十五讲:重构 - 改善既有代码的设计(下)
设计模式第十五讲:重构 - 改善既有代码的设计
239 0
|
5月前
|
设计模式 存储 自然语言处理
Java面向对象设计七大原则
Java面向对象设计七大原则
70 0
|
7月前
|
设计模式 Java 测试技术
设计模式第十五讲:重构 - 改善既有代码的设计(上)
设计模式第十五讲:重构 - 改善既有代码的设计
259 0
|
11月前
|
C#
【C#本质论 八】类-从设计的角度去认知(多态)
【C#本质论 八】类-从设计的角度去认知(多态)
50 0
|
12月前
|
Java 关系型数据库
java面向对象设计的五大原则
java面向对象设计的五大原则
|
Java 领域建模
java面向对象思维程序设计开发以及案例 -电梯运行问题对象分析与程序设计(1)
java面向对象思维程序设计开发以及案例 -电梯运行问题对象分析与程序设计(1)
java面向对象思维程序设计开发以及案例 -电梯运行问题对象分析与程序设计(1)
|
Java 测试技术
java面向对象思维程序设计开发以及案例 -电梯运行问题对象分析与程序设计(2)
java面向对象思维程序设计开发以及案例 -电梯运行问题对象分析与程序设计(2)
java面向对象思维程序设计开发以及案例 -电梯运行问题对象分析与程序设计(2)
|
编译器 C++
爱上c++的第六天(核心课程):继承和多态
学习c++的人一定知道的就是c++是面向对象设计的,而面对对象的三大特性就是封装,继承和多态,我们在刚开始学习的时候就已经学过封装了,今天我们主要来学习一下多态和继承。
42 0
|
Java 容器
Java面向对象程序设计综合练习2(判断题)
Java面向对象程序设计综合练习2(判断题)
323 0
|
SQL Java 数据库连接
Java面向对象程序设计综合练习4(判断题)
Java面向对象程序设计综合练习4(判断题)
99 0