[TIL] 241105 (기업 화상 면접 / 혼자살때 댓글 스켈레톤 제작)

·2024년 11월 5일

TIL

목록 보기
210/268
post-thumbnail

오늘 한 일

  • 기업 화상 면접
  • 기업 지원 9건
  • 기술 면접 연습 4개
  • 이력서 수정
    • optimistic update 부분 수정
  • 혼자살때 개선
    • 댓글 없을 경우 컴포넌트 제작
    • 댓글 isPending 스켈레톤 제작
    • 디자인 오류 수정
  • 알고리즘 코드카타
    • n보다 커질 때까지 더하기

기술 면접 연습

ts와 tsx의 차이점을 설명해보세요.
jsx 문법을 사용할 수 있는지가 차이점인데, 자바스크립트 코드 안에 HTML 태그를 작성할 수 있도록 해주는 문법입니다. HTML과 유사한 구문으로 UI를 정의할 수 있으며, 컴파일 시 JavaScript로 변환됩니다. 직관적이고 간결하게 UI를 정의할 수 있는 장점이 있습니다.

쓰로틀링과 디바운싱 중 쓰로틀링을 사용한 이유를 말씀해 주세요.
쓰로틀링을 선택한 가장 큰 이유는 사용자 경험 개선을 위한 즉각적인 반응입니다. 사용자가 게시물 업로드 버튼을 여러 번 클릭해도 일정 시간 내에 한 번만 요청을 보내므로, 클릭 즉시 결과를 확인할 수 있습니다. 반면 디바운싱은 마지막 클릭 후 일정 시간 대기 후 요청을 보내기 때문에 즉각적인 응답이 지연될 수 있습니다. 즉, 쓰로틀링을 통해 불필요한 중복 업로드를 방지하면서도 사용자에게 빠른 반응을 제공할 수 있습니다.

(위에 이어서) 시간이 여유롭다면 두 선택지를 비교할 때 어떤 걸 중점적으로 비교해서 선택할 것 같으신가요?
말씀드렸던 것처럼, 기본적으로는 중복 업로드를 제대로 방지할 수 있는지를 먼저 확인한 다음, 어떤 방식이 사용자에게 빠른 반응을 제공하는지를 중점적으로 비교할 것 같습니다.

vue와 next.js의 차이 및 뭘 더 선호하는지 말씀해주세요.
우선 Vue와 Next.js의 차이점부터 말씀드리겠습니다. Vue는 컴포넌트 기반의 UI 라이브러리로, 주로 SPA(단일 페이지 애플리케이션) 개발에 적합합니다. 반면 Next.js는 React를 위한 풀스택 프레임워크로, 서버 사이드 렌더링을 통한 SEO 최적화파일 기반 라우팅을 통한 직관적인 페이지 구성 등의 장점을 갖추고 있습니다.
제가 둘 중 더 선호하는 프레임워크는 Next.js입니다. 프로젝트를 진행하면서 SEO 최적화가 중요한 경우가 많았고, Next.js는 이를 손쉽게 지원한다는 점에서 큰 이점이 있었습니다. 또한 파일 기반 라우팅 덕분에 별도의 라우팅 설정 없이 직관적으로 페이지를 구성할 수 있었고, 백엔드와의 통합 지원 덕분에 프론트엔드 개발에서도 유연성과 확장성을 경험할 수 있었습니다. 이 점들이 Next.js를 더 매력적이라고 느끼게 했습니다.

알고리즘 코드카타

n보다 커질 때까지 더하기

문제

정수 배열 numbers와 정수 n이 매개변수로 주어집니다. numbers의 원소를 앞에서부터 하나씩 더하다가 그 합이 n보다 커지는 순간 이때까지 더했던 원소들의 합을 return 하는 solution 함수를 작성해 주세요.

풀이

function solution(numbers, n) {
  let result = 0;
  for (let i = 0; i < numbers.length; i++) {
    result += numbers[i];
    if (result > n) {
      break;
    }
  }
  return result;
}

먼저 정답이 될 result 변수를 선언한 다음 반복문으로 numbers의 요소를 하나씩 result에 더해준다. 이 때 result값이 n보다 커질 경우 반복문을 중단하고 result를 return하여 문제를 풀이했다.
reduce를 쓴 다른 풀이도 있었지만 reduce의 경우 중간에 멈출 수 없고 무조건 요소의 갯수만큼 끝까지 가야하기 때문에 시간 복잡도에서 좋지 않기에 사용하지 않는 게 좋을 것 같다.

profile
웹 프론트엔드 개발자

0개의 댓글