Rust

Rust

BACKEND

소유권 시스템을 통해 가비지 컬렉터 없이 메모리 안전성을 보장하는 시스템 프로그래밍 언어입니다. 제로 비용 추상화를 통한 C/C++ 동등 성능, 데이터 레이스 없는 동시성, 신뢰할 수 있는 백엔드 API, WebAssembly, 핵심 시스템 구축을 위한 풍부한 생태계(Cargo, crates.io)를 제공합니다.

배울 내용

컴파일 시점에 메모리 안전성을 보장하는 소유권 시스템 (가비지 컬렉터 없음)

제로 비용 추상화와 저수준 제어를 통한 C/C++ 성능

타입 시스템 (Send, Sync traits)을 통한 데이터 레이스 없는 동시성

표현력 있는 pattern matching, 강력한 enums, Result<T, E>를 활용한 에러 처리

의존성 관리, 빌드, 통합 테스트를 위한 Cargo

Tokio 또는 async-std를 활용한 논블로킹 I/O를 위한 Async/await

REST API를 위한 현대적 웹 프레임워크 (Axum, Actix-web, Rocket)

traits, generics, lifetimes, 타입 추론을 갖춘 강한 타입 시스템

포괄적인 테스트 (unit tests, integration tests, doc tests, property-based)

WebAssembly 퍼스트 클래스 지원, 크로스 컴파일, 최적화된 바이너리

마스터해야 할 핵심 주제

이 기술을 이해하고 면접에서 성공하기 위한 가장 중요한 개념

1

Rust 기초: 변수 (let, mut), 기본 타입, 함수, 모듈

2

소유권: move semantics, borrowing, 참조 (&, &mut), lifetimes

3

Borrowing 규칙: 하나의 &mut 또는 여러 &, 댕글링 참조 없음

4

Structs, enums, pattern matching, destructuring

5

Traits: 정의, 구현, trait bounds, derive macros

6

Generics: 제네릭 함수, structs, trait bounds를 가진 enums

7

Lifetimes: 주석 ('a), lifetime elision, static lifetime

8

에러 처리: Result<T, E>, Option<T>, ? 연산자, panic vs Result

9

컬렉션: Vec, HashMap, HashSet, 이터레이터와 메서드 (map, filter, collect)

10

이터레이터: Iterator trait, 지연 평가, combinators, for 루프

11

소유권 패턴: Clone vs Copy, Rc/Arc, 내부 가변성을 위한 RefCell/Mutex

12

동시성: 스레드, Arc<Mutex<T>>, channels (mpsc), Send/Sync traits

13

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

14

Axum/Actix-web: routing, handlers, extractors, middleware, 상태 관리

15

데이터베이스: sqlx (컴파일 시점 체크), Diesel ORM, 비동기 쿼리

16

직렬화: serde (Serialize, Deserialize), JSON, derive macros

17

테스트: #[test], #[cfg(test)], assert!, integration tests, mocking

18

매크로: 선언적 매크로 (macro_rules!), 절차적 매크로, derive

19

메모리 안전성: null 포인터 없음, 버퍼 오버플로우 없음, 스레드 안전성

20

성능: 제로 비용 추상화, inlining, LLVM 최적화, profiling

21

Cargo: 의존성 (Cargo.toml), features, workspaces, build scripts

22

배포: 크로스 컴파일, Docker, 정적 바이너리, release profiles