본문 바로가기

학습 기록 (Learning Logs)/CS Study

(40)
JPA-advanced-question 공통 질문Spring Data JPA와 순수 JPA의 차이점은 무엇인가요?JPA에서 Inheritance(상속) 매핑 전략 3가지를 설명해주세요.@Embedded와 @Embeddable의 역할과 사용 사례를 설명해주세요.Inheritance vs EmbeddedLocking 전략에 대해 설명해주세요. Soft Delete를 JPA에서 구현하려면 어떻게 해야 하나요? Spring Data JPA와 순수 JPA의 차이점은 무엇인가요? spring data jpajpa를 추상화한 spring moduleinterface 기반으로 동적 쿼리를 자동 생성spring의 transaction, aop와 쉽게 통합 가능장점- 코드량 감소: jpaRepository를 상속받아 기본 메서드 사용 가능- 동적 쿼리 생성을 ..
JPA-optimized-performance 성능 최적화N+1 문제란 무엇이며, 이를 해결하기 위한 방법은 무엇인가요?@Query와 NamedQuery의 차이점을 설명해주세요.JPA에서 캐싱 전략은 어떻게 구현할 수 있나요?JPA에서 Batch Insert/Update를 사용하는 방법은 무엇인가요? N+1 문제란 무엇이며, 이를 해결하기 위한 방법은 무엇인가요? N+1 문제란?- jpa에서 연관된 data를 가져올때 FetchType.Lazy로 가져올때 발생하는 성능 문제- 하나의 entity를 조회할때 --> 연관된 entity를 조회하기 위해 N번의 추가 쿼리가 발생하는 문제List teams = em.createQuery("SELECT t FROM Team t", Team.class).getResultList();for (Team team :..
JPA-features 공통 질문JPA의 생명주기(Lifecycle)에 대해 설명해주세요.영속성 컨텍스트에서 1차 캐시의 역할은 무엇인가요?JPA의 dirty checking(변경 감지)은 어떻게 동작하나요?JPQL(Java Persistence Query Language)이란 무엇인가요? 기본 SQL과의 차이점을 설명해주세요.Criteria API란 무엇이며, JPQL과 비교했을 때의 장단점을 설명해주세요. JPA의 생명주기(Lifecycle)에 대해 설명해주세요. Transient(일시적, 순간의)비영속 : persistent context에 없을 때 Persistent(고집센, 지속의) 영속 : persistent context 저장되었을 때- em.persist()로 영속성 컨텍스트에 저장됨 Detached(분리된) 준..
JPA-mapping 엔티티와 매핑@Entity와 @Table의 차이점을 설명해주세요.@Id와 @GeneratedValue의 차이점과 사용 방법을 설명해주세요.JPA에서 지원하는 연관관계 매핑 종류를 설명하고, 각 연관관계의 차이점을 설명해주세요.FetchType.LAZY와 FetchType.EAGER의 차이점은 무엇인가요? 어떤 상황에서 각각을 사용하는 것이 적합한가요?JPA에서 @JoinColumn과 @MappedBy의 차이를 설명해주세요. @Entity와 @Table의 차이점을 설명해주세요. @Entityjpa에서 entity class 임을 선언하는 어노테이션테이블과 매핑되는 class에 반드시 선언 @Tabledb table 이름과 mapping을 지정하는 어노테이션 name: 매핑할 테이블 이름을 지정합니다.sch..
JPA-default 공통 질문JPA란 무엇이며, 왜 사용하는지 설명해보세요.ORM(Object-Relational Mapping)이란 무엇인가요? 장단점을 설명해주세요.JPA와 Hibernate의 차이점은 무엇인가요?Entity란 무엇이며, 어떤 경우에 사용하는지 설명해주세요.JPA에서 영속성 컨텍스트(Persistence Context)의 역할은 무엇인가요? JPA란 무엇이며, 왜 사용하는지 설명해보세요. JPAjava persistence api자바 영속(끈기,고집)자바 진영의 ORM 기술 표준인터페이스 모음  개발자 == SQL mapper그래서 그 중간에서 해석을 개발자가 해주는데, 개발자가 하지 않고 객체 -> SQL 변환 -> SQL -> RDBobject 방식으로 programming을 하면 db명령어를 만들어..
database 공통 질문RDB와 NoSQL DB의 차이점을 설명해주세요.데이터베이스에서 인덱스를 사용하는 이유와 인덱스가 성능에 미치는 영향을 설명해주세요.트랜잭션(Transaction)이 무엇이며, ACID 특성을 설명해 주세요.데이터베이스에서 JOIN의 개념과 사용 사례를 설명해주세요.외래 키(Foreign Key)와 참조 무결성(Referential Integrity)에 대해 설명해주세요.데이터베이스 샤딩(Sharding)이란 무엇인가요?데이터베이스에서 파티셔닝(Partitioning)을 적용하는 이유를 설명하고, 수평/수직 파티셔닝의 차이점을 설명해주세요.   RDB와 NoSQL DB의 차이점을 설명해주세요. 1. 데이터 모델Relational Database각 데이터를 테이블 형식으로 저장(행, 열)테이블은 ..
C, C++, C# 차이 질문C언어와 C++ 차이가 뭔가요? C++ 개발자가 두명이 있어서,C언어와 C++ 차이가 뭐냐고 물어봤다.궁금해서 정리해보려한다. C++언어와 C# 차이가 뭔가요? c언어는 절차 지향 프로그래밍 언어c++ 객체 지향 프로그래밍 언어이다.java는 객체 지향 프로그래밍 언어이다. 개인적 생각:따라서 코드를 보면 c언어는 함수 나열로만 되어있어서 import를 해오는 부분이 많다.반면 java에서는 객체를 선언하고, 객체 안에 있는 함수를 불러다가 사용하기 떄문에 어디서 어떤 함수가 실행되는지 파악하기 쉽다. c와 c++차이는 결국 oop차이로 생각하면 될 듯 하다.  더더욱 사용하기 편하게! java처럼 만든것이 C#이다.    C 예제: 학생의 성적을 계산하는 프로그램#include // 함수 선언voi..
운영체제 공통 질문프로세스와 스레드 차이멀티스레딩과 동기화 문제 (뮤텍스, 세마포어, 데드락)CPU 스케줄링 알고리즘 (FCFS, SJF, Round Robin 등)메모리 관리 (페이징, 세그멘테이션, 가상 메모리)파일 시스템 및 I/O 관리1. 프로세스와 스레드 차이프로세스독립적인 실행 단위운영체제에서 실행중인 프로그램독립적인 메모리 공간(코드, 데이터, 스택, 힙)프로세스와 프로세스는 메모리를 공유하지 않음 스레드프로세스 내에서 실행되는 작은 실행 단위동일 프로세스내에서 메모리(코드, 데이터,힙)공유스레드별로 스택, 레지스터 소유동기화 문제가 발생할 수 있음  2. 멀티스레딩과 동기화 문제  동시성은 cpu에서 여러 프로세스를 처리할때병렬성은 프로세스에서 여러 스레드가 실행될때 발생한다   멀티스레드멀티스레딩..