반응형

Small talk/면접 준비 11

[DB] 신입 개발자의 면접 준비

PK와 FK, ERD란? PK: 테이블에서 각 행을 유일하게 구분해주는 칼럼 key로 중복과 NULL값이 불가능한 키 FK: 외래키라고 불리며, 테이블에 있는 하나의 컬럼으로 의미를 표현할 수 없는 경우, 다른 테이블의 PK의 값을 반드시 참조하여 표현하는 key ERD: 요구사항으로부터 구성된 Entity와 Attribute, Relation으로 기술하는 데이터 모델 Entity: 단독으로 존재하는 객체 Attribute: 개체가 갖는 속성, 특징 Relation: 객체와 객체간의 관계를 뜻하며 1:1, 1:N, N:M관계 참조 무결성이란? 기본키와 참조키 간의 관계가 항상 유지됨을 보장하는 것. 테이블의 행을 참조하는 참조키가 존재하는 한 삭제될 수 없고, 기본키도 변경할 수 없다. RDBMS, 관계..

[Java] 신입 개발자의 면접 준비

String, StringBuilder, StringBuffer의 차이를 설명해보세요. - String 객체는 immutable 합니다. 즉, 한번 생성이 되면 변경이 불가능합니다. 반면에, StringBuilder와 StringBuffer의 차이점은 멀티쓰레드 상태에서 동기화의 지원 여부가 다릅니다. StringBuffer는 멀티쓰레드 환경에서 동기화를 보장하지만, StringBuilder는 동기화를 보장하지 않습니다. 추가적으로 설명하자면, String과 StringBuilder는 원래 문자열을 합치는 과정에서 성능차이가 있었지만, JDK 1.5버전 이후부터는 String을 "+"연산할 경우, 동적으로 StringBuilder로 컴파일하여 실행되므로 성능차이가 사라졌습니다. 객체지향 프로그래밍(OOP..

신입 개발자 직무면접 정리 - 알고리즘편

정렬 정렬이란 오름차순 또는 내림차순처럼 기준을 잡고 데이터를 재배열하는 것을 말합니다. 염두해야할 사항은 정렬할 데이터의 양, 메모리 상태, row data의 정렬된 정도. 선택 정렬 첫 번째 원소에서 시작해 배열 전체를 훑으면서 가장 작은 키를 가지는 원소를 찾아 첫 번째 원소와 맞바꾼다. 시간 복잡도: O(N^2) 삽입 정렬 한 번에 한 원소씩 이미 정렬된 다른 원소들과 비교하여 새 원소를 제 위치에 삽입하는 방식. 이미 정렬된 리스트의 경우 시간 복잡도는 O(N), 평균적으로 O(N^2) 안정적인 정렬방법으로 소량의 데이터의 경우 최적. 퀵 정렬 데이터 집합 내에서 pivot값을 고릅니다. 이를 기준으로 두 개의 집합으로 나눠서 한 쪽 집합에는 피벗 값보다 작은 것만, 다른 집합은 큰 것만 넣습니..

신입 개발자 직무면접 준비 - DB편

RDMBS란? 관계형 DB를 생성, 수정하고 관리하는 System, 여기서 관계형 DB란 모든 데이터를 2차원의 테이블 형태로 표현할 수 있는 DB를 의미합니다. DB 트랜잭션 DB의 상태를 변화시키는데 있어서 작업의 단위, 한꺼번에 모두 수행되어야하는 일련의 과정들을 의미. (ex. 결제시스템) 원자성, 일관성, 독립성, 지속성이라는 특징과 DB에 저장될 값들과 실제 존재하는 사물과의 정확도를 의미하는 무결성의 특징이 있다. 인덱스란? 데이터 레코드를 빠르게 접근하기 위해 로 구성되는 데이터 구조. 파일의 레코드에 빠르게 액세스할 수 있습니다. 기본키를 위한 인덱스를 기본 인덱스라 하며 이외에도 비트맵, 함수 기반, 트리기반 인덱스 등이 있습니다. SQL의 분류 DDL 스키마, 도메인, 테이블 등을 정..

신입 개발자 직무면접 준비 - 웹과 통신

HTTP란? Hyper Text Transfer Protocol의 약자로 서로 다른 시스템들 사이에서 통신을 주고받게 하는 프로토콜. HTTP 요청의 흐름(웹 브라우저) 브라우저 (Http 요청 메세지) OS (DNS서버를 조회해 IP주소로 변환) 프로토콜 스택 (메세지를 패킷에 저장) LAN어댑터 (메세지를 전기신호로 변환) 라우터 (이 패킷을 엑세스 회선에 전달) 엑세스 회선 (패킷이 통신사용 라우터에 전달) 방화벽 (패킷을 검사) 웹 서버 (요청에 대한 비즈니스 로직을 수행해서 응답 데이터를 회송) HTTP 통신 과정 (클라이언트 - 서버 프로토콜) Client가 HTTP 요청을 서버에 보내면, 서버는 요청을 처리하기위해 비즈니스 로직을 수행합니다. 수행한 결과에 따른 HTTP 응답을 다시 Clie..

신입 개발자 직무면접 정리 - 운영체제편

운영체제 운영체제는 시스템의 자원들을 효율적으로 관리하고, 사용자가 컴퓨터를 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임이다. 주요 자원으로 프로세스, 기억장치, 주변장치, 파일 관리를 수행합니다. 프로세스와 스레드 프로세스 실행 중인 프로그램. 디스크에서 메모리로 적재되어 CPU자원을 할당받을 수 있는 것을 말한다. 프로세스에 할당되는 메모리 안에는 스택, 힙, 데이터, 코드 영역을 포함한다. simple) 사용자가 어떤 프로그램을 실행시키면 메모리에 올라오게 되고 CPU가 이를 처리하게 된다. 이때 프로그램이 메모리에 올라와있는 상태를 프로세스라고 한다. PCB Process Control Block의 약자로 프로세스 제어 블록. 프로세스에 대한 중요한 정보를 저장하고 있다. 운영체제가 프..

반응형