[CS] 전산학 지식 QnA (GPT4)

김현수·2023년 11월 22일
0

WEB

목록 보기
6/18


🖍️ 전산학 지식 정리 QnA


Q. 알고리즘이란?

  • 유한한 수의 단계로 문제를 해결하거나 계산을 수행하기 위한 일련의 지침

Q. 데이터 구조란?

  • 데이터 구조는 효율적으로 액세스하고 수정 가능한 컴퓨터에서 데이터 구성하고 저장한 방법

Q. Big O 표기법?

  • Big O 표기법은 입력 크기가 커짐에 따라 알고리즘의 시간 또는 공간 복잡도의 상한율

Q. 재귀란?

  • 문제 해결을 위해 함수가 자신을 호출하는 프로그래밍 기술

Q. 객체 지향 프로그래밍의 기본 원칙은?

  • 캡슐화, 추상화, 상속 및 다형성 포함




Q. 문서 객체 모델 (DOM) 은?

  • 문서용 프로그래밍 인터페이스
  • 페이지를 객체의 계층적 트리로 나타냄
  • 개발자가 콘텐츠, 구조 및 스타일 수정 가능

Q. JS 에서 '==' 과 '===' 차이는?

  • '==' 는 유형 강제를 수행하는 항등 연산자
  • '===' 는 유형 강제가 없는 완전 항등 연산자

Q. JS 에서 이벤트 버블링이란?

  • 이벤트가 가장 구체적인 요소에서 시작
  • 덜 구체적인 요소로 위쪽으로 흐르는 HTML DOM 의 이벤트 전파 방법

Q. CSS 의 상자 모델은?

  • 여백, 테두리, 패딩 및 콘텐츠 자체로 구성된 모든 HTML 요소가 모델링되는 방식

Q. 반응형 웹 디자인이란?

  • 웹 페이지가 다양한 장치와 창 또는 화면 크기에서 잘 렌더링되도록 하는 웹 디자인 접근 방식
    • 고려할 개념
      • 유연한 레이아웃
      • 상대 단위 (백분율 %, 뷰포트 너비 vw)
      • 반응형 이미지 및 미디어
      • 미디어 쿼리 (중단점)
      • 모바일 우선 접근 방식
      • 읽기 쉽고 유연한 텍스트




Q. 인터프리터 언어와 컴파일 언어의 차이?

  • 인터프리터 언어는 런타임에 한 줄씩 실행
  • 컴파일 언어는 실행되기 전에 기계어로 변환

Q. 함수형 프로그래밍이란?

  • 불변성과 순수함수를 강조하면서 함수를 적용하고 구성하는 방법

Q. JS 에서 클로저란?

  • 내부 함수가 외부 함수의 변수에 액세스할 수 있는 JS 기능

Q. 파이썬은 어떤 용도로 사용?

  • Python 은 웹 개발, 데이터 분석, 인공 지능, 과학 컴퓨팅 등에 사용

Q. Java 의 상속 개념이란?

  • 클래스가 다른 클래스의 속성과 메서드를 획득하는 메커니즘




Q. HTTP 란?

  • HTTP 는 WWB 에서의 데이터 통신의 기초

Q. SSL / TLS 란?

  • SSL / TLS 는 컴퓨터 네트워크를 통한 통신 보안을 제공하도록 설계된 암호화 프로토콜

Q. RESTFul API 란?

  • RESTFul API 는 REST 아키텍처 스타일의 제약 조건을 따른 API
  • RESTFul 웹 서비스와의 상호작용 허용

Q. 웹 기술 세션이란?

  • 세션은 웹 애플리케이션을 방문하는 동안 사용자 요청 전반에 걸쳐 지속되기를 원하는 정보의 서버측 저장소

Q. 쿠키의 개념 설명

  • 클라이언트 측에 저장되는 작은 데이터 조각으로 세션 관리, 개인화 및 추적에 사용




Q. SQL 이란?

  • SQL 은 DB 에 데이터를 저장, 조작, 검색하는 표준 언어

Q. NoSQL 이란?

  • NoSQL 은 SQL DB 의 전통적인 DB 구조를 따르지 않는 DB 관리 시스템의 범주
  • 대규모 데이터 세트 및 실시간 웹 애플리케이션에 자주 사용

Q. 관계형 DB 와 비관계형 DB 차이점은?

  • 관계형 DB

    • 구조화되어 있으며 데이터를 정의하고 조작하기 위해 SQL 사용
  • 비관계형 DB

    • 구조화되지 않고 분산되어 있으며 구조화되지 않은 데이터에 대한 동적 스키마 가짐

Q. DB 의 ACID 속성은 무엇?

  • 줄임말

    • 원자성 (Atomicity)
    • 일관성 (Consistency)
    • 격리성 (Isolation)
    • 내구성 (Durability)
  • DB 트랜잭션이 안정적으로 처리되도록 보장

Q. 데이터베이스의 정규화란?

  • 중복성을 줄이고 데이터 무결성을 향상시키기 위해 DB 구조적으로 구성하는 프로세스




Q. 버전 관리란?

  • 시간 경과에 따른 파일 또는 파일 집합의 변경 사항을 기록
  • 나중에 특정 버전을 불러오는 시스템

Q. 애자일 방법론이란?

  • 팀이 프로젝트를 여러 단계로 나누어 프로젝트를 관리 가능한 프로세스
  • 모든 단계에서 이해관계자와의 지속적인 협업과 지속적인 개선 포함

Q. 마이크로 서비스란?

  • 복잡한 애플리케이션이 API 를 사용하여 서로 통신하는 작고 독립적인 프로세스로 구성된 소프트웨어 아키텍처 스타일

Q. 지속적인 통합의 개념은?

  • 지속적인 통합은 개발자가 정기적으로 코드 변경 사항을 중앙 저장소에 병합한 후 자동화된 빌드 및 테스트를 수행하는 소프트웨어 개발 방식

Q. 테스트 중심 개발(TDD) 란?

  • 코드가 수행할 작업을 지정하고 검증하기 위해 테스트 사례를 개발하는 소프트웨어 개발 접근 방식

profile
일단 한다

0개의 댓글