반응형

ETC 27

Java 백엔드 실무 면접 질문 & 모범 답변 정리

안녕하세요, 오늘은 Java 백엔드 실무 면접을 준비하시는 분들을 위해 제가 실제 경험한 면접 질문들과 그에 대한 모범 답변을 정리해보려고 합니다. 저도 면접을 준비하면서 블로그나 깃허브 등을 많이 참고했었는데, 실제로 실무에서 많이 나오는 질문과 그 의도를 이해하는 게 무엇보다 중요하더라고요. 이 글이 여러분의 면접 준비에 작은 도움이 되길 바라며, Java, Spring Boot, JPA, REST API, Redis, JWT 인증 같은 키워드 중심으로 정리해볼게요.1. Java 백엔드 실무 면접에서 자주 나오는 질문들Q1. Java에서 HashMap과 ConcurrentHashMap의 차이점은?의도: 멀티스레드 환경에 대한 이해도를 보려는 질문이에요.모범 답변:HashMap은 쓰레드에 안전하지 않아..

ETC 2025.07.28

MCP 서버란? LLM이 더 똑똑해지도록 돕는 외부 브레인

요즘 Large Language Model(LLM), 예를 들어 GPT나 Claude 같은 모델들을 보면 정말 놀라울 정도로 많은 정보를 알고 있습니다. 그런데 가만히 살펴보면 이 모델들이 모든 지식을 자기 내부에만 담고 있지는 않습니다. 필요한 순간에 외부에서 최신 정보를 실시간으로 가져와 답변에 활용하기도 하는데요. 이때 외부 데이터를 제공하는 중간 역할을 하는 서버가 바로 MCP 서버입니다.MCP 서버의 정의아주 간단히 말씀드리면,MCP 서버는 LLM이 필요한 데이터나 문서, 지식을 꺼내 쓸 수 있도록 연결해주는 외부 정보 서버입니다.LLM 자체는 훈련 데이터를 기반으로 학습되지만, 세상 모든 최신 정보나 사내 시스템 데이터, 특정 API 결과까지 전부 알고 있지는 않습니다. 그래서 "MCP 서버에..

ETC 2025.07.02

커서(Cursor)를 써보고 나서, 진심으로 감탄했다

최근 새롭게 배정받은 프로젝트에서 신규 기능을 개발하게 되었다. 간단한 CRUD 작업이었지만, 이번엔 예전처럼 일일이 파일을 만들고 코드를 타이핑하는 방식이 아닌, 새로운 도구를 사용해보기로 마음먹었다. 그 도구가 바로 "커서(Cursor)"였다.문제 상황 : 반복적인 파일 생성과 코드 작성에 지친 나회사에서 작업하는 대부분의 서비스는 Spring Boot 기반이고, 구조도 뻔하다. Controller - Service - Repository로 이어지는 전형적인 구조. 기능 하나 만들자고 매번 이 세 가지 파일을 만들고, 인터페이스부터 구현체까지 반복해서 타이핑하자니 슬슬 피로가 쌓이기 시작했다. "이런 건 자동화할 수 없을까?"라는 생각을 하던 차에, 커서(Cursor)에 대한 이야기를 듣게 되었다.내..

ETC 2025.06.26

실무에서 자주 사용하는 인텔리제이 단축키 정리

개발하면서 매번 단축키를 검색하거나 메뉴를 뒤적이는 게 번거롭다고 느낀 적 있으신가요?저 역시 그랬습니다. 그래서 실무에서 자주 사용하는 인텔리제이 단축키만 모아서 한 눈에 정리해봤습니다.저처럼 Java와 Spring Boot 기반의 백엔드 개발을 하시는 분이라면, 이 단축키들만 알아도 개발 속도가 꽤 빨라질 거예요.특히 파일 이동, 북마크, 에디터 탐색, 디버깅까지 커버되니 꼭 한 번 정리해두고 손에 익혀보시길 추천합니다.📁 파일 변경 및 탭 제어 관련 단축키단축키 설명F5파일 복사F6파일 이동Shift + F6파일 이름 변경Ctrl + F4현재 탭 닫기Ctrl + E최근 사용한 파일 목록 조회💡 Tip: Ctrl + E는 여러 파일을 동시에 작업할 때 정말 유용합니다. 직전에 편집하던 파일을 빠르..

ETC 2025.06.16

[TDD] TDD는 단순 테스트 코드가 아니었다

최근에 TDD를 다시 보게 되면서, 혼자 끄적이던 생각과 고민이 조금씩 정리가 되었습니다.사실 처음에는 TDD를 그냥 '테스트 코드 먼저 작성하는 방식' 정도로만 알고 있었는데요,이번에 프로젝트를 진행하면서 "테스트가 코드의 방향을 결정할 수도 있다"는 걸 체감하게 되었습니다.TDD는 단순히 테스트를 먼저 짜는 게 아니더라구요보통은 기능을 먼저 구현하고 테스트 코드를 나중에 붙이는 경우가 많잖아요? 그런데 TDD는 반대입니다.테스트 코드를 먼저 작성하고, 그 테스트를 통과할 수 있는 최소한의 코드를 작성한 뒤, 마지막에 리팩토링을 진행합니다.이게 단순히 순서만 바뀌는 게 아니라, "어떻게 코드를 짤 것인가" 자체가 달라집니다. 단계 설명Red실패하는 테스트를 먼저 작성합니다Green테스트를 통과시키기 위..

