CS

    [CS] 동기/비동기, 블록/논블록

    동기/비동기, 블록/논블록은 공부를 했다가도 돌아서면 생각이 안나고, 알 것 같다가도 막상 생각하면 설명하기 모호한 개념인 것 같다. 정리하고 또 다시 언젠가 가물가물해질 것 같지만 그래도 나의 언어로 적어두면 나중에 도움이 되지 않을까 해서 간단하게 적고자 한다. synchronous happening, existing, or arising at precisely the same time asynchronous not simultaneous or concurrent in time 요새 모르는 단어가 있으면 사전에서 뜻을 찾아보는 것이 굉장히 많이 도움이 되는 것 같다. 개발의 도큐먼트 같은 느낌이다. 그래서 동기/비동기도 뜻을 찾아보았다. 더 헷갈린다 가장 핵심은 "동시에" 어떠한 일이 일어날 수 있는..

    신입 개발자 면접 스터디 - DB

    정규화 중복을 최소화하게 데이터를 구조화하는 과정 - 1차 정규화: 테이블의 모든 튜플들을 원자값으로 변환 - 2차 정규화: 기본키가 아닌 모든 속성이 기본 키에 완전 함수 종속 - 3차 정규화: 기본키 이외의 다른 컬럼이 그 외 다른 컬럼을 결정할 수 없는 것 키종류 후보키 - 튜플을 유잉ㄹ하게 식별할 수 있는 속성들의 부분 집합, 유일성과 최소성 만족 기본키 - 후보키 중에서 선택한 Main Key, 동일한 값이 중복될 수 없다. 대체키 - 후보키가 둘 이상일때, 기본키를 제외한 나머지 후보키 슈퍼키 - 속성들의 집합으로 구성 된 키, 유일성 만족, 최소성 불만족 외래키 - 참조되는 릴레이션의 기본키와 대응 트랜잭션 데이터 베이스의 상태를 변화시키는 논리적 작업 단위 Atomicity(원자성) - 트..

    신입 개발자 면접 스터디 - OS

    캐시 CPU의 속도와 시스템 메모리의 속도 차이 문제를 해결하기 위한 메모리 CPU안에 포함 일반 메모리에 비해 비쌈 L1 - 보통 8~64KB, 명령어 캐시/데이터 캐시로 분리, Per Core L2 - 보통 64KB ~ 4MB, 명령어/데이터 복합 저장, Per Core L3 - 3~12MB, CPU가 아닌 메인보드에 내장되는 경우가 많음, Miss Rate때문에 잘 사용하지 않음, Per Processor * 캐시메모리의 용량을 늘리기 보다 멀티 레벨인 이유? Access Time 줄임, 프로세서 간 충돌 방지 * LRU 알고리즘: 캐시 알고리즘 중 하나, LinkedList 사용, Map을 사용하여 시간단축을 하는 경우도 있음 지역성 기억 장치내의 정보를 균일하게 접근하는 것이 아닌 특정 부분만 ..

    신입 개발자 면접 스터디 - 자바

    작성완료 / 작성중 1. JAVA 특징 - 객체 지향 프로그래밍 언어 - JVM에서 실행되기 때문에, 플랫폼에 의존하지 않고 실행이 가능함 - 멀티 스레딩 지원 2. JVM - 자바 바이트 코드를 실행하는 자바 가상 머신 - CPU나 운영체제의 종류와 무관하게 동작할 수 있게 한다. - 자동으로 메모리 관리를 해줌 - Class Loader, GC, Runtime Data Area, Execute Engine 으로 나뉨 3. 자바의 멀티 스레딩 - Main Thread가 main 메소드를 실행하면서 시작 - Main Thread가 종료되더라도 실행 중인 스레드가 하나라도 있다면 프로세스는 종료되지 않는다. 4. 자바에서 Thread 생성 방법 1) new를 통해 thread 클래스 객체 생성 후 star..