HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
기술면접 2일차(인수)

기술면접 2일차(인수)

~ 2:52
  • 아예 모르는 질문
  • 애매하게 답한 질문
 

어제 대답 못한 질문

  • React
    • React hooks → Class와 비교했을 때 장점?
      • 리액트에서 최근에 함수형으로의 변화로 추구
      • hooks에서도 클래스 기능 구현 가능 완벽히 할 수 있다
    • 리액트 불변성 지켜야하는 이유?
      • 참조형도 리액트에서 변경된 걸 알아야 하기때문
    • 기존 diffing 알고리즘은 n^3의 시간복잡도를 가지는데 빠른 이유?

  • 가비지 컬렉션
    • js에서 불필요한 객체들이 사용하는 메모리를 수거해가는 역할
      • 불필요 기준 = 해당 객체를 참조하는 다른 객체가 없는지
    • 가비지 컬렉션이 사용하는 알고리즘
      • 이름은 잘 모름
      • 동작원리 = 루트 객체 참조하는 객체들부터 체크 → 재귀적으로
        • 참조되지 않은 노드들을 수거
  • apply, call, bind 차이점?
    • apply → 함수호출, 두번째인자 배열
    • call → 함수호출, 두번째부터 요소들
    • bind → 함수반환
  • event loop에 대해 설명해주세요
    • 브라우저 기능 (런타임이 제공)
    • 콜스택, 이벤트큐 감시하면서 이벤트 순서 정하는 역할
      • 콜스택에 쌓인 작업들이 하나씩 처리됨
      • 콜스택이 비면 이벤트루프가 이벤트큐에서 작업을 꺼내서 작업 진행
 

새로운 질문

  • React에서 key를 지정하지 않으면 어떤 일이 생기는지?
    • 자식 변경이 일어났을때 어디서 일어났는지
  • Typescript d.ts파일을 무엇이고, 왜 필요한지?
  • Typescript 제네릭이란?
    • 직접 사용은 안해봄
  • Typescript interface, type 차이점?
  • Javascript 객체와 다른 타입들간의 차이점?
    • 원시타입 → 메모리에 직접 할당, 새로운 값들이 메모리에 할당
    • 객체 → 해당 객체가 참조되는 방식
  • 메모리 공간
    • Code, Data, Heap, Stack 영역
  • 쿠키, 세션 차이점
    • HTTP 통신 사용할 때 상태 저장 불가능해서 사용하는 기능들
    • 쿠키 = 클라이언트에서 상태 저장
    • 세션 = 서버에서 상태 저장
  • HTTP, HTTPS 차이점
    • 서버-클라 데이터 주고받는 통신규약
    • HTTPS = HTTP + 보안강화 (암호화 과정 거친 프로토콜)
      • SSL/TSL이란?
  • Promise란?
    • 비동기 처리를 위한 ES6 도입된 기능
    • 기존에는 콜백으로 비동기 기능 구현 → 콜백 지옥 현상 → 가독성 떨어짐
      • 이런 문제 해결 위해 등장
    • 비동기 동작이 완료되기 전 상태인 pending, 성공 fulfilled, 실패 상태 (?)
      • 성공, 실패 이후 해당하는 동작들을 할 수 있도록 함
    • Promise 메서드 아는거 있는지?
      • all 메서드
        • 프로미스 하나 끝났을 때 X, 여러 비동기 작업들을 한번에 처리할 때까지 기다림
      • race 메서드
  • 동기, 비동기 차이점?
  • 입사 후 다른 직무 맡게된다면?
    • 웹 개발자 영역에 속해있다면, 오히려 더 공부할 수 있는 기회가 될 것 같다
  • nodejs 싱글스레드?
    • 싱글스레드지만 WebAPI 사용해서 멀티스레드처럼 사용할 수 있다
      • nodejs에서는 사용해본 경험 없다
  • 객체지향 프로그래밍 해본 적?
    • React 개발만 해서 많이 해본적 없다
  • OOP란?
    • 공통점들을 찾아서 클래스로 만듦 → 그런 클래스들을 활용해 코드를 설계하는 패턴
  • 프로세스, 스레드 차이점?
  • HTML 마크업?
  • 브라우저 렌더링 과정?
    • HTML 파싱 → element로 이뤄진 DOM트리 생성
    • CSS link 만나면 다운 + 파싱 + CSSOM트리 생성
    • DOM + CSSOM → 렌더링 트리 생성
    • 크기, 위치 결정하는 레이아웃
    • 화면 픽셀에 찍어내는 페인트
  • Reflow, Repaint란 무엇이고, 언제 발생하는지?
    • Reflow
      • 레이아웃을 다시 계산하는 과정
    • Repaint
      • 레이아웃이 결정된 상태, 페인트만 다시하는 작업
  • TCP, UDP 차이점?
    • TCP → 안정성을 가진 프로토콜, 3way handshaking
    • UDP → 안정성 대신 속도 이점으로 가짐
  • 3 way hand shaking 이란? 어떻게 일어나는지?
    • 클라 → 서버 (접속시작 표시)
    • 서버 → 클라 (수락 표시)
    • 클라 → 서버 (받아서 연결과정 확정)
  • 살면서 가장 몰입했던 경험?
    • 대학교 창업동아리에서 이성간 만남 서비스 기획, 운영, 개발 참여
    • 실제 고객 대상, 시즌별로 이뤄져서 기획 & 개발 계속 했다
      • 많은 시간 투자했다
    • 경험으로 배운점?
      • 하고싶은 일에 이정도 몰입할 수 있다는걸 깨달음
      • 가상의 프로젝트, 공부를 위한 학습이 아니라 실제 유저를 대상으로 하는 무언가를 했다는 점, 예상과 다르게 흘러가는 부분 등에서 많이 배웠다
      •