티스토리 뷰

728x90

 

[ 팀원분들과의 모의 면접문제 ]

 

 

 

 

📢 CS 문제

  • 2024.03.20(수)
    • 트랜잭션의 특징 (4가지) ACID 
      • Atomicity(원자성)
        • 트랜잭션이 데이터베이스에 모두 반영되거나 전혀 반영되지 않아야 하며, 작업이 부분적으로 실행되거나 중단되지 않는 것을 보장하는 것을 뜻함.
        • All or Nothing의 개념으로 모두 완벽하게 성공하거나, 모두 실패하는 것
        • 확실한 부분에 대해서는 롤백이 되지 않도록 save point(세이브포인트)를 지정할 수도 있다.
      • Consistency(일관성)
        • 트랜잭션 이후, 데이터나 시스템이 가지고 있는 고정요소나 상태가 수행 전과 후의 상태가 같아야 한다는 것
      • Isolation(독립성)
        • 하나의 트랜잭션 수행 시, 다른 트랜잭션의 작업이 끼어들지 못하도록 보장하며 다른 트랜잭션의 영향 또는 간섭을 받지 않는 것
        • 각 트랜잭션은 격리되어 있어 독립적으로 수행되기 때문에 다른 트랜잭션의 작업 내용을 알 수 없다.
      • Durability(지속성)
        • 하나의 트랜잭션이 성공적으로 수행되고 난 뒤, 해당 트랜잭션에 대한 로그가 남아서 저장되어야 하는 것
        • 성공한 트랜잭션의 결과는 안정적으로 보존되어야 하며, 영구적으로 반영되어야 함

 

  • 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. 음의 정수에 절댓값을 씌운 양의 정수를 이진수로 표현한다.
      2. 이진수의 모든 숫자의 1과 0을 바꿔 1의 보수를 취해준다.
      3. 결과값에 1을 더해주어 2의 보수를 취해준 값이 음의 정수의 이진수값이다.
    • 비트연산 & | ^ ~ 에 대해 설명
      1. AND(&) : 두 비트가 모두 1이면 1, 그 외는 0
      2. OR (|) : 두 비트 중 하나라도 1이면 1, 그 외는 0
      3. XOR (^) : 두 비트가 다르면 1, 그 외는 0
      4. 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을 주소창에 쳤을 때 화면이 나오기까지의 과정을 네트워크 관점으로 설명해보면? 🌟
      1. 사용자가 브라우저에 URL 입력
      2. 브라우저는 DNS를 통해 서버의 IP 주소를 찾음
      3. client에서 HTTP request 메시지 —> TCP / IP 패킷 생성 —> server로 전송
      4. server에서 HTTP request에 대한 HTTP response 메시지 —> TCP / IP 패킷 생성 —> client로 전송
      5. 도착한 HTTP response message는 웹 브라우저에 의해 출력(렌더링)
      웹 개발 전반적인 프로세스에 대해서 잘 이해하고 있는지 판단할 수 있는 질문. 절차에 맞게 순차적으로 설명하면 됨.
    • TCP/IP에서 3계층(네트워크 계층)을 통해 전달받는 작은 데이터의 단위는?
      • 패킷
    • HTTP는 단방향성과 비연결성의 특징을 가지고 있다. 이 특징에 대해 설명
      • 단방향성 : 서버가 먼저 응답을 보낼 수 없고 클라이언트가 요청을 보내야만 응답
      • 비연결성:클라이언트의 요청으로 서버와 연결된 후, 요청에 대한 응답의 데이터를 전송하면 연결을 종료한다. 따라서, 실시간 통신을 할 수 없다
    • HTTP와 HTTPS의 포트번호는?
      • 80(http), 443(https)
    • SSL인증방식에 대해 간략히 설명해보세요 🌟
      1. 서버의 공개키를 통해 클라이언트가 대칭키를 암호화 할 수 있도록 하고
      2. 서버는 암호화된 대칭키를 개인키로 복호화하면서
      3. 암호문으로 통신하는 방법
    • IP 주소를 사람들이 이해하기 쉽게 문자로 표현 하는 시스템은?
      • 도메인 네임 시스템(DNS, Domain Name System)
    • FTP, HTTP, SMTP, Telnet 과같은 프로토콜들이 속한 계층은?
      • 응용(Application) 계층
반응형

'AI웹 개발자 과정 공부 (팀스파르타) > 기타' 카테고리의 다른 글

GIt 명령어 총정리집  (1) 2024.04.03
24.03.28_TIL (모의 면접 Level 2)  (0) 2024.03.28
Git & Github  (0) 2024.03.06
웹 개발 용어 정리  (0) 2024.02.08
AI웹 개발자 과정_사전분석  (0) 2024.02.05
반응형
TAG
more
최근에 올라온 글