반응형

CS 19

시스템 콜

시스템 콜윤영체제는 사용자가 실행하는 프로그램이 하드웨어 자원에 직접 접근하는 것을 방지해 자원을 보호한다.이유는 프로그램이 하드웨어 자원에 직접 접근해 마음대로 자원을 사용한다면, 컴퓨터 전체에 영향을 가할 수 있기 때문이다.운영체제는 프로그램들이 자원에 접근하려고 할 때 오로지 자신을 통해서 접근하게 한다, 따라서 프로그램은 자원에 접근하기 위해서 운영체제에게 도움을 요청해야한다.이러한 과정은 이중 모드로 구현되어있다. 사용자모드 운영체제 서비스를 제공받을 수 없는 실행모드이다. CPU가 사용자 모드일 때는 입출력 명령어 같은 하드웨어 접근 명령을 실행할 수 없다. 기본적으로 일반 프로그램은 사용자모드이다. 커널 모드운영체제 서비스를 제공받을 수 있는 실행모드이다. 커널 영역의 코드를 실행할 수 있다..

CS/면접 2025.09.09

URI URL URN차이

URI URL URN차이 URI인터넷에서 자원을 식별하기 위한 문자열, URI는 URL과 URL을 포함하는 상위 개념이다.특정 자원을 식별하기 위한 포괄적인 방법을 제시한다. URLURI의 한 형태로 인터넷 상에서 자원의 위치를 나타내는 방식자원에 접근하기 위한 프로토콜을 포함한다. ex) 웹페이지의 URL은 해당 페이지가 위치한 서버의 주소와 접근 방법 HTTP를 포함한다. URN URI의 또다른 형태로, 자원의 위치와 상관없이 자원의 이름을 식별하는 방식,자원의 위치가 변하더라도 동일한 식별자를 유지할 수 있게 한다. 특정 스키마를 따른다.ex) urn:isbn:0451450523 헷갈리는 부분URL과 URI의 명확한 차이점URI이자 URL: https://example.com/users/123 ..

CS/면접 2025.09.05

해시 충돌

해시 충돌 해시(hash) 자료 구조는 키값 쌍으로 이루어진 데이터 구조를 키를 이용해서 O(1) 시간 복잡도로 찾을 수 있다.해시 자료구조는 키를 해시 함수에 넣어서 나오는 결과를 기반으로 관리한다. 해시함수는 다른 키를 사용해도 같은 결과가 나오는 경우가 존재하는데 이를 해시 충돌이라고 한다. 해시충돌 완화법개방주소법특정 값이 들어가야하는 자리가 사용되고 있을 경우 다른 해시 버킷에 데이터를 삽입하는 방법분리연결법버킷을 연결 리스트나 트리 형태로 관리하여 버킷에 들어갈 값의 수에 제한을 두지 않도록 하여 충돌 완화하는 방법 개방주소법에서 다른 해시 버킷을 찾기 위한 방법에는 어떤 것이 존재하나?선형탐사법제곱탐사법이중해싱 선형탐사법 임의의 고정된 크기만큼 한칸씩 옮기면서 빈 버킷을 찾는 방법이다. ..

CS/면접 2025.09.04

Call By Value와 Call By Reference

Call By Value와 Call By Reference 특정 메서드를 호출하는 경우 인자로 전달하는 방법은 값에 의한 호출( Call BY Value ) 참조에 의한 호출( Call by Reference )이 있다. 값에 의한 호출( Call BY Value) 메서드를 호출할 때 값자체를 넘기는 방식이다. 호출하는 함수의 변수와 호출된 함수의 파라미터는 다른 변수이다. 참조의 의한 호출( Call by Reference ) 메서드를 호출할 때, 참조를 직접전달하는 방식이다. 참조값을 직접 전달하기 때문에 호출하는 함수의 변수와 호출된 함수의 파라미터는 동일한 변수이다. 자바는 어떤 방식을 채택하는가? 자바는 값에 의한 호출만 존재한다. 자바의 변수는 스택영역에 할당된다.변수의 타입이 원시타입..

CS/면접 2025.09.01

교착상태

