AI웹 개발자 과정 공부 (팀스파르타)/기타
24.03.22_TIL (CS 모의면접문제)
티아(tia)
2024. 3. 22. 10:43
728x90
[ 팀원분들과의 모의 면접문제 ]
📢 CS 문제
- 2024.03.20(수)
- 트랜잭션의 특징 (4가지) ACID
- Atomicity(원자성)
- 트랜잭션이 데이터베이스에 모두 반영되거나 전혀 반영되지 않아야 하며, 작업이 부분적으로 실행되거나 중단되지 않는 것을 보장하는 것을 뜻함.
- All or Nothing의 개념으로 모두 완벽하게 성공하거나, 모두 실패하는 것
- 확실한 부분에 대해서는 롤백이 되지 않도록 save point(세이브포인트)를 지정할 수도 있다.
- Consistency(일관성)
- 트랜잭션 이후, 데이터나 시스템이 가지고 있는 고정요소나 상태가 수행 전과 후의 상태가 같아야 한다는 것
- Isolation(독립성)
- 하나의 트랜잭션 수행 시, 다른 트랜잭션의 작업이 끼어들지 못하도록 보장하며 다른 트랜잭션의 영향 또는 간섭을 받지 않는 것
- 각 트랜잭션은 격리되어 있어 독립적으로 수행되기 때문에 다른 트랜잭션의 작업 내용을 알 수 없다.
- Durability(지속성)
- 하나의 트랜잭션이 성공적으로 수행되고 난 뒤, 해당 트랜잭션에 대한 로그가 남아서 저장되어야 하는 것
- 성공한 트랜잭션의 결과는 안정적으로 보존되어야 하며, 영구적으로 반영되어야 함
- Atomicity(원자성)
- 트랜잭션의 특징 (4가지) ACID
- 2024.03.21(목)
- 비트와 바이트?
- 바이트는 8개의 비트로 2의 8승인 256가지의 조합을 나타내며 다양한 문자, 숫자, 기호를 표현할 수 있다.
- 비트는 0과 1 두가지 값을 가질 수 있는 최소한의 단위
- ASCII vs 유니코드 vs UTF-8 의 차이점?
- ASCII는 7비트로 표현되는 문자 인코딩 방식, 영어만 표현
- 유니코드는 전 세계의 모든 문자를 고유한 코드 포인트로 나타내는 표준언
- UTF-8은 Unicode를 컴퓨터에서 효율적으로 저장하고 전송하기 위한 가변 길이 문자 인코딩 방식
- OSI 계층의 기본 구조? (크게 3가지 계층) 🌟
- 계층1,2,3(네트워크 지원계층)/계층5,6,7(사용자 지원계층)/제공4(전송계층)
- 메모리 상에 연속된 공간을 '미리 할당받고' 메모리상에 데이터를 순서대로 넣어 만든 자료구조는?
- 배열
- 음의 정수를 이진수로 표현하는법
- 음의 정수에 절댓값을 씌운 양의 정수를 이진수로 표현한다.
- 이진수의 모든 숫자의 1과 0을 바꿔 1의 보수를 취해준다.
- 결과값에 1을 더해주어 2의 보수를 취해준 값이 음의 정수의 이진수값이다.
- 비트연산 & | ^ ~ 에 대해 설명
- AND(&) : 두 비트가 모두 1이면 1, 그 외는 0
- OR (|) : 두 비트 중 하나라도 1이면 1, 그 외는 0
- XOR (^) : 두 비트가 다르면 1, 그 외는 0
- NOT (~) : 두 비트를 반전
- 선형탐색과 제곱탐색의 차이점은?
- 선형 탐색 : 충돌이 발생하면 해당위치부터 순차적으로 버킷을 하나하나씩 탐색
- 제곱 탐색 : 충돌이 발생하면 해당 위치부터 제곱만큼 떨어진 다음 버킷을 탐색
- 데이터 검색을 할 때 hash table의 시간복잡도는 O(1)이고 B+tree는 O(logn)으로 더 느린데 왜 index는 hash table이 아니라 b+tree로 구현되나요?
- Hash table을 사용하면 하나의 데이터를 탐색하는 시간은 빠르지만, 값이 정렬되어 있지 않기 떄문에 부등호를 사용하는 query에서는 매우 비효율적이게 되어 데이터를 정렬해서 저장하는 b+tree를 사용한다
- 비트와 바이트?
- 2024.03.22(금)
- HTTP의 주요 메소드에 대한 설명? (4가지) 🌟
- GET: 서버에서 리소스(데이터)를 요청하는 메소드입니다. 요청한 데이터를 가져와 응답합니다.PUT: 서버에 데이터를 업데이트하는 메소드입니다. 요청한 데이터를 서버에 저장하고, 처리 결과를 응답합니다.
- DELETE: 서버에서 데이터를 삭제하는 메소드입니다. 요청한 데이터를 서버에서 삭제하고, 처리 결과를 응답합니다.
- POST: 서버에 데이터를 전송하는 메소드입니다. 데이터를 전송하여 서버에서 처리하고, 처리 결과를 응답합니다.
- PUT: 서버에 데이터를 업데이트하는 메소드입니다. 요청한 데이터를 서버에 저장하고, 처리 결과를 응답합니다.
- www.google.com을 주소창에 쳤을 때 화면이 나오기까지의 과정을 네트워크 관점으로 설명해보면? 🌟
- 사용자가 브라우저에 URL 입력
- 브라우저는 DNS를 통해 서버의 IP 주소를 찾음
- client에서 HTTP request 메시지 —> TCP / IP 패킷 생성 —> server로 전송
- server에서 HTTP request에 대한 HTTP response 메시지 —> TCP / IP 패킷 생성 —> client로 전송
- 도착한 HTTP response message는 웹 브라우저에 의해 출력(렌더링)
- TCP/IP에서 3계층(네트워크 계층)을 통해 전달받는 작은 데이터의 단위는?
- 패킷
- HTTP는 단방향성과 비연결성의 특징을 가지고 있다. 이 특징에 대해 설명
- 단방향성 : 서버가 먼저 응답을 보낼 수 없고 클라이언트가 요청을 보내야만 응답
- 비연결성:클라이언트의 요청으로 서버와 연결된 후, 요청에 대한 응답의 데이터를 전송하면 연결을 종료한다. 따라서, 실시간 통신을 할 수 없다
- HTTP와 HTTPS의 포트번호는?
- 80(http), 443(https)
- SSL인증방식에 대해 간략히 설명해보세요 🌟
- 서버의 공개키를 통해 클라이언트가 대칭키를 암호화 할 수 있도록 하고
- 서버는 암호화된 대칭키를 개인키로 복호화하면서
- 암호문으로 통신하는 방법
- IP 주소를 사람들이 이해하기 쉽게 문자로 표현 하는 시스템은?
- 도메인 네임 시스템(DNS, Domain Name System)
- FTP, HTTP, SMTP, Telnet 과같은 프로토콜들이 속한 계층은?
- 응용(Application) 계층
- HTTP의 주요 메소드에 대한 설명? (4가지) 🌟
반응형