코드 짜는 티모

IT 기술 실무 면접 관련 기본 질문_1 본문

이것저것

IT 기술 실무 면접 관련 기본 질문_1

나무뒤에티모 2023. 11. 28. 13:31
반응형

백엔드 자바 개발자 면접 질문과 답변

1. Java 기초

1.1 Java의 Garbage Collection은 무엇이며 어떻게 작동하나요?

  • Garbage Collection은 자바의 메모리 관리 기술로, 더 이상 사용되지 않는 객체를 자동으로 식별하고 해제합니다. 주로 JVM의 일부로 작동하며, Young, Old, Permanent 영역 등의 세부 영역으로 구분됩니다.

1.2 Java에서 인터페이스와 추상 클래스의 차이는 무엇인가요?

  • 인터페이스는 다중 상속이 가능하고, 모든 메서드는 추상 메서드입니다. 반면에 추상 클래스는 단일 상속만 가능하고, 추상 메서드 외에도 일반 메서드를 가질 수 있습니다.

2. 데이터베이스 및 ORM

2.1 Spring에서 JPA를 사용하여 데이터베이스와 어떻게 상호 작용하나요?

  • JPA는 자바 객체와 데이터베이스 간의 매핑을 담당합니다. Spring에서는 @Entity 어노테이션을 사용하여 JPA 엔터티를 정의하고, Repository 인터페이스를 통해 CRUD 작업을 수행합니다.

2.2 트랜잭션 관리에 대해 설명해주세요.

  • 트랜잭션은 데이터베이스에서 일관성을 유지하기 위한 논리적인 작업의 단위입니다. Spring에서는 @Transactional 어노테이션을 사용하여 트랜잭션 경계를 설정하고, 롤백 조건을 지정할 수 있습니다.

3. 웹 서비스 및 프레임워크

3.1 Spring Boot와 Spring MVC의 차이는 무엇인가요?

  • Spring Boot는 스프링 애플리케이션을 빠르게 개발하고 구성하기 위한 도구이며, 내장된 웹 서버와 간편한 설정으로 개발 생산성을 높입니다. Spring MVC는 스프링에서 웹 애플리케이션을 개발하기 위한 모듈로, 모델-뷰-컨트롤러 패턴을 사용합니다.

3.2 RESTful 웹 서비스를 설계하는데 어떤 원칙을 고려해야 하나요?

  • RESTful 웹 서비스를 설계할 때는 URI의 명명 규칙을 따르고, HTTP 메서드를 적절하게 사용하여 리소스를 다루어야 합니다. 또한 상태를 관리하지 않고, 자원을 표현하는 데에 초점을 맞추어야 합니다.

4. 보안과 성능 최적화

4.1 Spring Security를 사용한 보안 설정에 대해 어떻게 생각하나요?

  • Spring Security를 사용하여 인증 및 권한 부여를 설정할 때, 사용자 정보를 안전하게 저장하고 인가된 사용자만이 특정 리소스에 접근할 수 있도록 설정합니다. HTTPS를 사용하여 통신을 암호화하는 것도 중요합니다.

4.2 성능 최적화를 위한 여러 전략은 무엇인가요?

  • 성능 최적화를 위해 데이터베이스 쿼리를 최적화하고, 캐싱을 활용하며, 불필요한 네트워크 호출을 줄이는 등의 전략을 사용합니다. 또한 모니터링 도구를 활용하여 성능 이슈를 식별하고 해결합니다.

5. 기타

5.1 협업에서 Git을 사용하는데 자주 사용하는 명령어는 무엇인가요?

  • 자주 사용하는 Git 명령어로는 git clone, git pull, git push, git branch, git commit, git merge 등이 있습니다.
반응형
Comments