학교 프로젝트에서 컴포넌트를 설계한 경험
졸업 프로젝트에서 게시판 기능을 React와 TypeScript로 구현했습니다. 목록, 상세, 작성 화면을 각각 컴포넌트로 나누고, 게시글 데이터의 타입을 인터페이스로 정의해 여러 컴포넌트에서 재사용했습니다. 처음엔 타입을 컴포넌트마다 새로 적다가 중복이 늘어나는 걸 깨닫고, 공통 타입 파일로 분리했습니다.
면접관이 이 한 문장으로 확인하려는 것들. 각 갈래를 알면 답의 뼈대가 잡혀요.
졸업 프로젝트에서 게시판 기능을 React와 TypeScript로 구현했습니다. 목록, 상세, 작성 화면을 각각 컴포넌트로 나누고, 게시글 데이터의 타입을 인터페이스로 정의해 여러 컴포넌트에서 재사용했습니다. 처음엔 타입을 컴포넌트마다 새로 적다가 중복이 늘어나는 걸 깨닫고, 공통 타입 파일로 분리했습니다.
개인적으로 할 일 관리 앱을 만들며 React와 TypeScript를 처음 실전에 써봤습니다. 상태를 useState로 관리하다가 항목이 늘면서 코드가 복잡해져, 상태 로직을 별도 훅으로 분리했습니다. 규모가 크지 않은 프로젝트라 큰 어려움은 없었지만, 타입을 미리 정의하고 시작하니 기능을 추가할 때 실수가 줄었다는 걸 체감했습니다.
팀 프로젝트에서 저는 회원가입과 로그인 화면을 맡아 React와 TypeScript로 구현했습니다. 폼 입력값의 타입을 정의하고, 유효성 검사 결과에 따라 에러 메시지를 보여주는 로직을 작성했습니다. 다른 팀원이 만든 컴포넌트와 타입을 맞추는 과정에서 이름 규칙이 달라 혼선이 있었는데, 컨벤션을 미리 정해두지 않은 게 원인이었습니다.
같은 실수가 반복돼요. 이것만 피해도 절반은 갑니다.
진짜 면접은 두 번째 질문부터예요. 이 답 뒤에 따라올 법한 것들.