본문 바로가기

⚡️CS자문자답!⚡️

(6)
[1주에 1번 자문자답] OSI 7 계층, 시스템 콜, Spring 특징 ✋🏻 기수 정렬 (Radix Sort)은 무엇인가요? 낮은 자리수부터 비교하여 높은 자리수까지 정렬해나가는 것이 기본개념입니다. 기수정렬은 O(N)이라는 굉장히 빠른 시간 복잡도를 가지나 버킷이라는 추가 메모리가 필요하고 최대자릿수가 늘어나면 시간도 증가하게 됩니다. 0~9 까지의 Bucket(Queue 자료구조의)을 준비한다. 모든 데이터에 대하여 가장 낮은 자리수에 해당하는 Bucket에 차례대로 데이터를 넣는다. 0부터 차례대로 버킷에서 데이터를 다시 가져온다. 가장 높은 자리수를 기준으로 하여 자리수를 높여가며 2번 3번 과정을 반복한다. 시간 복잡도는 O(dn) 자리수가 고정되어 있어서 안정성이 있는 정렬 방식 참고 ✋🏻 OSI 7 계층 무엇인가요? 네트워크에서 일어나는 데이터 전달 과정을 7단..
[1주에 1번 자문자답] VLDB 기술, 힙, 인터럽트, 추상클래스 인터페이스, 서블릿 ✋🏻 데이터베이스 복제에 대해 설명 데이터베이스를 마스터와 슬레이브로 나눠 마스터의 내용을 슬레이브에 복제합니다. 동일한 데이터베이스의 내용을 가지므로 조회에 대한 부하를 분산시킬 수 있습니다. 하지만, 생성, 수정, 삭제 요청 시에는 마스터가 이를 받아 바이너리로그를 생성하여 슬레이브로 넘깁니다. ✋🏻 데이터베이스 파티셔닝이 무엇이고 장/단점이 무엇인가요? 테이블을 파티션이라는 더 작은 단위로 나누어 관리하는 기법입니다. DB에 저장하는 데이터가 커지면 성능저하 문제가 발생합니다. 이때 인덱스를 달아도 B-Tree depth가 깊어져 비교회수가 증가하기 때문에 성능 향상에 한계가 있습니다. 그렇기 때문에 테이블을 더 작은 단위로 분할하면 필요한 파티션만 접근하기 때문에 성능 향상의 효과를 볼수 있습니다..
[1주에 1번 자문자답] 정규화, JVM, PCB, WAS 관련 질문 ✋🏻 데이터베이스를 정규화 하는 이유는 무엇인가요? 데이터베이스의 잘못된 설계로 발생할 수 있는 "데이터 중복"과 "이상 현상"을 해결하기 위해 정규화를 수행합니다. 이상현상에 종류에는 삽입 이상, 갱신 이상, 삭제 이상이 있습니다. ✋🏻 데이터베이스 이상 현상에 대해 설명해주세요. 삽입 이상은 새 데이터를 삽입하기 위해 불필요한 데이터도 함께 삽입해야 하는 현상입니다. 갱신 이상은 중복되는 데이터 중 일부만 수정했을 때 발생하는 데이터 불일치 현상입니다. 삭제 이상은 어떤 데이터를 삭제하려면 원하지 않는 데이터도 삭제되는 현상입니다. ✋🏻 정규화의 장점과 단점 장점 데이터베이스 변경 시 이상현상 제거 데이터 중복 최소화 사용자에게 데이터 모델을 의미있게 제공 단점 테이블 분해로 인해 테이블 간 조인 연..
[1주에1번자문자답] 병행 제어, 쿠키+세션, 쓰레드에 대한 질문 ✋🏻 관계형 데이터베이스란? 키와 값을 관계로 묶어 테이블 형태로 저장하는 데이터베이스입니다. 데이터 항목은 각 항에 저장되며 속성은 열에 표현됩니다. 관계형 데이터베이스에서 "관계"란 각 테이블의 행과 행이 연결되는 관계를 맺을 수 있기 때문입니다. 이러한 관계를 통해 한 테이블에 중복 값들에 의해 발생되는 "이상현상"(삽입 갱신, 삭제 이상)을 없앨 수 있습니다. ✋🏻 관계형 데이터베이스의 장점은 무엇이 있나요? 데이터의 정렬, 탐색, 분류가 NoSql계열에 비해 빠릅니다. 또한 데이터의 무결성과 일관성을 보장합니다. 정규화를 통해 중복을 줄일 수 있습니다. ✋🏻 병행 제어를 사용하는 이유는 무엇인가요? 동시에 여러 개의 트랜잭션이 병행 수행할 때 데이터베이스의 일관성을 파괴하지 않도록 트랜잭션 간의..
[1주에1번자문자답] 데이터베이스에 대한 자문자답 ✋🏻 데이터베이스가 무엇이며 왜 사용하나요? 여러 사용자들이 공유해서 사용할 목적으로 구조화하여 관리하는 데이터 집합입니다. 하나의 데이터베이스에 여러 응용프로그램이 접근할 수 있어서 데이터를 효율적으로 사용할 수 있습니다. 또한, 데이터가 여러 곳에 산재되어 있지 않고 하나에 모여있기 때문에 데이터의 무결성을 유지하기가 좋습니다. 데이터 중복의 최소화, 공용 데이터, 데이터의 일관성 유지(접근 시 유효성 검사), 데이터의 무결성 유지(정당한 사용자, 데이터, 연산 체크), 보안 보장, 표준화 ✋🏻 파일시스템을 사용하지 않고 데이터베이스를 사용하는 이유? 파일 단위로 저장해서 사용할 때 데이터 종속성 문제와, 데이터 무결성 문제가 발생하기 때문입니다. 데이터 종속성 데이터 구성이나 접근 방법 변경 시 관..
[1주에 1번 자문자답] About.. 객체지향, HTTP, 선택&삽입 정렬 ✋🏻 객체 지향 프로그래밍이 뭔가요? 객체 지향 프로그래밍이란 컴퓨터 프로그래밍 패러다임 중 하나입니다. 프로그램에서 필요한 데이터를 추상화시키고 상태 와 행위 를 가진 객체를 만들고 객체 간 상호작용을 통해 프로그램을 구성하는 방법입니다. ✋🏻 객체 지향 프로그래밍의 특징을 아는대로 말씀해주세요. 추상화, 캡슐화, 상속, 다형성이 있습니다. 추상화는 불필요한 정보는 빼고 공통적인 속성을 하나의 개념으로 다루는 것입니다. 캡슐화는 외부에서 객체의 특정 속성이나 메서드를 접근하지 못하게 합니다. 이를 통해 객체 내부가 변경되도 외부의 다른 객체에 영향을 주지 않을 수 있습니다. 상속 은 부모 클래스의 속성과 기능을 이어 받아 코드를 재사용하고 기능을 수정하거나 확장할 때 상속 받은 클래스만 수정해서 사용할..

반응형