그알것 — 그럼에도 알아야 할 것들
홈질문커뮤니티
그알것 — 그럼에도 알아야 할 것들

Service

  • 홈
  • 소개
  • 질문
  • 커뮤니티

My

  • 내 워크스페이스
  • 저장한 질문
  • 작성한 답변

Policy

  • 이용약관
  • 개인정보처리방침
  • 문의

© 2026 그알것 · What Still Matters

그럼에도 여전히 알아야 할 것들

총 50 / 232개
#질문 / 한 줄 설명4축 추천 중요도도메인
01
Architecture
객체 지향 프로그래밍이란 무엇이고 어떤 특징이 있나요?
객체에 책임과 데이터를 묶어 협력시키는 패러다임 — 상속·조합 균형이 장기 유지보수성을 가른다.
실무4/5
설계5/5
인간4/5
기초4/5
BE
02
Architecture
CAP 정리에 대해 알고 계신가요?
파티션이 일어났을 때 일관성을 지킬지 가용성을 지킬지, 도메인이 어느 쪽 실패를 덜 견디느냐의 결정
실무4/5
설계5/5
인간4/5
기초4/5
BE
03
Transaction
트랜잭션 격리수준은 무엇인가요?
Dirty/Non-Repeatable/Phantom Read를 어디까지 허용할지 정해 _정합성과 처리량_을 같이 결정한다.
실무4/5
설계5/5
인간4/5
기초4/5
BE
04
Database
관계형 DB와 비관계형 DB의 차이는 무엇인가요?
관계형의 무결성·조인 중심과 비관계형의 유연 스키마·수평 확장 사이의 선택 트레이드오프를 다룬다.
실무5/5
설계5/5
인간4/5
기초3/5
BE
05
Database
RDB에서 페이징 쿼리가 필요한 이유와 방식 차이는 무엇인가요?
페이징은 대량 조회를 작은 단위로 나눠 리소스를 절감하며, 대규모 페이지에서는 OFFSET보다 키셋 기반 조회가 효율적이다.
실무5/5
설계5/5
인간4/5
기초3/5
BE
06
Architecture
동기 방식으로 외부 서비스를 호출할 때 외부 서비스 장애가 나면 어떻게 조치할 수 있나요?
외부 의존이 죽었을 때 내 자원이 묶이지 않게 어디서 끊고 어디서 격리할지의 우선순위 판단.
실무5/5
설계5/5
인간4/5
기초3/5
BE
07
Testing
테스트하기 쉬운 코드의 조건은 무엇인가요?
테스트 용이성은 설계 단순함의 결과지, 테스트만 보고 구조를 비틀면 오히려 코드가 곪는다.
실무4/5
설계5/5
인간4/5
기초3/5
FE
08
Architecture
결합도와 응집도는 무엇이며 왜 함께 보나요?
모듈 간 의존(결합)과 모듈 내 책임 밀집(응집) 사이의 긴장이 변경 한 건의 파급 범위를 결정한다
실무5/5
설계4/5
인간4/5
기초4/5
FE
09
Concurrency
경쟁 상태를 해결하려면 왜 원자성과 가시성이 함께 필요하나요?
원자성과 가시성 중 한 축만 잡힌 상태에서는 동시성 버그가 모양만 바꿔 계속 새어 나온다.
실무5/5
설계4/5
인간4/5
기초4/5
BE
10
Java
자바 GC 알고리즘에는 무엇이 있고 어떻게 선택하나요?
Serial, Parallel, G1, ZGC, Shenandoah 등 GC는 지연시간·처리량·힙 크기 목표가 달라 워크로드별 선택이 필요하다.
실무5/5
설계5/5
인간4/5
기초3/5
BE
11
Transaction
낙관적 락과 비관적 락은 어떻게 다르고 언제 선택하나요?
낙관적 락은 충돌을 사후에 검증·재시도하고, 비관적 락은 충돌을 사전에 막는다 — 워크로드의 충돌률이 선택을 가른다.
실무4/5
설계5/5
인간4/5
기초4/5
BE
12
JavaScript
주어진 Promise/Timeout 코드의 실행 순서는 왜 그렇게 되나요?
동기 코드 → 마이크로태스크(Promise) → 매크로태스크(setTimeout) 순서가 출력 순서를 결정한다.
실무4/5
설계4/5
인간4/5
기초4/5
FE
13
Architecture
최종적 일관성과 강한 일관성의 차이는 무엇인가요?
최신성을 즉시 보장할지, 시간이 지나 수렴시킬지 사이의 선택 문제다.
실무4/5
설계5/5
인간4/5
기초4/5
BE
14
Concurrency
멀티쓰레딩이란 무엇이며 장단점은 무엇인가요?
멀티쓰레딩은 한 프로세스 내 작업을 병행 처리해 응답성과 자원 활용을 높이지만 동기화 복잡도를 증가시킨다.
실무5/5
설계5/5
인간4/5
기초3/5
BE
15
Database
열 기반 DB와 행 기반 DB의 차이는 무엇인가요?
행 단위 트랜잭션과 컬럼 단위 분석 쿼리 사이에서 저장 모델을 어떻게 가를지의 트레이드오프
실무4/5
설계5/5
인간4/5
기초4/5
BE
16
Concurrency
교착 상태에 대해 설명해주세요.
데드락은 4가지 필요 조건 중 어느 걸 깨는지에 따라 예방·회복 전략이 갈리고 잘못 고르면 다른 장애로 이어진다.
실무4/5
설계4/5
인간4/5
기초4/5
BE
17
MessageQueue
시스템 간 비동기 연동 방식에는 무엇이 있나요?
메시징 큐·DB 기반 전달·CDC는 모두 비동기 연동을 만들지만 트랜잭션 경계와 운영 부담이 다르게 갈린다.
실무5/5
설계5/5
인간4/5
기초3/5
BE
18
Cache
캐시 스탬피드 현상에 대해 설명해주세요.
캐시 만료 순간 원본으로 쏠리는 요청을 잠금·재계산·확률 중 어느 비용으로 받아낼지의 선택.
실무5/5
설계4/5
인간4/5
기초3/5
BE
19
Security
CSRF 공격에 대해서 설명해주세요.
로그인 상태에서 브라우저가 자동으로 실어 보내는 인증 정보를 악용해 사용자가 의도하지 않은 요청을 일으키는 공격, 그리고 그 방어 계층 설계 문제다.
실무5/5
설계4/5
인간4/5
기초3/5
BE
20
Database
데이터베이스 인덱스에 대해서 설명해주세요
정렬된 자료구조(B-Tree)에 컬럼 값을 올려 조회는 줄이고 쓰기 비용을 더 받는 _자료구조 트레이드오프_다.
실무4/5
설계4/5
인간4/5
기초4/5
BE
21
Architecture
레이어드 아키텍처란 무엇이며 싱크홀 안티 패턴은 무엇인가요?
계층 분리의 유지보수 이점과, 중간 계층이 전달만 하다 의미를 잃는 싱크홀 사이의 트레이드오프.
실무4/5
설계5/5
인간4/5
기초3/5
BE
22
Spring
스프링 트랜잭션 전파 속성은 어떻게 선택하나요?
어디서 롤백 경계를 끊을지 정해 데이터 정합성과 장애 격리 사이의 균형을 만드는 정책이다.
실무5/5
설계5/5
인간4/5
기초3/5
BE
23
AITooling
AI 코딩 도구에 컨텍스트를 어떻게 주느냐가 왜 결과물의 품질을 좌우하나요
어떤 파일을, 어떤 순서로, 어떤 제약과 함께 주느냐가 AI 코딩 결과의 90%를 결정한다.
실무5/5
설계4/5
인간4/5
기초3/5
AI
24
Architecture
단일 장애 지점(SPOF)이란 무엇인가요?
하나의 구성요소가 무너지면 전체가 같이 멈추는 지점 — 가용성 설계의 출발점이자 끝점이다.
실무4/5
설계5/5
인간4/5
기초3/5
BE
25
Infra
서버리스란 무엇이며 어떤 장단점이 있나요?
운영 부담을 줄이는 대신 콜드스타트와 벤더 종속을 받아들여야 하는 클라우드 실행 모델
실무5/5
설계5/5
인간4/5
기초3/5
BE
26
Network
TCP 3-way handshake는 어떤 과정으로 연결을 수립하나요?
TCP 3-way handshake는 단순 연결 절차가 아니라, 중복·지연 패킷 환경에서도 양 끝 상태를 안전하게 합의하기 위한 프로토콜 설계다.
실무4/5
설계4/5
인간4/5
기초4/5
CS
27
Infra
무중단 배포가 무엇인가요?
롤링·블루그린·카나리 사이에서 호환성 부담·인프라 비용·롤백 속도 중 무엇을 양보할지 고르는 문제.
실무5/5
설계5/5
인간4/5
기초2/5
BE
28
Performance
스레드, 프로세스, 코어 수는 무조건 많을수록 좋은가요?
동시성 단위를 늘리면 어느 지점부터 컨텍스트 스위칭과 자원 경합이 오히려 처리량을 깎는다.
실무4/5
설계4/5
인간4/5
기초3/5
CS
29
Java
equals와 hashCode는 왜 함께 재정의해야 할까요?
equals만 손대고 hashCode를 빠뜨리면 같은 객체가 다른 버킷에 흩어져 해시 컬렉션이 조용히 깨지는 지점이다.
실무4/5
설계4/5
인간4/5
기초4/5
BE
30
Security
백엔드 관점에서 쿠키와 세션의 차이는 무엇인가요?
상태를 클라이언트에 둘지 서버에 둘지 결정하는 문제이고, 그에 따라 보안·확장성·운영 비용이 갈린다.
실무5/5
설계4/5
인간4/5
기초3/5
BE
31
JavaScript
JavaScript에서 0.1 + 0.2 === 0.3이 false인 이유는 무엇인가요?
IEEE 754 이진 부동소수점에선 0.1·0.2가 딱 떨어지지 않아 합이 0.30000000000000004로 어긋나기 때문이다.
실무4/5
설계4/5
인간4/5
기초4/5
FE
32
Concurrency
데이터베이스에서 동시성을 제어하는 방법에는 어떤 것들이 있나요?
버전으로 충돌을 피하느냐(MVCC), 락으로 충돌을 막느냐(Lock-based)의 두 축.
실무4/5
설계4/5
인간4/5
기초4/5
BE
33
Performance
시간 복잡도와 공간 복잡도는 어떻게 다르며 왜 함께 봐야 하나요?
시간 복잡도는 연산 증가율을, 공간 복잡도는 메모리 증가율을 보고, 둘은 자주 서로를 깎으며 맞바꾼다.
실무4/5
설계4/5
인간3/5
기초4/5
CS
34
JPA
JPA에서 Fetch Join과 페이징을 함께 쓸 때 왜 주의해야 하나요?
ToMany fetch join에 페이징을 더하면 SQL 페이징이 깨지고 메모리 페이징으로 떨어져 대용량에서 OOM 위험이 커진다.
실무5/5
설계4/5
인간4/5
기초3/5
BE
35
Network
Cache-Control 헤더는 어떻게 설계해야 하나요?
Cache-Control은 응답 속도와 데이터 최신성 사이의 트레이드오프를 리소스별로 갈라서 결정하는 헤더다.
실무5/5
설계4/5
인간4/5
기초3/5
FE
36
Security
XSS 공격이란 무엇이며 프론트엔드에서 어떻게 방어하나요?
신뢰된 페이지에 끼어든 스크립트가 사용자 브라우저에서 실행되는 공격, 방어는 출력 인코딩과 CSP를 계층으로 쌓는 일이다.
실무5/5
설계4/5
인간4/5
기초3/5
FE
37
Database
데이터베이스 정규화에 대해서 설명해주세요.
함수 종속을 기준으로 테이블을 쪼개 이상 현상을 막는 정규화와, 그 위에서 의도적으로 중복을 허용하는 역정규화 사이의 균형 문제다.
실무4/5
설계4/5
인간4/5
기초4/5
BE
38
Performance
JavaScript 메모리 누수는 어떤 상황에서 발생하나요?
쓰지 않을 객체가 어딘가 참조에 묶여 GC 대상에서 빠지는 자리 — 리스너·클로저·전역 캐시가 단골이다.
실무4/5
설계4/5
인간4/5
기초4/5
FE
39
Network
쿠키와 세션의 차이와 선택 기준은 무엇인가요?
쿠키 자동 전송과 세션 서버 보관 사이의 보안·확장 트레이드오프를 어디서 끊을지 결정한다.
실무4/5
설계4/5
인간4/5
기초3/5
FE
40
OperatingSystem
멀티 프로세스와 멀티 스레드의 차이는 무엇인가요?
격리·안정성을 사는 멀티 프로세스와 공유 메모리로 속도를 사는 멀티 스레드 사이의 비용 트레이드오프.
실무4/5
설계4/5
인간3/5
기초4/5
CS
41
Cache
캐싱 전략과 캐시 불일치를 줄이는 쓰기 전략을 설명해 주세요.
Cache Aside·Write Through·Invalidation·Write Behind 중 "무엇을 양보할지" 정하는 결정.
실무4/5
설계4/5
인간4/5
기초3/5
BE
42
Security
인증과 인가에 대해 설명해주세요.
"누구인가"를 다루는 인증과 "무엇을 할 수 있는가"를 다루는 인가, 두 결정이 서로 다른 계층에서 따로 끊겨야 한다는 문제다.
실무4/5
설계4/5
인간4/5
기초3/5
FE
43
TypeScript
동적 타입 언어와 정적 타입 언어의 차이는 무엇인가요?
오류를 런타임에서 받느냐 컴파일에서 받느냐의 차이로, 초기 모델링 비용과 변경 비용을 맞바꾼다.
실무4/5
설계4/5
인간4/5
기초4/5
FE
44
Performance
참조 지역성의 원리와 코드 최적화 방법을 설명해 주세요.
같은 알고리즘에서도 메모리 접근 순서와 데이터 배치가 캐시 적중률을 가르고 실행 시간을 결정한다.
실무4/5
설계3/5
인간4/5
기초4/5
CS
45
JavaScript
자바스크립트 메모리 관리는 어떻게 동작하나요?
자동 메모리 관리 뒤에서 도달 가능성과 GC 알고리즘이 어떻게 객체를 살리고 회수하는가
실무4/5
설계3/5
인간4/5
기초4/5
FE
46
Testing
테스트 격리란 무엇이며 Spring에서 어떻게 보장하나요?
테스트 속도와 격리 수준 사이에서 컨텍스트·DB·트랜잭션 전략을 어떻게 섞을지가 핵심 긴장이다.
실무5/5
설계4/5
인간4/5
기초2/5
BE
47
MessageQueue
트랜잭셔널 아웃박스 패턴에 대해서 설명해주세요.
DB 커밋과 이벤트 발행이 따로 노는 이중 쓰기 문제를 같은 트랜잭션의 아웃박스 테이블로 묶어 풀어내는 패턴이다.
실무4/5
설계4/5
인간4/5
기초3/5
BE
48
Infra
CDN이란 무엇이며 도입 시 무엇을 고려해야 하나요?
엣지 캐시로 지연·원본 부하를 줄이는 대신, 만료·무효화·장애 우회 운영 비용을 함께 떠안아야 한다.
실무4/5
설계5/5
인간4/5
기초2/5
BE
49
Network
DNS란 무엇이며 질의 과정은 어떻게 동작하나요?
도메인을 IP로 푸는 분산 계층 질의 — 위임과 캐시 흐름을 알아야 장애 지점을 좁힌다.
실무5/5
설계3/5
인간4/5
기초4/5
CS
50
OperatingSystem
멀티태스킹 시스템의 한계와 스레드 도입 이유는 무엇인가요?
프로세스 단위 전환은 너무 무겁고 데이터 공유도 어렵다 — 그래서 같은 주소공간을 공유하는 스레드가 도입됐다.
실무4/5
설계4/5
인간3/5
기초4/5
CS