Lina's Toolbox

개발자 기술면접 대비 질문/답변 리스트 (초급) 본문

스파르타 내일 배움 캠프 AI 웹개발 과정/면접준비

개발자 기술면접 대비 질문/답변 리스트 (초급)

Woolina 2024. 8. 6. 20:06

 

 

📌 클래스란 무엇인지 설명하시오.

클래스

객체 지향 프로그래밍에서 데이터를 구조화하고 관련 기능을 그룹화하는 기본 개념

객체(인스턴스)를 생성하기 위한 설계도.


 

📌 자식클래스가 부모클래스의 기능을 이어받는 것을 뭐라고 하는가?

상속


📌 자식클래스가 부모클래스의 기능을 재정의 하는 것은?

오버라이딩(overriding)


오버로딩(Overloading)

📌 그렇다면 오버로딩은 무엇인가?

같은 이름의 함수를 매개변수의 개수나 타입이 다르도록 정의하는 것

(사실 파이썬에서는 오버로딩이라는 기능은 없지만, 구현할 수는 있다.)


OSI 7계층

다양한 네트워크 시스템 간의 통신을 표준화하기 위해 국제 표준화 기구(ISO)에서 제정한 네트워크 모델

 

📌 OSI 7계층의 각 단계를 서술하시오.

물리계층, 데이터링크계층, 네트워크 계층, 전송계층, 세션 계층, 표현 계층, 응용 계층


TCP/IP 4계층

모델은 네트워크 통신을 관리하기 위해 네트워크 프로토콜을 계층별로 나누어 구성한 구조

 

📌 OSI의 각 계층은 TCP/IP의 어떤 계층에 해당하는가?

  1. 네트워크 액세스 계층: 물리 계층, 데이터링크 계층
  2. 인터넷 계층: 네트워크 계층
  3. 전송 계층: 전송 계층
  4. 응용 계층: 세션 계층, 표현 계층, 응용 계층


📌  TCP/UDP의 차이가 뭔가요?

 

  • TCP (Transmission Control Protocol)
    • 특징: 연결 지향, 신뢰성 보장, 데이터 순서 보장 ➡️ 보안 중요시, 버퍼링과 끊김을 줄이는 데 도움
    • 예시: 웹 브라우징(HTTP), 이메일(SMTP, IMAP), 유튜브(스트리밍 제외)
  • UDP (User Datagram Protocol)
    • 특징: 비연결 지향, 신뢰성 미보장, 데이터 순서 보장 없음
    • 예시: 실시간 스트리밍, 온라인 게임, DNS 쿼리

📌 프로그램이 실행중인 상태를 뭐라고 하나요?

프로세스


📌 CPU를 공유하는 여러 프로세스나 스레드 중 어떤 것을 실행할지 결정하는 과정은?

스케줄링


📌  파이참, 비쥬얼 스튜디오 코드 같은 것들을 뭐라고 하나요?

IDE


📌 개체들간에 관계를 나타내는 다이어그램은?

ERD


📌 데이터를 고정된 크기의 고유한 값(해시 값)으로 변환하는 것?

해싱


📌 CREATE, ALTOR, DROP 같이 데이터베이스의 구조를 정의하거나 변경하는 명령어 집합은?

 

DDL(Data Definition Language) 데이터 정의어

 

📌 SELECT, INSERT, UPDATE, DELETE 같은 데이터베이스의 데이터를 조회하거나 조작하는 명령어 집합

DML (Data Manipulation Language) 데이터 조작어

 

📌 GRANT, REVOKE 같은 데이터베이스에 대한 접근 권한을 제어하는 명령어 집합?

DCL (Data Control Language) 데이터 제어어


📌 트랜잭션이란?

트랜잭션

데이터베이스 시스템에서 일련의 작업을 하나의 논리적인 단위로 묶어서 처리하는 과정


📌 소프트웨어 설계에서 자주 사용되는 구조와 협력 방식?

디자인 패턴


 📌 MTV 디자인패턴에 대해 설명하십시오.

MTV디자인패턴

  • 모델: DB테이블
  • 템플릿: 화면(보여지는 부분)
  • 뷰: 모델이랑 템플릿이랑 연결해서 데이터 전달

📌 인터넷을 통해 제공되는 가상의 서버로, 물리적인 서버가 아닌 가상화된 서버를 의미하며, 사용자가 인터넷을 통해 서버를 원격으로 관리하고 사용할 수 있는 이것을 뭐라고 하는가?

클라우드 서버


📌 선입선출(FIFO) 방식의 자료 구조가 동적으로 할당되는 메모리 영역은?

힙(Heap) 영역


📌 소프트웨어와 소프트웨어 간, 또는 하드웨어와 하드웨어 간을 연결해주는 매체는?

인터페이스(Interface)

📌 그렇다면 소프트웨어와 소프트웨어 간의 연결을 돕는 매체는?

