질문 목록
기초 질문 158개입니다.
데이터베이스6개
네트워크26개
- TCP 연결을 끊을 때 TIME_WAIT 상태가 필요한 이유는?
- HTTP/2는 HTTP/1.1의 무엇을 고쳤는가?
- TCP 연결 종료는 왜 대개 네 번 주고받는가?
- DNS 조회는 어떤 순서로 도는가?
- DNS 질의 시 재귀적 질의와 반복적 질의의 차이는 무엇인가?
- 신뢰성보다 지연을 우선할 기준은?
- 실패 응답 코드는 무엇을 기준으로 고르는가?
- 자물쇠 표시는 무엇을 검증한 결과인가?
- 첫 보안 연결에는 왜 왕복이 필요한가?
- 중계 서버의 주체는 어떻게 구분하는가?
- 요청을 어떤 서버로 보낼지 어떻게 정하는가?
- HTTP 메서드 선택의 기준은 무엇인가?
- 전송 계층에서 멀티플렉싱과 디멀티플렉싱은 무엇으로 구분하는가?
- HTTP 상태 코드는 어떤 기준으로 분류하는가?
- IP 주소의 핵심 역할은 무엇인가?
- XSS 공격으로 훔칠 수 있는 데이터는 무엇인가?
- 쿠키와 세션은 데이터 저장 위치로 구분하는가?
- 브라우저에 URL을 입력하면 어떤 과정을 거치는가?
- HTTPS는 HTTP와 무엇이 다른가?
- 죽은 서버로 요청이 안 가는 이유는?
- 헬스 체크는 어떤 조건을 검사하는가?
- 먼 나라 사용자도 빠르게 받는 방법은?
- 서버 앞에 하나를 더 두는 이유는?
- 보낼 데이터가 길에서 감당할 크기보다 크면 어떻게 되는가?
- 같은 망 안에서 상대를 어떻게 찾아가는가?
- 집 안의 여러 기기가 IP 하나로 어떻게 나가는가?
언어 · 런타임30개
- equals 재정의 시 hashCode도 바꿔야 하는 이유는?
- setTimeout(0)이 즉시 실행되지 않는 이유는?
- 가비지 컬렉션이 멈춤을 만드는 이유는?
- 객체와 호출 프레임은 왜 따로 저장하는가?
- 순환 참조 객체도 회수할 수 있는 이유는?
- 서로 다른 List 타입 인자는 런타임에 남는가?
- 상태 변경을 막으면 동시성에서 무엇을 얻는가?
- 중간 연산을 바로 실행하지 않는 이유는?
- 스레드를 늘려도 CPU 병렬성이 없는 이유는?
- 참조 횟수가 0이 아닌 객체도 왜 수거되는가?
- Promise와 타이머 중 무엇이 먼저 실행되는가?
- 함수가 끝난 뒤 지역 변수가 남는 이유는?
- 속성이 없을 때 엔진은 어디까지 찾는가?
- let도 끌어올려지는데 왜 바로 읽지 못하는가?
- 같은 함수를 불렀는데 this가 달라지는 이유는?
- 이름이 다른 두 타입이 호환되는 기준은?
- 대입 뒤 한쪽을 바꿀 때 결과가 갈리는 이유는?
- 고정 소수점과 부동 소수점은 무엇으로 구분하는가?
- 클로저를 사용해 상태를 은닉하는 이유는 무엇인가?
- 타입스크립트의 구조적 타이핑은 무엇을 기준으로 판별하는가?
- JVM 메모리 영역은 어떻게 구분하는가?
- 파이썬의 가비지 컬렉션은 무엇으로 동작하는가?
- 호이스팅으로 인한 부작용을 어떻게 막는가?
- 값 타입과 참조 타입은 무엇으로 구분하는가?
- 함수형 프로그래밍을 적용하는 이유는 무엇인가?
- 자바의 원시 타입과 래퍼 클래스는 메모리 구조상 어떤 차이가 있는가?
- 같은 문자열 리터럴이 같은 객체인 이유는?
- 한 줄짜리 코드가 화면을 멈추게 하는 이유는?
- 한글이 깨져 보이는 이유는?
- 0.1을 더했는데 왜 딱 안 떨어지는가?
운영체제20개
- 데드락은 어떤 조건이 모두 모여야 생기는가?
- 사용자 모드에서 커널 모드로 진입하는 이유는 무엇인가?
- 프로세스 주소공간을 나누어 사용하는 이유는 무엇인가?
- 스레드 풀을 사용하는 주된 이유는 무엇인가?
- 데드락을 해결하기 위한 회피 전략은 무엇인가?
- 가상 메모리를 사용하는 이유는 무엇인가?
- CPU 스케줄러의 단계별 역할은 무엇인가?
- 소스 코드가 실행 파일로 변하는 과정은 무엇인가?
- 가상 메모리 관리 시 페이징과 세그멘테이션은 무엇으로 구분하는가?
- 블로킹과 논블로킹 I/O의 결정적 차이는 무엇인가?
- 경쟁 상태를 막으려면 무엇을 고려해야 하는가?
- 인터럽트와 폴링의 결정적인 차이는 무엇인가?
- 컨텍스트 스위칭 시 CPU는 무엇을 저장하고 복원하는가?
- 뮤텍스와 세마포어는 무엇으로 구분하는가?
- 쓰레싱이 발생하는 원인과 해결책은 무엇인가?
- 프로세스와 스레드의 핵심 차이는 무엇인가?
- 좀비 프로세스는 왜 남는가?
- 읽은 파일이 두 번째부터 빨라지는 이유는?
- 큰 파일을 통째로 읽으면 무엇이 문제인가?
- 프로세스가 죽으면 무엇이 정리되고 무엇이 남는가?
자료구조 · 알고리즘16개
- 해시 테이블의 평균 O(1)이 무너지는 경우는?
- 이진 탐색 트리가 한쪽으로 치우치면 무엇이 문제인가?
- 메모리보다 큰 데이터를 정렬할 때 무엇을 쓰는가?
- 스택과 큐는 각각 어떤 상황에서 선택해야 하는가?
- 해시 충돌 발생 시 해결 방법은 무엇인가?
- 일반 이진트리 대신 이진탐색트리를 사용하는 이유는 무엇인가?
- 그래프를 인접 행렬과 인접 리스트 중 어떤 방식으로 구현해야 하는가?
- 다익스트라와 벨만-포드 알고리즘은 언제 구분하여 쓰는가?
- 재귀 호출 대신 반복문을 써야 하는 순간은 언제인가?
- 문자열 검색 효율을 높이는 최적의 자료구조는 무엇인가?
- 배열보다 연결 리스트를 사용하는 기준은 무엇인가?
- 스택과 큐의 가장 큰 차이는 무엇인가?
- 해시 충돌을 해결하는 두 방식의 차이는 무엇인가?
- 트라이를 사용하는 이유는 무엇인가?
- 재귀 함수 사용 시 스택 오버플로가 발생하는 이유는 무엇인가?
- 우선순위 큐를 힙으로 구현하는 이유는 무엇인가?
프레임워크11개
아키텍처 · 분산시스템6개
프론트엔드14개
- 브라우저가 화면을 그리기까지 무슨 일이 일어나는가?
- useEffect 의존성 배열을 비워두면 언제 실행되는가?
- 공유 상태는 어느 컴포넌트에 두는가?
- 목록 항목의 정체성을 어떻게 보존하는가?
- 레이아웃 계산과 픽셀 갱신은 언제 생기는가?
- 선언한 너비와 실제 크기가 왜 달라지는가?
- 한 축 배치와 두 축 배치는 어떻게 구분하는가?
- 화면 밖 이미지는 언제 불러와야 하는가?
- div만 쓰면 어떤 비용이 드는가?
- 체감 성능은 어떤 세 지표로 판단하는가?
- 로그 레벨을 구분하여 설정하는 이유는 무엇인가?
- 웹 서버와 WAS의 역할 분담은 왜 하는가?
- React Hook을 사용하는 이유는 무엇인가?
- 브라우저가 요청을 미리 한 번 더 보내는 이유는?
인프라 · 보안18개
- HTTPS는 무엇을 보장하고 무엇을 못 하는가?
- CORS는 무엇을 막는가?
- 컨테이너 이미지를 최소화해야 하는 이유는 무엇인가?
- 공개키와 비밀키는 무엇으로 구분하는가?
- TLS 핸드셰이크의 핵심 목적은 무엇인가?
- 컨테이너는 가상 머신과 무엇이 다른가?
- SQL 인젝션은 무엇으로 막는가?
- 죽은 파드는 누가 다시 만드는가?
- 이미지를 고쳐도 조금만 받는 이유는?
- 비밀번호를 앱에 안 주고 로그인하는 방법은?
- 이미지와 컨테이너는 무엇이 다른가?
- 비밀번호를 그냥 해시하면 왜 안 되는가?
- 요청이 한꺼번에 몰릴 때 어떻게 막는가?
- 누가 무엇을 할 수 있는지 어떻게 정하는가?
- 비밀키를 코드에 넣으면 왜 안 되는가?
- 권한은 왜 최소로 주는가?
- 인코딩과 암호화와 해싱은 무엇이 다른가?
- 사용자 입력을 왜 전부 의심해야 하는가?