V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hakunamatata11
V2EX  ›  推广

这题系统设计年年考,不拿满分对不起自己

  •  
  •   hakunamatata11 · 2020-06-09 14:12:43 +08:00 · 760 次点击
    这是一个创建于 1632 天前的主题,其中的信息可能已经有所发展或是发生改变。

    设计某某系统 / Design XXX System

    是系统设计最常见的面试问题

    如果被考到 Design Twitter

    怎样才能让面试官给你打高分呢?

    给大家提供满分回答的模板✌

    1 、首先,询问面试官👇

    ①需要设计哪些功能?(也可以自己想)  ②需要承受多大的访问量?  ·日活跃用户 Daily Active Users (DAU)  ·Twitter: MAU 330M, DAU ~170M+

    2 、然后,开始进行功能设计👇

    Step 1:Enumerate (说人话:把 Twitter 的功能一个个罗列出来) • Register / Login• User Profile Display / Edit • Upload Image / Video *• Search *  • Post / Share a tweet• Timeline / News Feed • Follow / Unfollow a user

    Step 2:Sort (说人话:选出核心功能, 因为你不可能这么短的时间什么都设计) • Post a Tweet• Timeline• News Feed • Follow / Unfollow a user• Register / Login

    3 、接着,进行 Analysis & Predict

    • 并发用户 Concurrent User • 日活跃 * 每个用户平均请求次数 / 一天多少秒 = 150M * 60 / 86400~ 100k • 峰值 Peak = Average Concurrent User * 3 ~ 300k • 快速增长的产品 Fast Growing • MAX peak users in 3 months = Peak users * 2 • 读频率 Read QPS (Queries Per Second) • 300k • 写频率 Write QPS • 5k

    4 、分析出 QPS 有什么用?

    • QPS = 100 • 用你的笔记本做 Web 服务器就好了 • QPS = 1k • 用一台好点的 Web 服务器就差不多了 • 需要考虑 Single Point Failure • QPS = 1m • 需要建设一个 1000 台 Web 服务器的集群 • 需要考虑如何 Maintainance (某一台挂了怎么办)

    • QPS 和 Web Server (服务器) / Database (数据库) 之间的关系 • 一台 Web Server 约承受量是 1k 的 QPS (考虑到逻辑处理时间以及数据库查询的瓶颈) • 一台 SQL Database 约承受量是 1k 的 QPS (如果 JOIN 和 INDEX query 比较多的话,这个值会更小) • 一台 NoSQL Database (Cassandra) 约承受量是 10k 的 QPS • 一台 NoSQL Database (Memcached) 约承受量是 1M 的 QPS

    …………

    内容很多,全是干货 几行文字写不下,需要的快来听完 满分应考指南就是它👇

    东邪老师只用了两个小时 就把这些系统设计的难题解释清楚了👇

    • 系统设计中常说的 Tradeoff 是什么
    • 什么叫做 SOA (Service Oriented Architecture)
    • 什么是 Pull Model & 什么是 Push Model
    • 数据存储系统有哪些,什么样的数据适合存在什么样的数据存储系统中
    • 什么是异步任务和消息队列 (Message Queue)
    • 什么是数据的可持久化 (Persistent)
    • 什么是去标准化 (Denormalize)
    • 什么是惊群效应 (Thundering Herd)
    • 有哪些与 News Feed 类似的系统设计问题?

    戳我即可免费试听干货满满系统设计课程,你想听的这里都有!

    面试官很懒,考来考去就这几题

    系统设计历来都是大厂招聘“老手”的第一层漏斗。躲不掉系统设计也并非一定是坏事,因为它和算法题一样,喜欢考原题。运气好的,可能几家面试考得都是同一题。

    历年原题基本就等于系统设计的题库,不仅大公司考,小公司考系统设计也是考这些。比如前文讲的设计 Twitter 可谓年年考,准备秋招的小伙伴千万别忘了重点复习。

    这个题目我们在系统设计第一节免费试听课有完整的讲述,近期有面试和正在备战秋招的同学一定要去听一下。免费不等于没价值,系统设计的试听课没别的,全是干货

    除了经典题目的讲解,系统设计班更多的还是教大家如何在限定条件内展现自己的能力和知识储备,构建一个有细节,有整体框架的 work solution

    如果你拿到系统设计题经常毫无头绪或是憋出来的 perfect solution 残缺不全满是漏洞,也一定要来免费试听一下我们的课程。

    适合谁?

    • 无任何算法基础和系统设计基础
    • 只懂一些系统设计的理论知识,缺乏实际应用
    • SD 水平不低却无法在面试中展现出来
    • 短期内要参加大厂面试的老鸟

    上了这门课,你能👇

    • 掌握系统设计面试时的技巧和要点;
    • 解决在面试种会遇到的大部分系统设计问题;
    • 对系统设计问题有更深入和全面的了解,能独立设计系统;
    • 在实际案例中能更好地运用系统设计思想,能深入分析系统设计功能

    免费试听方式

    戳我即可试听第一节课

    免费试听内容

    • 如何设计 Twitter?
    • 怎样回答系统设计问题?
    • 系统设计中常见的问题是什么?
    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3232 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 13:03 · PVG 21:03 · LAX 05:03 · JFK 08:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.