본문 바로가기

학습 내용 정리/기술 면접 준비

(30)
TDD Q. TDD에 대해서 설명해주세요. A. TDD란 Test Driven Development의 약자로 '테스트 주도 개발'이라고 한다. 반복 테스트를 이용한 소프트웨어 방법론으로, 작은 단위의 테스트 케이스를 작성하고 이를 통과하는 코드를 추가하는 단계를 반복하여 구현한다.
CI/CD Q. CI/CD에 대해서 설명해주세요. A. CI (Continuous Integration(지속적 통합)): CI는 소프트웨어 개발 프로세스에서 여러 개발자가 협업하여 소스 코드 변경 사항을 지속적으로 통합하는 개념입니다. 이는 코드 변경 사항이 충돌하거나 문제가 발생하는 것을 방지하기 위해 개발자가 자주 코드를 공유하고, 자동으로 빌드하고 테스트하여 통합하는 프로세스를 포함합니다. 이를 통해 코드 품질을 유지하고 개발자들이 변경 사항을 빠르게 공유하고 테스트할 수 있도록 합니다. CD (Continuous Delivery(지속적 전달) 또는Continuous Deployment(지속적 배포)): CD는 CI와 테스트를 통과한 코드 변경 사항을 자동으로 프로덕션 환경에 배포하는 개념을 나타냅니다. Co..
클래스형과 함수형 프로그래밍 Q. 클래스형과 함수형의 차이를 설명해주세요. 어떤 방식을 주로 사용하였고 그 이유가 뭔지 답변해주세요. A. 클래스형 프로그래밍은 객체 지향 프로그래밍 (OOP) 패러다임을 따르고, 클래스를 사용하여 데이터와 메서드를 함께 정의하고 객체를 생성하는 방식이며, 상속과 다형성을 강조합니다. 함수형 프로그래밍은 함수를 일급 시민으로 취급하며, 함수를 변수에 할당하거나 함수의 매개변수로 전달하며, 함수를 반환할 수 있습니다. 주로 데이터를 함수로 처리하고 부작용을 최소화하기 위해 사용합니다. 클래스형 프로그래밍과 함수형 프로그래밍의 주요 차이는 접근 방식입니다. 클래스형 프로그래밍은 객체와 상태를 중심으로 하며 데이터와 메서드를 캡슐화합니다. 반면 함수형 프로그래밍은 함수와 데이터 변환을 중심으로 하며 함수를..
OAuth Q. OAuth에 대해서 설명해 주세요. A. OAuth(Open Authorization)은 인터넷 사용자가 비밀번호를 공유하지 않고 다른 웹사이트나 애플리케이션에 자신의 정보에 대한 접근 권한을 부여하는 개방형 표준이다. 이를 통해 보안과 개인 정보 보호가 강화되며, 사용자가 어떤 데이터에 대한 액세스 권한을 부여하고 있는지에 대한 투명성을 제공한다. OAuth는 주로 소셜 미디어 플랫폼에서의 로그인 및 데이터 공유, 클라우드 서비스에서의 파일 액세스 권한 부여, 다른 애플리케이션에 대한 API 호출 권한 부여 등 다양한 사례에서 활용된다.
JWT, Refresh Token, Access Token Q. JWT, Refresh, Access Token에 대해서 설명해주세요. JWT (JSON Web Token): JWT는 웹에서 사용되는 JSON 형식의 토큰에 대한 표준 규격으로, 주로 사용자의 인증 또는 인가 정보를 서버와 클라이언트 간에 안전하게 교환하고 저장하기 위해 사용된다. JWT는 세 가지 부분으로 이루어지며, 각 부분은 점 (.)으로 구분된다. 이 부분은 Header, Payload, Signature로 구성된다. Refresh Token: Refresh Token은 일부 인증 시스템에서 사용되며, 주로 원래 액세스 토큰이 만료될 때 새로운 액세스 토큰을 발급받기 위해 사용된다. 사용자는 액세스 토큰이 만료되더라도 사용자 이름과 암호를 다시 입력하지 않고도 Refresh Token을 사..
세션 기반 인증과 토큰 기반 인증의 차이 Q. 세션 기반 인증과 토큰 기반 인증의 차이에 대해 설명해 주세요. A. 세션 기반 인증은 사용자가 인증을 완료하면 서버는 인증 정보를 세션이라고 하는 별도의 공간(메모리 혹은 DB 등)에 저장하고 서버 측에서 사용자 상태를 관리합니다. 토큰 기반 인증은 사용자 상태를 서버에 저장하지 않고, 클라이언트에서 토큰을 별도의 공간 (localStorage, Cookie)에 저장한 후, 서버에서 요청(Request) 할 때마다 토큰을 함께 보내고 서버는 이 토큰을 검증하고 인가합니다. 이때, JWT(Json Web Token)와 같은 토큰 형식이 사용될 수 있습니다.
OSI 7 계층 Q. OSI 7계층에 대해 아는대로 설명해주세요. A. OSI 7 계층 = OSI 모형(Open Systems Interconnection Reference Model) 국제표준화기구(ISO)에서 개발한 모델로, 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 것이다. 계층 1: 물리 계층 (Pysical layer) 네트워크의 기본 네트워크 하드웨어 전송 기술을 이룬다. 네트워크의 높은 수준의 기능의 논리 데이터 구조를 기초로 하는 필수 계층이다. 다양한 특징의 하드웨어 기술이 접목되어 있기에 OSI 아키텍처에서 가장 복잡한 계층으로 간주된다. 계층 2 : 데이터 링크 계층(Data link layer) 데이터 링크 계층(Data link layer)은 포인트 투 포인트(Point to..
GET, POST의 개념과 데이터 흐름 GET 메서드는 서버로부터 정보를 요청할 때 사용됩니다. 주로 검색 결과를 요청하거나 링크(URL)을 통해서 웹 페이지로 이동할 때 사용됩니다. 클라이언트(웹 브라우저)가 원하는 정보를 URL에 포함시켜 서버에 GET 요청을 보낸 뒤, 서버에서 요청을 받고 필요한 데이터를 검색 또는 처리한 후 클라이언트에 응답을 보냅니다. 클라이언트는 서버로부터 받은 응답을 해석하고 화면에 표시합니다. POST 메서드는 서버로 데이터를 제출(전송) 할 때 사용됩니다. 데이터는 HTTP 요청 본문(body)에 포함되며, 주로 HTML 폼(form)을 통해 입력된 데이터를 서버로 보낼 때 사용됩니다. 클라이언트에서 입력 폼을 작성하고 데이터를 서버에 전송하려고 POST 요청을 생성합니다. 데이터는 POST 요청 본문에 포함..