교착상태두 개 이상의 작업이 서로 상대방의 작업이 끝나기만을 기다리고있어 결과적으로 아무것도 완료되지 못하는 상태 교착 상태 조건상호 배제한 프로세스가 사용하는 자원을 다른 프로세스가 사용할 수 없는 것점유 대기자원을 할당받은 상태에서 다른 자원을 할당받기를 기다리는 상태비선점자원이 강제적으로 해제될 수 없으며, 점유하고 있는 프로세스의 작업이 끝난 이후에만 해제되는 것원형대기프로세스들이 원의 형태로 자원을 대기하는 것을 의미한다.Java에서 데드락 해제하는 방법1. synchronized 블락안에 synchronized 블락 넣지 않기synchronized(resoucre1){synchronized( resoucre2)}synchronized(resoucre2){synchronized( resoucre..

CS/면접 2025.08.29

태태코딩 - 시스템 간의 비동기 연동방식(백엔드 질문)

시스템 간의 비동기 연동방식 분리된 시스템 간의 비동기 연동방식은 시스템 간의 결합도를 낮추고,시스템의 응답시간을 기다리지않고 빠르게 사용자의 요청에 응답할 수 있는 장점이 있다. 비동기로는 메세징, 데이터베이스, CDC활용 방식이 있다. 1. 메세징 시스템 활용 방식두 시스템간에 메세지 시스템을 두어 비동기로 연동하는 방식이다.해당 방식은 한 시스템에서 메세지를 생성하여 메세징 시스템에 송신한 후 다른 시스템에서 메세징 시스템으로부터 읽어와 메세지를 처리한다. 카프카, 레빗엔 큐를 주로사용한다. 장점 처리량이 높다.단점메세지 유실이나 , 소비순서, 트랜잭션에 대한 고민이있다.송신과 db저장 이 두기능이 한 트랜잭션에 묶일 경우 어떤 방식으로 해야하는 고민이다. 2. 데이터베이스한 시스템에서 데이터..

CS/면접 2025.08.25

캐시 스템피드

캐시 스탬피드 정의대규모 트래픽 환경에서는 캐시를 운용하는데, CACHE ASIDE(캐시 미스시 적재) 전략을 사용한다는 가정에서, 수많은 요청이 동시에 들어올 경우에 캐시미스를 확인하고, 데이터를 가져와 동시에 캐시에 적재하는 현상을 캐시 스탬피드 라고한다. 이는 캐시 성능을 저하시킨다. 대응방안 잠금스레드가 해당 캐시에대한 키를 획득하고 처리하는 방식으로, 키를 획득하지 못한 다른 스레드들은 잠금 상태로 들어가게 된다.하지만 이는 성능 저하 가능성이 있다. 외부 재계산모든 스레드는 캐시에 데이터를 적재하는 작업을 수행하지않고, 캐시에 있는 데이터를 보는 스레드만 하나 설정하여, 그 스레드가 데이터 미스시 데이터를 적재시킨다. 하지만 사용하지 않는 데이터를 지속적으로 적재시킬 가능성이 있다. 확률..

CS/면접 2025.08.22

태태코딩 - 관계형 데이터베이스와 비 관계형 데이터베이스 차이(백엔드 질문)

관계형 데이터베이스와 비 관계형 데이터 베이스의 차이 1. 관계형 데이터베이스고정된 로우 컬럼으로 구성된 테이블이다.SQL을 사용하여 여러 테이블에 존재하는 데이터의 관계에 따라서 join이 가능하다.중복이 없이 저장하고, 데이터의 무결성을 보장한다.주로 스케일업을 하여 사용한다.스키마를 바꾸기 어렵고, 비지니스 요구사항이 발전하면 쿼리가 복잡해진다.(단점)2. 비관계형 데이터베이스NoSQL이라고 불리며 스키마가 존재하지 않아서 자유롭게 데이터를 저장할 수 있다.문서, 키-값 ,와이드컬럼, 그래프등 존재한다.대용량 데이터와 높은 사용자 부하에도 손쉽게 사용가능하다.중복을 허용하여 데이터의 일관성이 부족하다는 단점이있다.(단점) 결론관계형 DB를 쓰는 경우데이터가 구조화 되어있고 스키마가 자주 변경되지 않..

CS/면접 2025.08.21

태태개발일지 - Docker

IP 특정 컴퓨터의 주소 Port한 컴퓨터 내에서 실행되고 있는 특정 프로그램의 주소ex) 1.250.15.132:3000 -> 3000 하나의 컴퓨터에서 여러개의 프로그램이 실행되고있는데, 그 중 특정 하나를 구분하기 위한 것.기본적으로 포트는 80번 포트를 사용한다. wll-known port-규약을 통해 역할이 정해져 있는 포트 라고한다. ex) 22번 ssh80 Http334 Https Docker컨테이너를 사용하여 각각의 프로그램을 분리된 환경에서 실행 및 관리할 수 있는 툴이다. container하나의 컴퓨터 환경 내에서 독립적인 컴퓨터 환경을 구성해서, 각 환경에 프로그램을 별도로 설치할 수 있게 만든 개념이다. 미니컴퓨터 = 컨테이너 가장 큰 컴퓨터 = 호스트 컨테이너 독립성서로 각자..

CS 2025.04.16

태태개발일지 - http

기본 네트워크무언가를 보낼때는               IP를 통해서 Node인지Node Node 그리고 Node중 원하는 구역으로 보내기 위해서는Port를 사용한다. HTTP 란? HTTP는 hyper-text-transfer-protocol로원래는 html을 보내는 양식으로 약속되었지만 , 요즘 세대는 그냥 모두 포함해서 보내고있다. ex) 음성, 이미지 .... http 1.1 버전을 가장 많이쓰고,http 2,3 버전도 있는데 3버전은 UDP를 사용한다고 알고 있다. -> 영상이나 사진  HTTP 요청 , 응답 (Request, Response) 요청: start-line = request-line- HTTP 메서드 ex) GET- 요청 대상  /index.html -> 절대경로 = "/" + ..

CS/네트워크 2024.09.07
반응형