본문 바로가기

반응형

신입개발자면접

(7)
[신입개발자 기술면접] 트랜잭션(transaction)이란? DB 트랜잭션(Transaction)은 데이터베이스에서 한 논리적인 작업 단위를 나타냅니다. 이 작업 단위는 하나 이상의 SQL 명령어로 구성되며, 데이터베이스에서 일관성을 유지하기 위해 원자성(Atomicity), 일관성(Consistency), 고립성(Isolation), 지속성(Durability)이라는 ACID 속성을 따릅니다. 이러한 특성들은 데이터베이스 트랜잭션의 안전하고 신뢰할 수 있는 실행을 보장합니다. 원자성(Atomicity) 트랜잭션은 원자적이어야 합니다. 즉, 트랜잭션 내의 모든 작업은 성공하거나 실패하며, 실패 시에는 트랜잭션 전체가 롤백되어 이전 상태로 돌아가야 합니다. 일관성(Consistency) 트랜잭션이 실행 전과 실행 후에 데이터베이스는 일관된 상태여야 합니다. 즉, 트..
[신입개발자 기술면접] Interface 와 Abstract 공통/차이점 인터페이스(Interface)와 추상 클래스(Abstract Class)는 모두 객체 지향 프로그래밍(OOP)에서 사용되는 개념으로, 클래스와 관련이 있습니다. 이들 간의 공통점과 차이점을 살펴보겠습니다. 공통점 추상성(Abstractness): 두 개념 모두 추상적인 개념으로, 직접적으로 객체를 생성할 수 없습니다. 인터페이스의 경우 모든 메서드가 추상 메서드이며, 추상 클래스는 추상 메서드를 가질 수 있습니다. 상속(Inheritance): 둘 다 다른 클래스에서 상속을 받아 사용됩니다. 클래스가 이미 어떤 클래스를 상속하고 있다면, 인터페이스를 구현하거나 추상 클래스를 확장할 수 있습니다. 차이점 구현(Implementation): 인터페이스: 모든 메서드가 추상 메서드이며, 구현을 제공하지 않습니..
[신입개발자 기술면접] Overloading과 Overriding 차이 "Overloading"과 "Overriding"은 객체지향 프로그래밍에서 사용되는 두 가지 다른 개념입니다. Overloading (오버로딩) Overloading은 같은 메서드 이름을 가진 여러 메서드들이 서로 다른 매개변수를 가지는 것을 말합니다. 메서드의 이름은 같지만, 매개변수의 개수, 타입, 또는 순서가 다를 수 있습니다. Overloading은 컴파일 시간에 결정되며, 컴파일러는 어떤 메서드를 호출할지 정적으로 결정합니다. public class Example { public void printMessage(String message) { System.out.println(message); } public void printMessage(int number) { System.out.print..
[신입개발자 기술 면접] Primary Key 와 Unique Key의 차이점 "Primary Key"와 "Unique Key"는 둘 다 관계형 데이터베이스에서 데이터의 유일성을 보장하는 데 사용되는 제약(Constraint)의 형태입니다. 그러나 두 키 간에는 몇 가지 중요한 차이가 있습니다. 기본 키 (Primary Key) 기본 키는 테이블에서 각 행을 고유하게 식별하는 데 사용됩니다. 기본 키는 NULL 값을 허용하지 않습니다. 즉, 각 행은 기본 키 열에 대해 NULL이 아닌 값을 가져야 합니다. 테이블당 하나의 기본 키만 가질 수 있습니다. 기본 키의 값은 반드시 고유하며, 중복된 값을 가질 수 없습니다. 기본 키로 설정된 열은 자동으로 인덱스가 생성되어 검색 속도를 향상시킵니다. 고유 키 (Unique Key) 고유 키도 기본 키와 마찬가지로 각 행을 고유하게 식별하는..
[신입개발자 기술면접] HTTP Response Status HTTP (Hypertext Transfer Protocol) 응답은 웹 서버가 클라이언트의 HTTP 요청에 대한 결과를 전송하는 메시지입니다. HTTP 응답은 상태 코드, 헤더, 본문(body)으로 구성되어 있습니다. 가장 중요한 부분 중 하나는 상태 코드입니다. HTTP 응답 상태 코드는 세 자리 숫자로 표시되며, 각 코드는 특정 의미를 나타냅니다. 일반적인 HTTP 응답 상태 코드의 범주는 다음과 같습니다: 1xx (Informational) 요청을 받았고 프로세스를 계속하고 있는 상태를 나타냅니다. 100 Continue (계속) 101 Switching Protocols (프로토콜 전환). 2xx (Success) 요청이 성공적으로 처리되었음을 나타냅니다. 200 OK (성공) 201 Creat..
[신입개발자 기술면접] HTTP / HTTPS 설명 HTTP (Hypertext Transfer Protocol)와 HTTPS (Hypertext Transfer Protocol Secure)는 웹에서 정보를 주고받기 위한 프로토콜로, 클라이언트와 서버 간의 통신을 담당합니다. 주로 웹 브라우저와 웹 서버 간의 통신에 사용되며, 웹페이지의 요청과 응답을 관리합니다. 1. HTTP (Hypertext Transfer Protocol) - 특징 - 기본적인 텍스트 기반 프로토콜로, 보안 기능이 없습니다. - 데이터가 평문으로 전송되기 때문에, 도청이나 변조의 위험이 있습니다. - 사용 - 주로 정보를 안전하게 전송할 필요가 없는 경우에 사용됩니다. - 예를 들면 뉴스 기사, 블로그 글 등의 정보를 요청하거나 전송할 때 사용될 수 있습니다. 2. HTTPS (..
[신입개발자 기술면접] TCP와 UDP 차이 TCP (Transmission Control Protocol)와 UDP (User Datagram Protocol)는 네트워크 통신에서 사용되는 두 가지 주요한 프로토콜입니다. 연결 지향성: TCP: 연결 지향적인 프로토콜입니다. 연결을 설정하기 위해 3-way handshake를 사용하며, 데이터의 전송 및 수신 확인을 위한 메커니즘이 있습니다. UDP: 비연결 지향적인 프로토콜입니다. 연결 설정이나 연결 종료 과정이 없으며, 데이터 전송 시 신뢰성이 보장되지 않습니다. 신뢰성: TCP: 데이터 전송 시 재전송, 순서 보장, 흐름 제어 및 혼잡 제어 등의 기능을 제공하여 신뢰성을 보장합니다. UDP: 신뢰성이 보장되지 않으며, 패킷 손실이나 순서 변경이 발생할 수 있습니다. 헤더 크기: TCP: 헤더..

반응형