개발자 취업이나 이직을 준비하면 공부할 범위가 끝없이 넓어 보인다. 자료구조, 알고리즘, 운영체제, 네트워크, 데이터베이스, 시스템 설계, 언어와 프레임워크가 모두 중요해 보이기 때문이다.

이 페이지는 모든 내용을 한 번에 외우기 위한 체크리스트가 아니라, 공부 순서를 잡기 위한 입구로 둔다. 중요한 건 키워드를 많이 아는 것이 아니라, 하나의 개념을 실제 선택 기준과 연결해서 설명할 수 있는지다.

먼저 볼 글

처음에는 자주 나오는 기본 질문부터 자연스럽게 답할 수 있게 만드는 편이 좋다.

추천 학습 흐름

먼저 자료구조와 알고리즘을 얕게 한 바퀴 돈다. 이때 시간복잡도 표를 외우는 데서 끝내지 말고, 어떤 연산이 자주 일어날 때 어떤 구조가 유리한지 말할 수 있어야 한다. 배열과 연결리스트를 비교할 때도 접근, 삽입, 삭제 비용뿐 아니라 캐시 효율과 실제 사용 빈도까지 함께 설명하면 좋다.

그다음 운영체제와 네트워크를 본다. 프로세스와 스레드는 독립성과 공유의 차이로 설명하고, 네트워크는 요청 하나가 DNS, 연결 수립, TLS, HTTP 요청과 응답을 거쳐 돌아오는 흐름으로 그려보면 이해가 쉽다.

데이터베이스는 SQL 문법보다 왜 조회가 느려지는지, 인덱스가 언제 도움이 되는지, 트랜잭션이 어떤 일관성을 보장하는지에 집중한다. 시스템 설계는 정답을 맞히는 시험이 아니라 병목을 찾아가는 대화에 가깝다. 트래픽이 늘면 서버를 어떻게 늘릴지, 상태와 캐시는 어디에 둘지, 메시지 큐가 필요한 순간은 언제인지 순서대로 생각하면 된다.

마지막에는 본인이 사용한 언어와 프레임워크를 깊게 정리한다. Java라면 JVM, GC, 컬렉션, 동시성을 보고, Spring이라면 DI, Bean 생명주기, AOP, 트랜잭션 프록시를 설명할 수 있어야 한다. JavaScript나 TypeScript를 쓴다면 이벤트 루프, Promise, 클로저, 타입 시스템이 자주 나온다.

면접 답변 연습

면접 직전에는 새 개념을 계속 늘리기보다, 자주 나오는 질문에 짧게 답하는 연습이 필요하다. 답변은 “정의 → 차이 → 선택 기준 → 예시” 순서가 안정적이다.

프로젝트 질문도 기능 목록을 나열하기보다 문제 상황, 원인 분석, 선택한 해결책, 결과를 한 흐름으로 말하는 편이 좋다. 수치가 있으면 가장 좋지만, 수치가 없더라도 무엇을 관찰했고 어떤 가설을 세웠는지 설명할 수 있으면 충분히 설득력 있다.

이 페이지는 세부 글이 늘어날 때마다 목차처럼 계속 다듬으면 된다. 지금은 취업 준비 전체를 한눈에 보고, 어디서부터 들어갈지 정하는 허브 역할을 한다.

1 item under this folder.