API (응용 프로그래밍 인터페이스)


 📌 정규화란?

정규화

데이터베이스 설계에서 데이터의 중복과 종속성을 줄이기 위해 테이블을 구조적으로 개선하는 과정입니다.

정규화의 주된 목표는 데이터의 무결성을 유지하고 데이터베이스의 효율성을 높이는 것.

 

📌 정규화의 종류

 

  • 제1정규형 (1NF):
    • 정의: 모든 컬럼의 값이 원자적(atomic)이어야 하며, 테이블의 각 필드가 단일 값만을 가져야 합니다.
    • 목표: 중첩된 데이터 구조나 반복 그룹을 제거하여 각 필드가 단일 값만을 갖도록 합니다.
  • 제2정규형 (2NF):
    • 정의: 제1정규형을 만족하며, 모든 비주요 속성이 기본 키의 모든 부분에 완전히 종속되어야 합니다. 즉, 부분 종속성을 제거합니다.
    • 목표: 복합 기본 키를 사용하는 테이블에서, 기본 키의 부분에 종속된 속성을 분리하여 테이블을 구성합니다.
  • 제3정규형 (3NF):
    • 정의: 제2정규형을 만족하며, 모든 비주요 속성이 기본 키에만 종속되어야 하고, 비주요 속성 간의 이행적 종속성을 제거해야 합니다.
    • 목표: 비주요 속성 간의 종속성을 제거하여 데이터의 무결성을 높입니다.
  • BCNF (Boyce-Codd Normal Form):
    • 정의: 제3정규형을 만족하며, 모든 결정자가 후보 키여야 합니다.
    • 목표: 제3정규형보다 더 엄격한 조건을 만족하여 이상 현상을 방지합니다.
  • 제4정규형 (4NF):
    • 정의: BCNF를 만족하며, 다중 값 종속성(Multi-Valued Dependency)을 제거합니다.
    • 목표: 다중 값 종속성으로 인해 발생할 수 있는 중복을 방지합니다.
  • 제5정규형 (5NF):
    • 정의: 제4정규형을 만족하며, 조인 종속성(Join Dependency)을 제거합니다.
    • 목표: 조인 연산으로 인해 데이터가 분리되는 경우를 방지합니다.
  • 제6정규형 (6NF):
    • 정의: 제5정규형을 만족하며, 모든 종속성이 투명해야 하고, 시간에 따른 데이터 변화도 처리합니다.
    • 목표: 시간에 따라 변화하는 데이터의 정규화를 처리합니다.

📌 시스템의 전체적인 구조를 정의한 후, 세부 사항으로 내려가면서 설계하는 접근 방식은?

하향식 설계

📌 하향식 설계에서 사용할 수 있는 접근 방식 중 하나는?

폭포수 모델 (Waterfall Model)


📌 네트워크에서 데이터를 "엿보는" 또는 "가로채는" 행위를 의미하는 것은?

스니핑

네트워크를 통해 지나가는 정보나 데이터 패킷을 몰래 보고 분석하는 것


📌 시험 항목에 대한 상세한 내용을 담고 있는 문서는?

테스트케이스 


📌 소프트웨어 개발에 있어서 코드컨벤션 및 형상관리 컨벤션 등 철저히 소프트웨어 엔지니어를 위한 문서는?

SCS (Software Code Standards, 소프트웨어 코드 사양서)

 

📌 소프트웨어의 전반적인 설계를 상세히 명세한 문서는?

SDS (Software Design Standards, 소프트웨어 설계 사양서)


📌 변경사항 추적, 관리하기위한 작업을 뭐라고 하는가?

형상관리


📌  형상관리 프로그램의 예시는?

형상관리 프로그램

git


📌 v&v란?

v&v

소프트웨어의 완성도 및 신뢰도를 검증 및 확인하는 작업


📌   검증과 확인의 차이는?

검증(Verification)

개발자 중심(요구사항 확인)

확인(Validation)

사용자 중심(사용감 확인)


📌 http에 대해 설명하시오.

http

웹상에서 클라이언트와 서버 간 통신을 위한 프로토콜


📌 코드의 내부를 철저히 분석하여 소프트웨어의 정확성과 신뢰성을 높이는 데 도움을 주는 테스트 방법은?

화이트박스 테스트


📌 스키마에 대해 설명하시오.

스키마

데이터베이스의 구조와 제약조건


📌 테스트 중 가장 작은 단위의 테스트 범위는?

유닛 테스트


📌  STUDENT 테이블에서 컴퓨터과 학생 50명, 인터넷과 학생 100명, 사무자동학과 학생 50명의 정보가 저장되어 잇을 때, 다음 SQL문의 실행 결과에 따른 튜플의 수는? (DEPT 컬럼은 학과명)

SELECT DISTINCT DEPT FROM STUDENT;

 

결과

컴퓨터과, 인터넷과, 사무자동학과

➡️ 3