타입 에러를 해결하며 겪은 어려움
팀 프로젝트에서 API 응답 타입을 정의하지 않고 any로 두고 쓰다가, 필드 이름이 바뀌었을 때 런타임에서야 오류를 발견한 적이 있습니다. 처음엔 타입 정의가 번거롭게 느껴져 미뤘는데, 그 일을 겪고 나서 인터페이스를 먼저 정의하고 API 함수의 반환 타입을 명시하는 방식으로 바꿨습니다. 이후로는 필드명이 바뀌면 컴파일 단계에서 바로 알 수 있게 됐습니다.
면접관이 이 한 문장으로 확인하려는 것들. 각 갈래를 알면 답의 뼈대가 잡혀요.
팀 프로젝트에서 API 응답 타입을 정의하지 않고 any로 두고 쓰다가, 필드 이름이 바뀌었을 때 런타임에서야 오류를 발견한 적이 있습니다. 처음엔 타입 정의가 번거롭게 느껴져 미뤘는데, 그 일을 겪고 나서 인터페이스를 먼저 정의하고 API 함수의 반환 타입을 명시하는 방식으로 바꿨습니다. 이후로는 필드명이 바뀌면 컴파일 단계에서 바로 알 수 있게 됐습니다.
React 프로젝트에서 입력창에 글자를 칠 때마다 화면 전체가 다시 그려져 버벅이는 문제가 있었습니다. 원인을 찾다가 부모 컴포넌트의 상태가 바뀌면서 자식 컴포넌트까지 매번 리렌더링되고 있다는 걸 알았습니다. 처음엔 useMemo를 무작정 여기저기 붙였는데 큰 개선이 없었고, 나중에 상태를 두는 위치 자체를 바꾸고 나서야 문제가 풀렸습니다.
제네릭을 활용한 공통 컴포넌트를 만들다가 타입 추론이 원하는 대로 되지 않아 며칠을 붙잡고 있었습니다. 혼자 해결이 안 돼 팀 채널에 코드를 공유했더니, 다른 팀원이 제네릭 기본값을 지정하지 않은 게 원인이라고 알려줬습니다. 스스로 찾지 못했다는 점이 아쉬웠지만, 그 뒤로 제네릭을 쓸 때는 기본값을 먼저 확인하는 습관이 생겼습니다.
같은 실수가 반복돼요. 이것만 피해도 절반은 갑니다.
진짜 면접은 두 번째 질문부터예요. 이 답 뒤에 따라올 법한 것들.