LabHub
배우기 러닝패스 코스

고래를 찾는데 고양이가 나타났다 · 검색창에는 세 개의 시간이 흐른다 · 퀴즈

퀴즈: 마지막 검색은 누구의 것인가

LabHub 에서 이어서 보기

문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.

  1. 고양이 요청 뒤 고래 요청을 보냈고, 고래 응답이 먼저 왔다. 나중에 고양이 응답이 오면 이 실험의 정책은?

    1. 고래 결과를 유지하고 이전 응답은 반영하지 않는다
    2. 가장 최근에 도착했으므로 고양이 결과를 반영한다
    3. 두 요청이 성공했으므로 고양이와 고래를 합친다
    4. 도착 순서가 바뀌었으므로 두 결과를 모두 지운다
  2. draft와 제출된 request를 분리하는 이유는?

    1. 입력값은 문자열이고 제출값은 반드시 숫자이기 때문이다
    2. 입력 중인 문장과 실행 중인 검색의 시점이 다르기 때문이다
    3. 입력값은 서버에 보내고 제출값은 브라우저에만 두기 때문이다
    4. 입력값이 길어질수록 React 렌더링이 자동 중단되기 때문이다
  3. idle/loading/success/empty/error 유니온을 썼지만 응답 경합은 남았다. 왜 그런가?

    1. 유니온 타입은 React 컴포넌트 안에서 사용할 수 없어서다
    2. loading 상태에서는 TypeScript 검사가 실행되지 않아서다
    3. 과거와 최신 응답 모두 같은 정상 타입을 가질 수 있어서다
    4. Promise가 반환한 데이터는 언제나 any로 바뀌기 때문이다
  4. 같은 검색어를 사용자가 다시 제출했다. 재시도를 표현하기에 적절한 것은?

    1. 검색어가 같으면 이전 결과만 읽고 요청은 생략한다
    2. 검색어 뒤에 공백을 붙여 서버가 다른 값으로 보게 한다
    3. 기존 결과를 삭제하면 effect가 반드시 다시 실행된다
    4. 검색어와 별개로 제출 번호가 바뀌도록 상태를 만든다
  5. 응답은 정상인데 결과가 0개다. error 대신 empty를 구분하면 무엇이 좋아지는가?

    1. 검색어 변경과 장애 재시도라는 다음 행동을 구분할 수 있다
    2. 결과가 없어도 네트워크 재시도를 자동으로 생략할 수 있다
    3. 서버가 어떤 상태 코드를 보내든 성공으로 바꿀 수 있다
    4. 모든 검색에서 결과 배열을 타입 정의에서 제거할 수 있다
  6. 사건 표의 보냄 1·2, 도착 3·4만으로 알 수 있는 것은?

    1. 검색 서버가 소비한 CPU 시간을 알 수 있다
    2. 요청과 응답 사건의 상대적 순서를 알 수 있다
    3. 모바일 화면의 페인트 지연을 알 수 있다
    4. 한 요청의 실제 네트워크 왕복 시간을 알 수 있다