본문 바로가기

컴퓨터 공학6

[기술면접대비] 5. 자료구조&알고리즘 자료구조 선형 자료구조 배열 : 정해진 크기만큼 데이터가 일렬로 저장되는 정적 자료구조 → 접근,검색,삽입,삭제 가능 연결리스트 : 크기가 정해져 있지 않은 동적 자료구조, 헤드 포인터와 테일 포인터로 시작과 끝을 알 수 있음 → 검색, 삽입, 삭제 가능 스택 : LIFO(후입선출) → 맨 위에 삽입, 가장 위에있는 데이터 삭제 및 확인, 비어있는지 확인, 가득찼는지 확인 모두 O(1) 큐 : FIFO(선입선출) → 맨뒤에 데이터 삽입, 맨앞에 데이터 삭제, 비어있는지 찼는지 확인, 맨 위에 있는 데이터 확인 모두 O(1) 시간복잡도/ 데이터구조 배열 연결리스트 스택 큐 접근 O(1) X X X 검색 O(n) O(n) X X 삽입 O(n) O(1) + O(n)→ 그러나 삽입 위치까지 가는데 O(n)이 걸.. 2024. 1. 29.
[기술면접대비] 4. 데이터베이스 데이터베이스 데이터베이스 스키마 종류 내부 스키마 : 사용자 측면의 데이터베이스 전체 구조 개념 스키마 : 데이터베이스 전체구조 외부 스키마 : 물리적 저장 측면에서 구조 관계형 데이터 베이스 VS NoSQL 릴레이션(개념적 모델) = 테이블(실제 구현 개체) NoSQL은 대용량 데이터 조회시 관계형보다 빠름, 데이터 확장과 대용량 데이터 조회가 빈번히 일어날 때 사용 +) 그렇다면 관계형 DB는 NoSQL에 비해 뭐가좋을까? → 데이터 쿼리와 트랜잭션 지원이 필요한 경우, DB끼리 join을 많이해야하는경우(복잡한 쿼리 사용할때) +) 수직확장과 수평확장은 뭘까? 정의: 수직 확장은 하나의 서버의 성능을 향상시키는 것을 의미합니다. 이는 일반적으로 더 강력한 CPU, 더 많은 RAM, 더 큰 저장 용량.. 2024. 1. 29.
[기술면접대비] 3. 네트워크 계층과 TCP&UDP 통신 OSI 7계층 네트워크 통신이 이뤄지는 과정을 7단계로 나눈 네트워크 표준 모델 각 계층은 독립적이며 데이터를 송신할 때 각 계층에서 필요한 정보를 추가해서 데이터 가공 프로토콜이란 데이터를 송수신하기 위해 정한 규칙 7계층(응용) : http,ftp등 눈앞에 보이는 UI 6계층(표현) : 데이터를 표준화된 형식으로 변경 5계층(세션) : 프로그램 간 통신 제어와 동기화 4계층(전송) : TCP, UDP 같은 전송 방식과 포트 번호 3계층(네트워크) : 데이터 송수신(라우팅) 수행, 네트워크 계층의 장비(라우터) 2계층(데이터 링크) : 데이터 흐름 관리(오류 검출 및 복구), 데이터 링크 계층의 장비 1계층(물리) : 데이터를 비트 단위로 변환해 장비를 사용해 전송, 전기 신호 데이터 복원(리피터,허브.. 2023. 12. 31.
[기술면접대비] 2. 스케줄링과 메모리 관리 전략 이전글에서 이어집니다. 3. 스케줄링 스케줄링의 단계 1. 장기 스케줄링 : 준비 큐에 어떤 프로세스를 넣을지 결정해 메모리에 올라가는 프로세스 수 조절 (잡 스케줄링, 승인스케줄링) 2. 중기 스케줄링 : 메모리에 로드된 프로세스 수를 동적으로 조절, 프로세스가 많이 로드되면 스왑 아웃해서 일부 프로세스를 통째로 저장 -> 이때 스왑아웃된 프로세스는 중단 상태가 됨(준비/대기 상태에 중단 되는 셈) 3. 단기 스케줄링 : 준비 큐에 있는 대기 상태 프로세스 중 순서를 정해주는 스케줄링 알고리즘으로 결정. 어떤 프로세스를 보낼지 결정함(CPU 스케줄링) 용어정리 - 스왑 아웃 : 프로세스가 너무 많이 로드돼 중기 스케줄러가 프로세스들을 통째로 저장 공간에 옮겨 저장하는 것 - 스왑 인 : 스왑 아웃한 프.. 2023. 12. 27.
[기술면접대비] 1. 운영체제와 프로세스 기술 면접 대비 스터디로 https://product.kyobobook.co.kr/detail/S000208504237 를 스터디중인데 해당 내용 요약정리 및 보면서 추가로 공부한것들을 백업하고자 한다. 1. 운영체제 운영체제 : 하드웨어와 응용프로그램 사이에서 사용자가 컴퓨터를 사용할 수 있는 환경을 제공하는 시스템(소프트웨어) CPU : 주 기억장치 & 보조 기억장치 메모리 계층구조 : (레지스터 - 캐시메모리)(여기까지가 CPU) - RAM - 하드디스크 +) CPU는 하나의 프로세스만 처리할 수 있어서 멀티 프로세스 환경에선 스케쥴링 알고리즘이 사용된다 -> 주로 사용되는 스케쥴링 알고리즘은? 커널 : 응용프로그램 CPU,메모리,외부기기 사이에서 자원관리를 해줌 예를 들어 CPU 스케쥴링이나 메모.. 2023. 12. 27.
전자기기들은 어떻게 전원이 꺼져도 시간을 아는걸까? 문득 카메라를 켜다가 이런생각을 했다. 이 카메라는 이틀정도 전원이 꺼져있었는데 어떻게 현재 시간을 정확히 아는걸까? 내가 한국에 있다가 태국에서 휴대폰을 켰을 때 와이파이를 켜지 않았는데도 아이폰에는 이미 위치와 시간이 반영되어 있었다. 어떻게 한걸까에 대해 적어보려 한다. 전자 기기의 시간은 어디서 기록하고 있는 걸까? 우리가 보통 사용하는 전자기기엔 실시간 클록(RTC)을 갖추고 있어서 이를 통해 시간을 기록하고 유지한다. RTC이란건 정확한 시간을 유지해야하는 모든 전자 기기에 존재한다. RTC없이도 기기가 네트워크를 통해 시간을 알거나 할 수 도 있지만. RTC를 사용하면 전력 소비가 낮고 기본 시스템을 시간이 중요한 작업에서 떼어 놓을 수 있고 다른 방식보다 더욱 정확하게 시간을 알려준다고 한.. 2023. 11. 1.