질문 목록
심화 질문 143개입니다.
데이터베이스22개
- 인덱스를 만들었는데 실행 계획에서 타지 않는 이유는?
- 커넥션 풀 크기를 CPU 코어 수로 잡는 이유는?
- DB 락은 분산 환경에서 무엇이 한계인가?
- 낙관적 락 충돌은 어떻게 재시도하는가?
- 서브쿼리를 언제 조인으로 재작성해야 성능이 향상되는가?
- 격리 수준을 올리면 무엇을 잃는가?
- 트랜잭션 격리 수준을 결정하는 기준은 무엇인가?
- 데이터베이스 스키마를 설계할 때 고려할 점은 무엇인가?
- JOIN 연산의 성능을 결정하는 핵심 요소는 무엇인가?
- 인덱스 생성 시 읽기 성능과 쓰기 성능의 트레이드오프는 무엇인가?
- DBSCAN은 K-means보다 어떤 상황에서 더 유리한가?
- 조인으로 인해 성능 저하가 발생하는 원인은 무엇인가?
- RDB와 NoSQL 중 무엇을 기준으로 선택하는가?
- 데이터베이스 복제와 클러스터링의 선택 기준은 무엇인가?
- 낙관적 락과 비관적 락은 무엇으로 고르는가?
- 인덱스 범위 스캔과 전체 스캔 중 무엇을 선택하는가?
- 고차원 데이터에서 거리 계산 시 발생하는 문제는 무엇인가?
- 갑자기 꺼져도 커밋한 것이 남는 이유는?
- 읽기만 하는데도 잠금이 걸리는 경우가 있는가?
- 인덱스를 어느 칸부터 놓아야 하는가?
- 목록을 나눌 때 번호와 커서는 무엇이 다른가?
- 낙관적 락과 비관적 락은 무엇으로 고르는가?
네트워크12개
언어 · 런타임9개
운영체제11개
- 컨텍스트 스위칭 비용은 구체적으로 어디서 발생하는가?
- 동기/비동기 및 블로킹/논블로킹의 차이는 무엇인가?
- 데이터 오류로 인한 손실을 어떻게 방지하는가?
- 메모리 연속할당 방식 중 무엇을 선택하는가?
- TLB 미스가 발생했을 때 처리 과정은 무엇인가?
- 프로세스 스케줄링 방식은 무엇으로 결정하는가?
- 멀티스레드 환경에서 스레드 세이프한 코드를 작성하는 방법은 무엇인가?
- 동기화 문제를 하드웨어적으로 어떻게 해결하는가?
- CPU와 메모리 중 무엇이 데이터 처리 속도를 결정하는가?
- 급한 일이 안 급한 일에 밀리는 경우가 있는가?
- 파일 디스크립터 3은 무엇을 가리키는가?
자료구조 · 알고리즘7개
프레임워크16개
- @Transactional이 걸리지 않는 경우는?
- JPA에서 N+1 쿼리는 왜 생기고 무엇으로 막는가?
- 스프링 빈이 싱글톤인 것이 언제 문제가 되는가?
- 스프링 AOP의 프록시 자기 호출 시 무엇이 문제인가?
- 내부 메서드 호출에 부가기능이 빠지는 이유는?
- 자동 구성은 어떤 조건에서 물러나는가?
- 요청 공통 처리는 어느 지점에 두는가?
- 인증 정보는 어떻게 보안 문맥에 들어가는가?
- 외래 키 변경은 어느 쪽에서 반영해야 하는가?
- 즉시 로딩을 기본값처럼 쓰면 왜 위험한가?
- 동적 조건이 많을 때 문자열 쿼리는 왜 약한가?
- 외부 롤백과 무관한 기록은 어떻게 남기는가?
- 엔티티를 API 응답에 바로 쓰면 무엇이 새는가?
- 서비스 계층이 모든 일을 맡으면 무엇이 무너지는가?
- 체크 예외와 언체크 예외의 선택 기준은 무엇인가?
- 목록 하나 읽었는데 쿼리가 백 번 나가는 이유는?
아키텍처 · 분산시스템19개
- 분산 트랜잭션에서 Saga 패턴이 필요한 이유는?
- 이벤트 소싱을 도입할 때의 트레이드오프는 무엇인가?
- 메시지 큐를 두면 무엇을 얻고 무엇을 잃는가?
- 캐시를 지우는 일이 어려운 이유는?
- 분산 시스템에서 CAP 중 무엇을 포기하게 되는가?
- 노드를 늘릴 때 일관된 해싱이 필요한 이유는?
- 메시지 순서는 어디까지 보장되는가?
- 읽기와 쓰기 모델을 나누면 무엇을 얻고 잃는가?
- 여러 서비스를 거친 요청은 어떻게 따라가는가?
- 배포 방식은 무엇을 기준으로 고르는가?
- 호출 시간 제한은 무엇을 기준으로 정하는가?
- 게이트웨이를 두면 무엇을 얻고 무엇을 걱정해야 하는가?
- 리팩토링과 기능 추가를 나눠서 하는 이유는 무엇인가?
- 팩토리 메소드 패턴을 언제 사용하는가?
- 스트레티지 패턴을 사용하는 판단 기준은 무엇인가?
- 컴포지트 패턴을 어떤 상황에서 사용하는가?
- Raft는 왜 과반수를 요구하는가?
- 보내는 쪽이 받는 쪽보다 빠르면 무엇이 터지는가?
- 단계마다 타임아웃을 5초씩 주면 무엇이 잘못되는가?
프론트엔드21개
- useEffect 의존성 배열을 잘못 넣으면 어떤 문제가 생기는가?
- 리렌더링이 필요 이상으로 도는 이유는?
- 변경점을 비교하면 언제 비용이 줄어드는가?
- 계산 단계와 반영 단계를 왜 나누는가?
- 계산 결과와 함수 참조는 언제 기억해야 하는가?
- 클라이언트 경계는 어디에 두는가?
- 첫 화면을 막는 리소스는 어떻게 줄이는가?
- 선택자 최적화는 실제로 언제 필요한가?
- 번들은 어떤 경계로 나눠 불러오는가?
- 번들 최적화는 어디서 시작하는가?
- 폰트 표시 지연과 깜빡임을 어떻게 줄이는가?
- 화면이 바뀐 뒤 포커스는 어디로 보내는가?
- 클라이언트 데이터는 어디에 보관해야 하는가?
- 응답 특성에 따라 캐시 방식을 어떻게 고르는가?
- 렌더링 방식은 어떤 요구로 결정하는가?
- 서버 HTML과 첫 렌더가 다르면 왜 문제인가?
- CSRF와 XSS의 결정적인 차이는 무엇인가?
- 프론트엔드 성능 최적화 시 번들 크기를 무엇으로 판단하는가?
- 브라우저에서 FTP 지원을 중단하는 이유는 무엇인가?
- 스타일을 바꿨을 뿐인데 왜 느려지는가?
- 화면이 안 바뀌는데 값은 바뀌어 있는 경우가 있는가?
인프라 · 보안7개
모바일19개
- 푸시 알림이 안 오는 이유는 대개 무엇인가?
- 뷰 바인딩은 왜 onDestroyView에서 비우는가?
- 화면 상태를 둘 때 두 수단을 어떻게 나누는가?
- 실행 시점과 사용자 인지 여부로 어떤 수단을 고르는가?
- 예약한 작업은 정말 한 번만 실행되는가?
- 비동기로 옮겼는데도 왜 응답 없음이 생기는가?
- 화면이 닫혔는데 객체가 남는 이유는?
- 전송 성공은 단말 수신까지 뜻하는가?
- 상태 변경은 어디까지 다시 실행되는가?
- 첫 화면을 빠르게 띄우려면 무엇을 미뤄야 하는가?
- 상태 소유자를 잘못 두면 어떤 버그가 생기는가?
- 오프라인 수정이 서버 값과 충돌하면 누가 이기는가?
- 외부 링크를 곧바로 화면에 열어도 되는가?
- 설치 크기를 줄이면 실행 시 무엇을 치르는가?
- 모바일 요청은 실패할 때마다 다시 보내도 되는가?
- 백그라운드 제약을 피하는 방법은 무엇인가?
- 푸시 알림의 전달 보장을 위해 무엇을 설계하는가?
- 안드로이드에서 메모리 누수가 발생하는 주원인은 무엇인가?
- 코루틴의 구조적 동시성은 무엇을 해결하는가?