본문 바로가기

CS 면접준비7

DataStructure [Q] Array vs List [A] Array는 일반적으로 고정된 크기의 데이터 구조입니다. 배열을 생성할 때 크기를 지정하고, 그 크기만큼의 요소를 저장할 수 있습니다. 배열 내의 각 요소는 인덱스를 통해 접근할 수 있으며, 인덱스는 일반적으로 0부터 시작합니다. 배열은 연속된 메모리 공간에 요소를 저장하므로 특정 인덱스의 요소에 빠르게 접근할 수 있습니다. List는 동적으로 크기가 조정될 수 있는 데이터 구조입니다. 요소를 추가하거나 제거할 수 있으며, 크기를 자유롭게 조절할 수 있습니다. 리스트는 보통 다양한 데이터 유형을 포함할 수 있으며, 요소들은 순서대로 저장됩니다. Array는 데이터의 추가/삭제가 느리며 데이터 조회가 빠르고, List는 데이터의 추가/삭제가 빠르며 데이터의 조회가 느.. 2023. 10. 1.
Network [Q] HTTP 특징 및 장단점 [A] HTTP(Hyper Text Transfer Protocol)란 데이터를 주고 받기 위한 프로토콜이며, 서버/클라이언트 모델을 따릅니다. HTTP는 클라이언트의 상태 정보를 저장하지 않는 Stateless의 특징과 클라이언트의 요청에 맞는 응답을 보낸 후 연결을 끊는 Connectionless의 특징을 가지고 있습니다. 장점으로는 통신간의 연결 상태 처리나 상태 정보를 관리할 필요가 없어 서버 디자인이 간단하고, 각각의 HTTP 요청에 독립적으로 응답만 보내주면 되어 최소한의 자원으로 서버를 유지할 수 있어 확장성이 있습니다. 단점으로는 이전 통신의 정보를 기억하지 않기 때문에 매번 인증을 해줘야 합니다. 이를 해결하기 위해 쿠키(cookie)나 세션(session.. 2023. 10. 1.
DB DB [Q] Data, Information란? [A] 데이터(Data, 자료)는 현실 세계에서 측정하고 수집한 사실이나 값이고, 정보(Information)는 어떠한 목적이나 의도에 맞게 데이터를 가공 처리한 것입니다. 어떤 의미나 목적을 포함하지 않고 단순 수집된 원시 자료가 데이터, 어떤 목적이나 의도에 따라 데이터를 처리하고 분석하여 데이터에 의미를 부여한 것이 정보입니다. [Q] Database란? [A] 데이터베이스(DB)는 여러 사람이 공유하고 사용할 목적으로 관리되는 정보입니다.즉, 통합 관리되는 데이터의 저장소입니다. [Q] DBMS(Database Management System)란? [A] DB를 ‘데이터의 집합’이라 한다면 DB를 관리하고 운영하는 소프트웨어를 DBMS(Databas.. 2023. 9. 20.
SPRING SPRING [Q] Spring Framework란? [A] 스프링 프레임워크는 자바 개발을 편리하게 해주는 오픈소스 프레임워크 입니다. Spring Framework의 첫번째 특징은 경량 컨테이너로서 객체 생성, 소멸과 같은 라이프 사이클을 관리하며 스프링으로부터 필요한 객체를 얻어올 수 있습니다. 두번째 특징은 컨트롤의 제어권이 사용자가 아닌 프레임워크에 있어 필요에 따라 스프링에서 사용자의 코드를 호출는 제어의 역전(IoC)을 통해 어플리케이션의 결합도를 낮춥니다. 세번째 특징은 의존성 주입(DI, Dependency Injection)을 지원하여 각각의 계층이나 서비스들 간에 의존성이 존재할 경우 프레임워크가 서로 연결시켜줍니다. 마지막으로 관점 지향 프로그래밍(AOP, Aspect-Oriente.. 2023. 9. 13.
JAVA [Q] 자바의 특징 [A] Java는 객체지향언어이기 때문에 캡슐화, 상속, 다형성, 추상화의 특징을 가집니다. JVM을 이용하기 때문에 운영체제에 독립적이고 GC를 지원합니다. [Q] JAVA의 장단점 [A] 장점은 JVM(자바가상머신) 위에서 동작하기 때문에 운영체제에 독립적이고 GabageCollector를 통한 자동적인 메모리 관리가 가능합니다. 단점은 JVM 위에서 동작하기 때문에 실행 속도가 상대적으로 느리고 다중 상속이나 타입에 엄격합니다. [Q] JVM이란 (Java Virtual Machine) [A] JVM이란, 자바 가상 머신(Java Virtual Machine)의 약자로, 컴퓨터가 자바 바이트 코드를 운영체제에 맞게 실행시키는 역할을 수행하여 플랫폼 독립적 특성을 가지고 있고 가비.. 2023. 9. 12.
Sevlet 1. 서블릿이란? 클라이언트의 요청을 처리하고, 그 결과를 반환하는 Servlet 클래스의 구현 규칙을 지킨 자바 웹 프로그래밍 기술 2. jsp 호출 시 구동과정과 서블릿 생명주기 2-1. 구동과정에서 무엇을 통해 구동되는지 3. init() service() destroy()의 사용 용도 3-1. init() service() destroy()란? 4 HttpServletRequest, HttpServletResponse 객체란? 5. 쿠키와 세션의 개념과 사용 용도 2023. 8. 27.
Java 1. 인스턴스 변수, 전역 변수(클래스 변수), 지역 변수의 정의와 차이 # 클래스 변수와 인스턴스 변수는 멤버변수라고도 함 인스턴스 변수 객체지향 프로그래밍에서 사용 클래스 내부의 멤버 변수로 선언하여 사용 클래스의 생성자를 통해 초기화 되고 해당 클래스의 모든 인스턴스에서 사용가능 객체 생성 없이는 사용 불가능 각 인스턴스 마다 서로 다른 값을 가질 수 있음 인스턴스마다 독립적으로 존재하며 객체의 상태를 나타내는 데 사용 public class MyClass { int instanceVariable; // 인스턴스 변수 선언 public MyClass(int value) { instanceVariable = value; // 생성자를 통해 인스턴스 변수 초기화 } } 전역 변수(클래스 변수) java.. 2023. 8. 23.