查看: 63620| 回复: 85
收起左侧

[职场感言] 跳槽失败,耐心读DDIA

   
匿名用户-MLZAJ  | 添加认证 | 2024-4-2 08:36:46
本楼:   👍  53
100%
0%
0   👎

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
本帖最后由 匿名 于 2024-4-1 20:57 编辑

lz硕7年,在五线厂做senior MLE 1年多。工作倒是清闲,但是技术比较落后,大概五个月前开始随缘跳槽。
面了一众公司,包括meta,Uber,Netflix,tiktok等等,0offer。很多都挂在了system design。打算开始潜心读DDIA,修炼内功。
刚读了第一章,做了些笔记,分享出来给需要的人。
大家觉得这种分享有帮助吗?有更好的方式,也请留言告诉我。有用的话,我会继续分享。



第一章
Building Blocks for Data-Intensive Applications
Databases
    Store data so that we can find them later.--
Caches
    Memorize the result of an expensive operation to speed up reads
Search Indexes
    Allow users to search data by keywords or filter it in various ways
Stream Processing
    Send a message to another process, to be handled asynchronously
Batch Processing
    Periodically crunch a large amount of accumulated data

Reliability
Definition
    Performing functions that users expected
    Tolerating user mistakes
    Good performance under expected load.google  и
    Preventing unauthorized access and abuse
. Waral dи,
Fault vs Failure
    Fault: One component deviating from its specification
    Failure: The whole system stopped

Achieving Reliability
    Think through assumptions and interactions in the system.google  и
    Testing at all levels (unit tests, integration tests, manual tests)
    Process isolation. .и
    Allow processes to crash and restart
    Measuring and monitoring system behaviors
    Analyzing system behaviors-baidu 1point3acres
    Well-designed abstractions, APIs, and admin interfaces to discourage mistakes
    Decouple places where people make frequent mistakes from ones causing failures
    Allow quick and easy recovery
        Roll back config changes quickly
        Roll out new changes gradually
        Provide tools to recompute data
    Good management practices and training