ETC 2025.04.17

[k6] k6 사용법 & 실무 활용 방법

k6 사용법 & 실무 활용 방법 정리최근 서비스 성능 테스트를 진행할 일이 있어서 k6라는 도구를 사용하게 됐는데, 생각보다 사용법이 굉장히 직관적이고 깔끔해서 정리해두면 좋을 것 같아서 글로 남겨본다.특히 Web API나 REST 기반 서비스라면 JMeter보다 훨씬 간단하게 부하 테스트를 해볼 수 있어서 입문자나 실무 개발자에게 추천할 만한 도구다.k6 설치 방법로컬 기준 (Mac / Homebrew)brew install k6그 외 윈도우나 리눅스는 아래 공식 사이트 참고하면 바로 설치 가능하다.https://k6.io/docs/getting-started/installation/k6 기본 예제 스크립트k6는 JavaScript 기반으로 스크립트를 작성하게 되어 있다. 기본적인 GET 요청 부하 테..

ETC 2025.04.14

[Gradle] Gradle 라이브러리 참조 문제 정리

Gradle에서 자주 발생하는 라이브러리 참조 문제를 정리합니다.라이브러리 프로젝트(예: A)에서 다른 라이브러리(B, C 등)를 의존성으로 추가하고 이를 Maven에 배포했을 때,해당 라이브러리를 참조하는 외부 프로젝트(예: X)에서 의존성이 전파되지 않아 클래스가 보이지 않는 문제가 생길 수 있습니다.이러한 문제를 직면하고, 해결한 내용을 정리하였습니다.api vs implementation 차이점Gradle의 dependencies 블록에서 자주 사용하는 두 선언 방식의 차이:선언 방식 외부 프로젝트에서 접근 가능 여부 전이성apiO (전파됨)전이됨implementationX (내부에서만 사용 가능)전이되지 않음implementation: 현재 모듈 내부에서만 사용하는 라이브러리. 다른 프로젝트에서..

ETC 2025.03.28

[Gradle] Gradle 캐시와 사용자 홈(GRADLE_USER_HOME)

Gradle을 사용하다 보면, 거의 모든 복잡한 지시서 다국적인 사용성을 위해 캐시 구조를 재정리합니다.하지만 또한 유연하게 발생할 수 있는 문제가, “같은 버전의 라이브러리를 다시 배포했을 때 변경사항이 반영되지 않는다”는 것입니다.Gradle 캐시를 지워야 하는 이유라이브러리를 같은 버전으로 다시 배포하거나 수정했을 경우, Gradle은 기존에 남아있는 캐시를 계속 사용Maven 저장소에서 삭제한 라이브러리를 IntelliJ 또는 Gradle에서 계속 찾을 수 있음잘못된 라이브러리 .jar 파일 때문에 예기치 못한 오류 발생Gradle 캐시가 저장되는 위치~/.gradle/caches/modules-2/files-2.1/구조 설명:~/.gradle/ └ caches/ └ modules-2/..

ETC 2025.03.27

[IDE] intellij 외부 라이브러리 검색

기본적으로 외부 라이브러리의 경우 class 명을 검색하는 것이 아니면, 내부 텍스트로는 검색이 불가능함da common 라이브러리를 사용중인데, 정작 DA에서는 전체 검색으로는 commons 텍스트를 검색할 수 없다 1.1.  외부 라이브러리 다운로드 받기외부 라이브러리 class 파일을 확인하면, 이미지와 같이 다운로드 버튼이 노출된다.검색하고자 하는 라이브러리를 다운로드단, 본인이 직접 .jar파일로 import한 라이브러리는 다운로드가 불가능하다.따라서 텍스트 검색 또한 불가능 1.2. 전체 검색 범위 설정전체 검색 범위를 프로젝트 & 라이브러리로 설정한다 1.3.  완료해당 설정을 완료하면, 외부 라이브러리 또한 Java파일로 인식하여 텍스트 검색이 가능하다...!되게 쉽지만,,, 방법찾기까지 ..

ETC 2025.03.26

Vault? Google Vault와의 차이점

"Vault"라는 이름은 다양한 서비스에서 사용되며, 각각 다른 목적과 기능을 제공합니다. 이번 글에서는 암호 저장소로서의 Vault와 Google Vault를 비교하여 어떤 차이가 있는지 정리해보겠습니다.Vault란 무엇인가?Vault는 개인이나 조직의 비밀번호와 중요한 정보를 안전하게 보관하는 무료 저장소 도구입니다. 이를 통해 데이터를 암호화하고 접근 권한을 세밀하게 제어할 수 있어 보안이 중요한 환경에서 활용됩니다.주요 특징데이터 보안: 비밀번호, API 키, 인증서 등의 민감한 정보를 암호화하여 안전하게 보호합니다.접근 제어: 사용자 인증 및 권한 부여를 통해 특정 사용자나 애플리케이션만 데이터에 접근할 수 있습니다.동적 비밀 생성: 특정 상황에 맞는 동적 비밀 생성 기능을 제공합니다.자동화 및..

ETC 2025.01.17
반응형