기술면접 7

디자인 패턴

디자인 패턴자주 사용하는 설계 패턴을 정형화해 유형별로 가장 최적의 방법으로 개발을 할 수 있도록 정해둔 설계프로젝트 상황에 맞춰 적용 가능 Gof 디자인 패턴객체지향 개념에 따른 설계중 재사용할 경우 유용한 설계를 디자인 패턴으로 정해 둔 것  - 디자인 패턴 장점개발자간의 원활한 소통소트프웨어 구조 파악 용이재사용을 통한 개발 시간 단축설계 변경 요청에 대한 유연한 대처 - 디자인 패턴 장점객체지향 설계 / 구현초기 투자 비용 부담  - 생성 패턴객체를 생성하는 것과 관련객체의 생성과 변경이 전체 시스템에 미치는 영향을 최소화, 코드의 유연성을 높여줌Factory MethodSingletonPrototypeBuilderAbstract FactoryChaining  - 구조 패턴프로그램 내의 자료구조나..

네트워크

!? HTTP 프로토콜에 대해 설명해주세요 HTTP(Hyper Text Transfer Protocol) 이란 데이터를 주고 받기 위한 프로토콜이고, 서버/클라이언트 모델을 따릅니다. HTTP 는 상태 정보를 저장하지 않는 Stateless 의 특징과 클라이언트 요청에 맞는 응답을 보낸 후 연결을 끊는 Connectionless 의 특징을 가지고 있습니다. 장점 통신간의 연결 상태 처리나 상태 정보를 관리할 필요가 없어 서버 디자인이 간단합니다. 각각의 HTTP 요청에 독립적으로 응답만 보내주면 됩니다. 단점 이전 통신의 정보를 모르기 때문에 매번 인증을 해줘야합니다. 이를 해결하기 위해 쿠키 (cookie) 나 세션 (session) 을 사용해 데이터를 처리합니다. !? HTTP와 HTTPS의 차이점은..

자바, 객체지향, 스프링

⁉️ 자바의 특징은? 자바는 객체지향 프로그래밍 언어로, 컴파일 언어인 동시에 인터프리터 언어이기도 합니다. JVM (자바 가상 머신) 위에서 실행되기 때문에 운영체제에 독립적입니다. 또한, 객체 생성시 자동으로 메모리 영역을 찾아 할당하고, GC (Gabage Collector)를 통해 사용하지 않는 객체를 삭제해 메모리를 자동으로 관리합니다. 하지만, 자바 실행시 JVM 을 거쳐야하므로, 다른 언어에 비해 실행 속도가 느립니다. 다른 언어에 비해 작성해야 하는 코드의 길이가 긴 편입니다. ⁉️ JVM 이란? 어떤 기능? JVM 은 스택기반으로 동작합니다. 자바와 운영체제 사이에서 중개자 역할을 수행하여 운영체제에 구애받지 않고 재사용을 가능하게 해줍니다. 메모리관리, GC (Gabage Collect..

DBMS 정의

DBMS 정의 데이터베이스와 DBMS의 차이에 대해서 설명해 보세요 DBMS의 주요 기능은 무엇이 있을까요? DBMS의 주요 구성요소에 대해서 설명해 보세요 데이터베이스와 DBMS 의 차이는? 데이터베이스: 데이터의 저장소, 데이터를 통합 저장하고 운영하는 집합체 DBMS: 데이터베이스를 생성하고, 효율적으로 관리하기 위한 관리 시스템 DBMS 개념 Database Mnagement System 데이터베이스를 관리하기 위한 매니지먼트 시스템 일반 파일 시스템 문제점인 종속성과 중복성을 해결하기 위해 고안됨 응용 어플리케이션과 데이터 사이의 중재자 역할 (Software System) 주요 기능 사용자 간의 권한 통제 (데이터 접근 통제) 데이터의 일관성과 무결성 보장 데이터를 표준화하고, 통합 관리 가능..

데이터 독립성

데이터 독립성 데이터 독립성이란 무엇일까요? 논리적 독립성과 물리적 독립성에 대해서 설명해 보세요 데이터 독립성의 필요성에 대해서 설명해 보세요 데이터 독립성 하위 단계의 데이터의 논리적, 물리적 구조가 변경되어도 상위 단계에 영향을 미치지 않도록 구성하는 데이터베이스 특징 필요성 유지보수 비용 증가 테이터 복잡도 증가 데이터 중복성 증가 요구사항 대응 저하 독립성 내용 목적 논리적 독립성 ▪️ 데이터베이스의 논리적 구조를 변경시키더라도 기존 응용 프로그램에 영향을 주지 않는 것(응용 프로그램과 자료구조를 독립시키는 것) ▪️ 데이터베이스 관리시스템이 하나의 논리적데이터 구조를 가지고 많은 응용 프로그램이 제 각각 요구하는 다양한 형태의 논리적 구조로 사상(Mapping)시켜 줄 수 있어야 함 ▪ 사용자..

데이터베이스

⁉ 데이터베이스란? 사용하는 이유? 데이터베이스는 데이터의 집합체를 의미합니다. 구조화된 방식으로 저장해 효율적으로 접근하고 관리할 수 있습니다. 데이터베이스를 사용하는 이유 구조화된 방식으로 데이터를 저장 (대용량의 데이터를 효율적으로 관리) 데이터의 무결성 (일관성 있게 유지) 데이터의 중복 최소화 ⁉ DBMS 란? DBMS 는 데이터베이스 관리 시스템 (Database Management System) 의 약자로, 여러 사용자가 데이터베이스에 접근해 사용할 수 있도록 제공해주는 소프트웨어입니다. ⁉️ 데이터베이스와 DBMS의 차이에 대해 설명해 보세요 ⁉ 데이터베이스 스키마란? 데이터베이스의 구조와 제약 조건에 관한 전반적인 표현을 나타냅니다. 스키마는 3가지로 분류됩니다. 외부 스키마 (Exter..

운영체제

⁉️ OS (운영체제)란? 하드웨어, 시스템 리소스를 제어하고 프로그램에 대한 일반적 서비스를 지원하는 시스템 소프트웨어입니다. ⁉️ 커널이란? 커널은 운영체제에서 핵심이 되는 부분으로 컴퓨터의 하드웨어들을 관리하는 역할을 합니다. 이 커널은 user와 대화를 할 수 없으며, 컴퓨터의 관련된 일만 할수있습니다. 그래서 user와 대화하기 위해서는 쉘(shell)을 사용합니다. ⁉️ 메모리의 구조를 영역에 따라 설명 프로세스의 주소 공간은 코드 (code), 데이터 (data), 스택 (stack), 힙 (heap) 영역으로 구성됩니다. 코드 (code, text) 영역 : 사용자가 작성한 프로그램 함수들의 코드가 CPU에서 수행할 수 있는 기계어 명령 형태로 변환되어 저장되는 공간입니다. 데이터 (dat..