Anda dapat mengharapkan pertanyaan desain sistem jika Anda memiliki pengalaman 4+ tahun.
- Skalabilitas dan Desain Sistem adalah topik yang sangat besar dengan banyak topik dan sumber daya, karena ada banyak hal yang perlu dipertimbangkan saat merancang sistem perangkat lunak / perangkat keras yang dapat diskalakan. Berharap untuk meluangkan sedikit waktu untuk ini
- Pertimbangan:
- Skalabilitas (Scalability)
- Saring kumpulan data besar menjadi nilai tunggal
- Ubah satu kumpulan data ke kumpulan lainnya
- Menangani data dalam jumlah yang sangat besar
- Desain sistem (System design)
- set fitur (features sets)
- antarmuka (interfaces)
- hierarki kelas (class hierarchies)
- merancang sistem di bawah batasan tertentu
- kesederhanaan dan ketahanan (simplicity and robustness)
- pengorbanan (tradeoffs)
- analisis dan pengoptimalan kinerja
- Skalabilitas (Scalability)
- MULAI DI SINI: Primer Desain Sistem
- Desain Sistem dari HiredInTech
- Bagaimana Saya Mempersiapkan Untuk Menjawab Pertanyaan Desain Secara Teknis?
- 8 Hal Yang Perlu Diketahui Sebelum Wawancara Desain Sistem
- Desain algoritme
- Normalisasi Basis Data - 1NF, 2NF, 3NF dan 4NF (video)
- Wawancara Desain Sistem - Ada banyak sumber daya yang satu ini. Lihat artikel dan contoh. Saya taruh beberapa di bawah ini
- Bagaimana menjadi ace wawancara desain sistem
- Nomor yang Harus Diketahui Setiap Orang
- Berapa lama waktu yang dibutuhkan untuk membuat pengalih konteks?
- Transaksi di Seluruh Pusat Data (video)
- Pengantar bahasa Inggris sederhana untuk Teorema CAP
- Algoritma Konsensus:
- Hashing yang Konsisten
- Pola NoSQL
- Skalabilitas:
- Anda tidak membutuhkan semua ini. Pilih saja beberapa yang menarik bagi Anda.
- Tinjauan bagus (video)
- Seri pendek:
- Arsitektur Web yang Skalabel dan Sistem Terdistribusi
- Kekeliruan Komputasi Terdistribusi Dijelaskan
- Teknik Pemrograman Pragmatis
- Jeff Dean - Membangun Sistem Perangkat Lunak di Google dan Pelajaran yang Dipetik (video)
- Pengantar Sistem Arsitek untuk Skala
- Menskalakan game seluler ke audiens global menggunakan App Engine dan Cloud Datastore (video)
- Bagaimana Google Melakukan Rekayasa Skala Planet untuk Infra Skala Planet (video)
- Pentingnya Algoritma
- Sharding
- Scale at Facebook (2012), "Building for a Million Users" (video)
- Teknik untuk Permainan Panjang - Astrid Atkinson Keynote (video)
- 7 Tahun Pelajaran Skalabilitas YouTube Dalam 30 Menit
- Bagaimana PayPal Mengukur Miliaran Transaksi Setiap Hari Hanya Dengan Menggunakan 8VM
- Cara Menghapus Duplikat dalam Kumpulan Data Besar
- Sekilas tentang skala dan budaya teknik Etsy dengan Jon Cowie (video)
- Apa yang Membawa Amazon ke Arsitektur Layanan Mikro Sendiri
- Untuk Mengompresi Atau Tidak Mengompresi, Itu Pertanyaan Uber
- Asyncio Tarantool Queue, Masuk Antrian
- Kapan Perkiraan Pemrosesan Kueri Digunakan?
- Transisi Google Dari Pusat Data Tunggal, Ke Failover, Ke Arsitektur Native Multihomed
- Kunci pas
- Pemrograman Didorong Pembelajaran Mesin: Pemrograman Baru Untuk Dunia Baru
- Teknologi Pengoptimalan Gambar Yang Melayani Jutaan Permintaan Per Hari
- A Patreon Architecture Short
- Tinder: Bagaimana Salah Satu Mesin Rekomendasi Terbesar Memutuskan Siapa yang Akan Anda Lihat Selanjutnya?
- Desain Cache Modern
- Streaming Video Langsung Pada Skala Facebook
- Panduan Pemula Untuk Menskalakan Lebih dari 11 Juta Pengguna di Amazon AWS
- Bagaimana Penggunaan Latensi Efek Docker?
- Tampilan 360 Derajat Dari Seluruh Tumpukan Netflix
- Latensi Ada Di Mana-Mana Dan Itu Membebani Penjualan Anda - Cara Menghancurkannya
- Serverless (sangat lama, hanya perlu intinya)
- What Powers Instagram: Ratusan Instans, Lusinan Teknologi
- Arsitektur Cinchcast - Menghasilkan 1.500 Jam Audio Setiap Hari
- Arsitektur Penyiaran Video Langsung Justin.Tv
- Arsitektur Permainan Sosial Playfish - 50 Juta Pengguna Bulanan Dan Berkembang
- Arsitektur TripAdvisor - 40 Juta Pengunjung, 200 Juta Tampilan Halaman Dinamis, 30 TB Data
- Arsitektur PlentyOfFish
- Arsitektur Salesforce - Bagaimana Mereka Menangani 1,3 Miliar Transaksi Sehari
- Arsitektur ESPN Dalam Skala - Beroperasi pada 100.000 Duh Nuh Nuhs Per Detik
- Lihat cara "Sistem Perpesanan, Serialisasi, dan Antrean" di bawah ini untuk info tentang beberapa teknologi yang dapat merekatkan layanan
- Twitter:
- Untuk informasi lebih lanjut, lihat serial video "Menambang Kumpulan Data Besar-besaran" di bagian Seri Video
- Mempraktikkan proses desain sistem: Berikut adalah beberapa ide untuk dicoba di atas kertas, masing-masing dengan beberapa dokumentasi tentang bagaimana hal itu ditangani di dunia nyata:
- review: Primer Desain Sistem
- Desain Sistem dari HiredInTech
- contekan (cheat sheet)
- aliran:
- Pahami masalah dan cakupannya:
- Tentukan kasus penggunaan, dengan bantuan pewawancara
- Sarankan fitur tambahan
- Hapus item yang dianggap pewawancara di luar jangkauan
- Asumsikan ketersediaan tinggi diperlukan, tambahkan sebagai kasus penggunaan
- Pikirkan tentang kendala:
- Tanyakan berapa banyak permintaan per bulan
- Tanyakan berapa banyak permintaan per detik (mereka mungkin menawarkannya secara sukarela atau meminta Anda menghitungnya)
- Perkirakan persentase membaca vs. menulis
- Ingat aturan 80/20 saat memperkirakan
- Berapa banyak data yang ditulis per detik
- Total penyimpanan yang dibutuhkan selama 5 tahun
- Berapa banyak data yang dibaca per detik
- Desain abstrak:
- Lapisan (layanan, data, caching)
- Infrastruktur: load balancing, perpesanan
- Gambaran kasar tentang algoritme kunci apa pun yang menggerakkan layanan
- Pertimbangkan kemacetan dan tentukan solusinya
- Pahami masalah dan cakupannya:
- Latihan:
Selanjutnya - Ulasan Akhir