250213 TIL #611 모의 면접 질의응답

김춘복·2025년 2월 13일
0

TIL : Today I Learned

목록 보기
613/627

Today I Learned

면접 가기 전 퍼플렉시티로 모의 면접 훈련을 했다.
간단한 질의응답 정리!


면접 준비

1. AOP가 무슨 개념인지?(스프링 aop 말고 관점 지향 프로그래밍)

횡단 관심사(로깅, 보안, 트랜잭션 등)를 핵심 비즈니스 로직에서 분리하여 모듈화하는 프로그래밍 패러다임입니다
OOP를 보완하는 기술로, 공통 기능을 별도의 "Aspect"로 분리하여 코드의 재사용성과 유지보수성을 높입니다

2. 스프링 컨테이너와 빈 생명주기

스프링 컨테이너는 빈 객체를 관리한다. 싱글톤으로 제공하고 주입하는거 뿐만 아니라 객체의 생성과 소멸, 즉 생명주기를 관리
스프링 컨테이너 초기화 시점에 빈 객체 생성 -> 스프링 컨테이너가 빈 객체간 의존 관계 설정(생성자 주입) -> 빈 객체 초기화 -> 빈 객체 사용 -> 빈 객체 소멸 및 스프링 컨테이너 종료

3. bean의 scope?

싱글톤에서는 컨테이너 시작부터 종료까지 유지.

4. 인증과 인가의 차이

인증 - 사용자 확인 / 인가 - 확인된 사용자의 접근 권한 확인

5. 인덱스에 대한 설명

DB 테이블 검색 속도를 향상시키기위한 자료구조.
추가적인 저장 공간을 사용해 데이터 조회 성능 개선. 데이터 검색시 전체를 스캔하지 않고 빠르게 접근하게 도와줌

6. 리버스 인덱싱

키값 역전시켜 저장하는 인덱스 방식. 분산을 크게 높여서 멀리 떨어트려 저장하는 방식으로 랜덤 엑세스 효율이 향상된다.

7. orm안쓰고 직접 쿼리 작성하는 이유?

ORM으로 구현하기 어려운 복잡한 쿼리는 직접 작성하는게 더 효율적이다

8. ooath 2.0 과정

유저가 비밀번호 제공하지 않고 인증할 수 있도록 하는 기능
유저-서비스-인증서버-리소스서버
로그인 요청을 하면 인증서버로 보내서 소셜 로그인을 하면 인증서버가 인증 코드를 주는데 이걸 서비스가 redirect로 받아서
access token을 발급받는다. 서비스에 필요한 리소스가 있으면 이 엑세스 토큰 사용해 리소스서버에 요청한다.
리프레시 토큰을 엑세스 토큰 줄때 같이 줘서 쓰기도한다.

9. 자바와 파이썬 비교. 파이썬이 느린 이유?

자바는 컴파일언어, 대규모 애플리케이션용, 정적 타이핑 언어
파이썬은 인터프리터, 데이터분석용, 동적 타이핑
인터프리터 방식과 동적 타이핑으로 인해 속도가 느릴것
멀티 쓰레딩을 막는 GIL 기능이 있어서 더 느리다.

10. 도커를 프로젝트 어디에 활용할건지

개발환경 표준화, 배포 자동화, 마이크로서비스 구축(서비스별 독립 컨테이너)

15. ci와 cd 차이점

ci(지속적 통합)는 코드 변경을 빌드/테스트해서 통합하는 과정
cd(지속적 배포)는 프로덕션 환경까지 배포

16. db join 방법

inner : 두 테이블에서 조건 만족하는 데이터만
outer
left : 왼쪽테이블의 데이터를 기준으로 합침. 불일치시 null
full outer : 양쪽 테이블의 모든 데이터
cross join : 두 테이블의 모든 가능한 조합

profile
Backend Dev / Data Engineer

0개의 댓글

관련 채용 정보