Scalability
Load Parameters
    Requests per second (RPS) to the server
    Ratio of reads to writes
    Simultaneously active users in the chat room
    Hit rate on the cache
    Distribution of users (e.g., Twitter's top user has 30M followers, causing fan-out for writes)
. check 1point3acres for more.
Describing Performance
    Batch processing: throughput
    Online system: response time
        Average response time
        Response time percentiles (tail latencies are more important for user experience)

Latency vs Response Time
    Response time = service time + network delays + queueing delays
    Latency is the duration that a request is waiting to be handled

Varying Response Time
    Request differences
    Context switch to a background process
    Loss of a network packet
    TCP retransmission. .и
    Garbage collection pause
    Page fault forcing a read from disk. check 1point3acres for more.
    Mechanical vibrations in the server rack
. 1point 3 acres
Calculating Percentiles
    Naive: sort the list of response times every minute
    Forward decay
    T-digest. Χ
    HdrHistogram

Achieving Scalability
    Mixture of scaling up (more powerful machine) and scaling out (more machines)-baidu 1point3acres
    Elastic system: scale up or down based on traffic
    Factors for system design
        Volume of reads
        Volume of writes
        Volume of data to store
        Complexity of the data
        Response time requirements.--
        Access pattern. From 1point 3acres bbs
. 1point3acres
Maintainability
Typical Maintenance Work
    Fixing bugs
    Keeping the system operational
    Investigating failures
    Adapting it to new platforms
    Modifying it for new use cases
    Repaying technical debt
    Adding new features

Improving Maintainability
    Provide visibility into the runtime behavior with good monitoring
    Provide good automation tools
    Avoid dependency on individual machines. 1point 3acres
    Provide good documentation and operational instructions
    Provide good default behavior but also give admin the freedom to override default values.1point3acres
    Self-healing when necessary but also give admin the freedom to take over. check 1point3acres for more.
    Exhibit predictable behavior, minimizing surprises

Simplicity
Symptoms of Complexity
    Explosion of the state space
    Tight coupling of modules
    Tangled dependencies
    Inconsistent naming and terminology
    Hacks aimed at solving performance problems. .и
    Special-casing to work around issues elsewhere

Achieving Simplicity
    Simplicity does not mean reducing functionality
    Abstraction: hide implementation details behind a clean facade. .и
.google  и
Evolvability
Common Changes
    New facts
    Previously unanticipated use cases emerge
    Business priorities change. Χ
    Users request new features. 1point3acres
    New platforms replace old platforms
    Legal requirements change. From 1point 3acres bbs
    Growth of the system

评分

参与人数 28大米 +51 收起 理由
javanerd0123 + 1 赞一个
cheeeeeeetah + 1 赞一个
PusheenHeaven + 1 赞一个
chainrule + 1 赞一个
pkudebra + 1 赞一个

查看全部评分


上一篇:准备交one day notice
下一篇:跟硬度人工作被联合攻

本帖被以下淘专辑推荐:

donnice 2024-4-2 14:05:06 来自APP | 显示全部楼层
本楼:   👍  104
100%
0%
0   👎
全局:   25050
91%
9%
2378
本帖最后由 donnice 于 2024-4-2 14:10 编辑 .google  и

最近也面了一定量大公司的MLE/SDE in ML相关的岗位,全部铩羽而归,感觉也都是挂在了SD(有些明确说的,有些是自己觉得的,因为coding都能完整做出来),不过还是有些心得可以分享。


首先同意上面说的,DDIA是要读的。读了九死一生,不读十死不生。然后MLE或者搞ML Data Infra相关的,推荐各位读一读下面三本书:
Machine Learning Engineering (link).google  и
Designing Machine Learning Systems: An Iterative Process for Production-Ready Applications (link)
Machine Learning Design Patterns: Solutions to Common Challenges in Data Preparation, Model Building, and MLOps (link)

多说一句Alex Xu的书 (link),当字典看很好,面试直接背答案你就死了,因为根本来不及展开,而SD最基本的要求是要complete high level design。
. From 1point 3acres bbs
并且可以多搜搜看YT上一些system design interview的视频。不是说那些视频讲得都是好的,相反把看视频当作自己是在参加一场别人的design review,看完后可以想想这个视频讲得有什么问题,怎么改进。当然有些讲的真的不错的可以好好学习。

以及如果各位在大厂或者技术不错的中厂的话,内部的各种design doc也是准备SD很好的资料。有机会参加各种design review也很有帮助,因为SD模拟的就是个design review的过程。

大家加油,面试尤其是SD这种偏主观的面试,水平到了一定程度的,能不能成其实都看面试官的一念之间。很多时候你挂了不是技术不到位,只是你答的不是面试官想要的。毕竟45分钟-1个小时,设计的东西肯定不可能面面俱到的。所以面试的时候可以多套套话,看看面试官到底想要一个足够复杂的high level design,还是深入某些components,还是想多聊聊model。何况不少来面SD的面试官自己其实火候也完全不到位,自己也不理解自己出的这题,只是拿一个现成的design来看你能不能对上,所以除非面试者是该系统设计者本人,不然怎么答都是错的。这种情况下,失败了也不必气馁。概率问题而已,不是我们能控制的,继续努力便是。

这句话不仅是告诉给诸位的,也是告诉给我自己的。

补充内容 (2024-04-29 05:10 +08:00):. 1point3acres.com
强调一下,我这里的MLE指的是做system和MLOps的,不是主要做模型的。做模型的在我的context里被称为Scientist

评分

参与人数 33大米 +46 收起 理由
jellyyy + 1 赞一个
javanerd0123 + 1 赞一个
Mysterious7 + 1 赞一个
joezie + 1 赞一个
jesshxh + 1 赞一个

查看全部评分

回复

使用道具 举报

地里匿名用户
匿名用户-WGLF1  | 添加认证 | 2024-4-2 09:03:38
本楼:   👍  39
100%
0%
0   👎
读的时候要多多上网看看有没有更新更好的技术,引自作者的BLOG:

```
My book continues to sell well, with now over 230,000 copies sold, and reviews continue to be very positive. However, it is gradually showing its age – it was published in 2017, but I wrote the first few chapters around 2014/15, so they are now almost a decade old. Moreover, I have learnt a lot in the meantime, and there are quite a few things in the book that I would now say differently
```

https://martin.kleppmann.com/2024/01/04/year-in-review.html

评分

参与人数 4大米 +4 收起 理由
百度真恶心 + 1 赞一个
maxmonlt + 1 赞一个
sarharast + 1 赞一个
Jessiiie + 1 赞一个

查看全部评分

回复

使用道具 举报

地里匿名用户
匿名用户-N2B97  | 添加认证 | 2024-4-2 10:17:22 来自APP
本楼:   👍  17
100%
0%
0   👎
MLE为什么读ddia?又不是后端工程师
回复

使用道具 举报

denev2004 2024-4-2 09:04:36 | 显示全部楼层
本楼:   👍  1
100%
0%
0   👎
全局:   1745
93%
7%
127
senior MLe不读一读Alex的一本新的ML interview么
回复

使用道具 举报

地里匿名用户
匿名用户-MLZAJ  | 添加认证 | 2024-4-2 09:09:38
本楼:   👍  14
100%
0%
0   👎
你们别学了,卷不动了
回复

使用道具 举报

地里匿名用户
匿名用户-0NGJQ  | 添加认证 | 2024-4-2 10:10:21
本楼:   👍  0
0%
0%
0   👎
读ddia是有用的,但是现在ddia已经远远不够了。
回复

使用道具 举报

metamates 2024-4-2 10:21:28 来自APP | 显示全部楼层
本楼:   👍  1
100%
0%
0   👎
全局:   2040
95%
5%
117
MLE senior 也要面system design吗?
回复

使用道具 举报

地里匿名用户
匿名用户-IS6CV  | 添加认证 | 2024-4-2 10:24:52
本楼:   👍  0
0%
0%
0   👎
MLE真正要面sd的多吗?
回复

使用道具 举报

地里匿名用户
匿名用户-OYZAR  | 添加认证 | 2024-4-2 10:36:30 来自APP
本楼:   👍  0
0%
0%
0   👎
匿名用户 发表于 2024-04-01 19:10:21
读ddia是有用的,但是现在ddia已经远远不够了。
那现在要怎么准备啊?都考察什么现在?
回复

使用道具 举报

LeonardD 2024-4-2 10:42:55 来自APP | 显示全部楼层
本楼:   👍  0
0%
0%
0   👎
全局:   12
92%
8%
1
匿名用户 发表于 2024-04-01 19:36:30
那现在要怎么准备啊?都考察什么现在?
插个眼,我也想知道现在sd要怎么准备
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
职场达人
  • ↑ 本版用于讨论职场各种干货话题,闲聊请去🔗聊聊或者🔗匿名版
  • ❌ 本版严禁水贴,引战,发布广告,拉群,贴个人联系方式,扣分无警告
  • ☑ 求职、面经等去 🔗北美求职和 🔗回国求职大区,刷题和学习请去 🔗终身学习大区
  • ☑ 请去专版发布 🔗内推, 🔗招聘信息,和讨论 🔗创业内容
  • ☑ PIP / DevList/ Need Support 等话题也已开设 🔗专版

本版积分规则

>
快速回复 返回顶部 返回列表