본문 바로가기
면접

[면접] 기술면접 대비하기 - 개발 기술 관련

by 공덕뉸나 2024. 3. 12.

오늘은 개발 기술관련 질문에 대비하여 포스팅 하려고 한다.

질문에 대한 답은 Java와 SpringBoot 기반의 백엔드 REST API 개발을 하고 있는 내 기준으로 예시를 적어보았다.

 

Q1. 프로젝트에서 어떤 것을 개발했고, 사용한 기술은 무엇이었나요?

 

Q2. 어떤 웹 개발 프레임워크 또는 라이브러리를 주로 사용하는지?

A. SpringBoot를 사용합니다. Java 기반의 백엔드 웹 개발에 매우 인기있는 프레임워크 중 하나이며, 안정성과 학장성을 갖추고 있습니다.

 

Q3. 자바스크립트 프레임워크(React, Vue.js)에 대한 경험은 어떠한지?

A. Vue.js에 대한 경험이 있습니다. Vue.js를 사용하여 백오피스 프론트엔드 개발을 하였습니다. Vue.js는 반응성 시스템을 제공하여 데이터의 변경을 감지하고 UI를 자동으로 업데이트하는데 도움이 됩니다.

Vue Router 및 Vuex와 같은 Vue.js의 추가 기능을 활용하여 상태 관리 및 라우팅을 처리하였습니다.

 

Q4. 백엔드 개발에 어떤 언어와 프레임워크를 주로 사용하는지?

A. 백엔드 개발에 Java, SpringBoot를 주로 사용합니다.

SpringBoot는 빠르고 간편한 웹 애플리케이션 개발을 지원합니다.

SpringBoot의 주요 특징 중 하나는 설정이 간소화되어 있어 개발자가 프로젝트를 빠르게 시작할 수 있다는 점입니다. 또한 내장형 서버를 제공하여 별도의 웹 서버 설정 없이도 쉽게 애플리케이션을 배포할 수 있습니다

SpringBoot를 사용하여 다양한 프로젝트를 개발한 경험이 있으며 주로 RESTful API를 구축하고 데이터베이스와의 상호 작용을 처리했습니다. SpringBoot의 Spring Data JPA와 Querydsl을 활용하여 데이터베이스와의 CRUD 작업을 수행하고 Spring Security, JWT를 통해 보안 기능을 구현하는 등 다양한 기능을 활용하였습니다.

많은 개발자들이 사용하는 인기 있는 프레임워크이기 때문에 관련 자료와 문서가 풍부하며, 커뮤니티의 지원을 받을 수 있습니다. 

 

Q5. 데이터베이스와의 상호 작용에 대해 설명해주세요.

A. SpringBoot와 JPA를 사용하여 데이터베이스와의 상호작용을 구현했습니다.

엔티티를 정의하고 JPA 어노테이션을 사용하여 데이터베이스와의 매핑을 지정했습니다.

Querydsl을 활용하여 검색 기능이나 페이징 처리 등 동적 쿼리를 작성하고 실행했습니다.

Spring Data JPA를 사용하여 CRUD 작업을 수행하였습니다.

 

Q6. 최근에 극복한 기술적 도전과제가 있나요? 어떻게 해결했나요?

A. 개인 프로젝트를 진행하면서 Spring Boot 및 Java의 버전을 업그레이드 하였습니다.

이전 버전과 호환되지 않는 새로운 기능들과 더이상 사용되지 않는 (deprecated) 기능들을 다루는 것에 약간의 어려움이 있었습니다.

SpringBoot 및 Java의 공식 문서와 블로그 등을 참고하여 변경 사항을 파악하였습니다.

deprecated된 기능을 대체할 수 있는 새로운 방식을 찾아 적용하여 REST API를 만든 후 swagger를 적용하고 테스트를 수행하여 기능이 예상대로 작동하는지 확인하였습니다.

업그레이드 된 버전에 대한 변경 사항이나 주의 사항을 블로그에 문서화화여 참고하고 있습니다.

 

Q7. 기술적으로 배우고 있는 것이 있나요? (새로운 언어, 프레임워크, 기술 등)

A. 현재 저는 JPA 프로그래밍에 대하여 복습 및 블로그를 통한 문서화를 하고 있으며 Java 알고리즘에 대하여 학습을 하고 있습니다.

또한, 개인 프로젝트를 통해 SpringBoot와 Java 버전을 업그레이드하고 API를 구현하는 과정에서 실전 경험을 쌓고 있습니다. 이러한 활동을 통해 JPA 및 데이터베이스 관련 기술에 대한 전문성을 향상시키고, 동시에 알고리즘과 자료 구조에 대한 이해를 높이려 하고 있습니다.