Rust

Rust

BACKEND

Bahasa pemrograman sistem yang menawarkan jaminan keamanan memori tanpa garbage collector melalui sistem ownership. Performa setara C/C++ dengan zero-cost abstractions, concurrency tanpa data races, dan ekosistem yang kaya (Cargo, crates.io) untuk membangun API backend yang andal, WebAssembly, dan sistem kritis.

Apa yang akan Anda pelajari

Sistem ownership untuk jaminan keamanan memori pada waktu kompilasi (tanpa garbage collector)

Performa C/C++ dengan zero-cost abstractions dan kontrol low-level

Concurrency tanpa data races berkat sistem tipe (Send, Sync traits)

Pattern matching ekspresif, enums yang kuat, dan Result<T, E> untuk penanganan error

Cargo untuk manajemen dependensi, build, dan testing terintegrasi

Async/await dengan Tokio atau async-std untuk non-blocking I/O

Framework web modern (Axum, Actix-web, Rocket) untuk REST API

Sistem tipe yang kuat dengan traits, generics, lifetimes, dan inferensi tipe

Pengujian komprehensif (unit tests, integration tests, doc tests, property-based)

Dukungan first-class WebAssembly, cross-compilation, dan binary yang dioptimalkan

Topik utama yang harus dikuasai

Konsep terpenting untuk memahami teknologi ini dan berhasil di wawancara

1

Dasar Rust: variabel (let, mut), tipe primitif, fungsi, modul

2

Ownership: move semantics, borrowing, referensi (&, &mut), lifetimes

3

Aturan borrowing: satu &mut ATAU beberapa &, tanpa dangling references

4

Structs, enums, pattern matching, dan destructuring

5

Traits: definisi, implementasi, trait bounds, derive macros

6

Generics: fungsi generic, structs, enums dengan trait bounds

7

Lifetimes: anotasi ('a), lifetime elision, static lifetime

8

Penanganan error: Result<T, E>, Option<T>, operator ?, panic vs Result

9

Collections: Vec, HashMap, HashSet, iterator dan metode (map, filter, collect)

10

Iterator: trait Iterator, evaluasi lazy, combinators, loop for

11

Pola ownership: Clone vs Copy, Rc/Arc, RefCell/Mutex untuk interior mutability

12

Concurrency: threads, Arc<Mutex<T>>, channels (mpsc), Send/Sync traits

13

Async/await: trait Future, async fn, .await, Tokio runtime, async tasks

14

Axum/Actix-web: routing, handlers, extractors, middleware, manajemen state

15

Database: sqlx (pengecekan waktu kompilasi), Diesel ORM, query async

16

Serialisasi: serde (Serialize, Deserialize), JSON, derive macros

17

Pengujian: #[test], #[cfg(test)], assert!, integration tests, mocking

18

Macros: macro deklaratif (macro_rules!), macro prosedural, derive

19

Keamanan memori: tanpa null pointers, tanpa buffer overflows, thread safety

20

Performa: zero-cost abstractions, inlining, optimisasi LLVM, profiling

21

Cargo: dependensi (Cargo.toml), features, workspaces, build scripts

22

Deployment: cross-compilation, Docker, binary statis, release profiles