이번 주에는 자바의 핵심 개념들과 데이터베이스 기초를 주제로 모의 면접을 진행했습니다. 면접 질문들을 복기해보고, 강사님께 받은 피드백을 바탕으로 보완해야 할 점을 정리했습니다.
1. 면접 질문 리스트
- Java: Collections Framework, 접근 제어자, 제네릭(Generic), 빌더 패턴, 람다 표현식
- Common: 프레임워크의 정의와 사용 경험
- DB: RDBMS의 개념, 정규화와 이상현상, SQL 언어(DML, DDL, DCL), 트랜잭션
2. 주요 피드백 및 깊이 있는 학습이 필요한 부분
🔍 제네릭(Generic) - 개념을 넘어 활용으로
면접에서 제네릭의 개념과 <T> 사용법은 알고 있었지만, 이를 실제 코드에서 타입 변환(Casting)하거나 복합적으로 사용하는 부분에서 답변이 막혔습니다.
- 배운 점: 단순히 <T>를 붙이는 것을 넘어, 왜 형변환이 필요 없는지, 그리고 와일드카드(?)나 상한/하한 제한(extends, super)이 실제 오픈소스나 라이브러리에서 어떻게 쓰이는지 코드 수준에서 분석해야 함을 깨달았습니다.
🗄️ 정규화와 이상현상 - 암기가 아닌 '이해'
정규화의 필요성인 '이상현상(Anomaly)'을 설명할 때 예시를 명확히 들지 못했습니다. 강사님께서 "느낌으로만 알고 있다"는 따끔한 피드백을 주셨습니다.
- 이상현상 쉽게 이해하기 (예시):
- 삽입 이상: 새 학과를 등록하려는데 학생이 없어서 학과 번호를 등록 못 하는 상황.
- 삭제 이상: 학생 한 명을 자퇴 처리했더니, 그 학생이 속한 학과 정보까지 통째로 사라지는 상황.
- 갱신 이상: 학생의 주소를 바꿨는데, 일부 데이터만 바뀌어 정보가 불일치하는 상황.
- 해결책: 실생활에서 겪을 수 있는 데이터 꼬임 현상을 코드로 상상해 보며 공부할 예정입니다.
🚀 DB 성능 최적화의 순서
정규화로 인한 성능 저하(Join 증가) 문제를 해결하기 위해 바로 '반정규화(Denormalization)'를 언급했습니다. 하지만 이는 성급한 결론이었습니다.
- 피드백: 정규화 → 인덱스(Index) 활용 → 쿼리 튜닝 → (최후의 수단으로) 반정규화 순서로 접근해야 합니다. 무분별한 반정규화는 데이터 무결성을 해칠 수 있기 때문입니다. DB 경험이 적어 시야가 좁았던 점을 반성했습니다.
3. 총평: 코드로 증명하는 공부
가장 인상 깊었던 피드백은 "모든 개념을 코드와 연결 짓고, 그 코드의 장단점을 분석하라"는 말씀이었습니다. 이것이 곧 개발자의 유추 능력이라는 것을 배웠습니다.
앞으로는 기술 개념을 외우는 데 그치지 않고:
- 이 코드가 왜 이렇게 작성되었는가?
- 이 기술을 썼을 때와 안 썼을 때의 차이는 무엇인가?
- 현업에서는 어떤 트레이드 오프(Trade-off)를 고려하는가?
위 세 가지를 고민하며 면접을 준비하겠습니다!
'Growth & Career > Retrospectives' 카테고리의 다른 글
| [면접 준비] 1차 인적성 면접 연습 후기: 나만의 색깔 찾기 (2/10) (0) | 2026.02.12 |
|---|---|
| 주간 KPT 회고록(2026.02.02 ~ 08) (0) | 2026.02.09 |
| 주간 KPT 회고록(2026.01.26 ~ 02.01) (0) | 2026.02.02 |
| 주간 KPT 회고록(2026.01.19 ~ 25) (0) | 2026.01.27 |
| 주간 KPT 회고록(2026.01.11 ~ 18) (0) | 2026.01.19 |