Study Note
Alogithm
leetcode
Note
MIT 6.284
Fault Tolerance-Raft
Blogs & Repos
some interesting articles.
frantic.im/leaving-facebook
github.com/donnemartin/system-design-primer
zhihu.com/question/23921846
1point3acres.com/bbs/thread-839064-1-1.html
github.com/spiffe/spire
isovalent.com/blog/post/2021-12-08-ebpf-servicemesh
Project
- DataEyes
- storage [SQL & NoSQL]
- DESRPC
System Design Step
- outline use case, constraints and assumptions
- create high level design
- scale the design
- benchmark/load test
- profile for bottlebecks
- address bottlenecks while evaluating alternatives and tradeoffs
- repeat
Language
Rust
tokio.rs/tokio/tutorial
Golang
zhuanlan.zhihu.com/26972862
zhihu.com/column/interview
research.swtch.com/interface
codeburst.io/diving-deep-into-the-golang-channels-549fd4ed21a8
mo4tech.com/golang-gmp-model-for-concurent-scheduling.html
developpaper.com/source-code-analysis-of-golang-channel
Engineer
Database
zhuanlan.zhihu.com/p/222958908
Message Queue
Kafka
zero copy: deveoppaper.com/what-is-the-so-called-zero-copy-technology-in-kafka
page cache: andriymz.github.io/kafka/kafka-disk-write-performance/##zero-copy-data-transfer
Rocketmq
Mesh & Service Registry
Interview Note
- how golang channel implements
- what is the difference between process and thread
- have met that kill a process don’t workd, reason and how to deal with it. link
- how to communicate between process & thread
- tcp sliding window
- assume client and server already bulid a tcp connection, and client send data to it, what will happen if service don’t read data from the tcp socket
- how to address OOM issue
- slow resident memory increase: using prof tools to locate abormal memory allocate
- suddenly memory increase: find logs, hook memory allocate library, using tmpfs
- OOM when the process starts: Load large data, using tmpfs