백엔드 면접 질문 모음
Java JVM의 구조와 Java의 실행방식 자바 가상 머신의 약자를 따서 줄여 부르는 용어 JVM의 역할은 자바 애플리케이션을 클래스 로더를 통해 읽어 자바 API와 함께 실행하는 것입니다. 메모리 관리(GC)을 수행하며 스택기반의 가상머신입니다. JVM의 구조는 Class Loader, ...
Java JVM의 구조와 Java의 실행방식 자바 가상 머신의 약자를 따서 줄여 부르는 용어 JVM의 역할은 자바 애플리케이션을 클래스 로더를 통해 읽어 자바 API와 함께 실행하는 것입니다. 메모리 관리(GC)을 수행하며 스택기반의 가상머신입니다. JVM의 구조는 Class Loader, ...
JPA Batch Insert Code public int saveAll(List<ImageInfo> imageInfoList) { int batchCount = 0; int totalSize = imageInfoList.size(); if (totalSize <= BATCH_SIZE) { insert(imageI...
10. 실행 계획
10. 실행 계획 10.1 통계 정보 MySQL 5.7 까지는 테이블과 인덱스에 대한 정보를 가지고 실행 계획을 수립했다. MySQL 8.0 부터는 인덱스되지 않은 칼럼들에 대해서도 데이터 분포도를 수집해서 저장하는 히스토그램 정보가 도입됐다. 10.1.1 테이블 및 인덱스 통계 정보 비용 기반 최적화에서 가장 중요한 지표는 통...
구현방법 에라토스테네스의 체를 이용하여 2부터 입력받은 수 중 가장 큰 숫자까지의 소수 유무를 isPrime 배열에 저장한다. 입력받은 숫자(n) 에서 i(소수)를 뺀 값(j) 가 소수이면 두개의 소수 쌍을 초기화한다 이때, 두 소수의 차이가 최소가 되는 경우를 찾아야하므로, minDifference 변수에 최소차이값을 저장하면서 루프를...
구현방법 문자열을 입력받은 후 각 문자에 대해 작동할 로직을 지정 회전하는 경우엔 방향만을 바꾸고 전진 or 후진하는 경우에는 현재 방향을 고려하여 현재 좌표(curX, curY)을 업데이트 현재 좌표(curX, curY)가 업데이트 되면 min값, max값과 비교하여 최댓값, 최솟값을 업데이트 루프가 종료되면 최종적인 min, ma...
구현방법 각 행의 가장 좌측의 블록, 가장 우측의 블록의 위치 탐색 해당 블록 사이의 빈 공간을 물로 채우고 카운트 증가 (이때 행(row)은 바닥 끝까지 탐색) Code /* Test Case 10000 76 992 3508 6427 8970 1683 2114 3762 5945 8251 8349 2672 1813 2294 462...
구현방법 각 행마다 퀸을 배치할 수 있는지 조사 만약 퀸이 같은 라인 (행 or 열)에 위치하거나 대각선에 위치하는 경우 퀸을 놓을 수 없기 때문에 dfs 재귀를 타지 않음 퀸을 배치할 수 없는 경우가 발견되지 않은 경우 -> dfs를 이용하여 다음 행에 퀸 배치 n번째 row까지 도달한 경우, 조건을 만족하므로 cnt++ ...
구현방법 맥주를 도수 레벨 순으로 정렬 우선순위 큐에 맥주의 선호도 값을 추가 (이때 선호도를 누적해서 합산) 우선순위 큐의 사이즈가 맥주의 갯수(n)과 같으면서 선호도의 총 합이 m 이상인 경우 프로그램 종료 Code package com.company.baekjoon._17503; import java.io.*; import ...
구현방법 maxIncomeArr 배열에 특정일(i)의 최대 수익을 저장 j + t[j]가 i와 같아질 때, i일의 최대수익과 j일의 최대수익 + j일의 급여를 비교하여 i일의 급여최댓값 수정 i일의 최대수익과 maxIncome 변수를 비교하여 최댓값 수정 Code package com.company.baekjoon._14501;...