공부/면접 준비(30)
-
[면접준비] 프로그래밍 패러다임 (24/04/23)
객체지향 프로그래밍 프로그램 설계방법론의 일종으로, 에 속한다.프로그램을 단순히 데이터와 처리 방법으로 나누는 것이 아니라, 프로그램을 수많은 '객체(object)'라는 기본 단위로 나누고 이들의 상호작용으로 서술하는 방식이다. 객체란 '메소드, 변수'를 가지며, 특정 역할을 수행하도록 인간이 정의한, 추상적인 개념. 다 프로그램의 상태에 대한 문장들을 작성하는 스타일을 일컫는다.객체지향형 프로그래밍이란 객체를 먼저 만들고 이렇게 만들어진 여러 객체들을 조립해서 하나의 완성된 프로그램을 만드는 프로그래밍 방법론이다.가장 큰 장점은 프로그램을 보다 유연하고 변경이 용이하게 만들 수 있다는 점이다.소프트웨어를 설계할 때 객체 지향적 원리를 잘 적용해 둔 프로그램은 각각의 부품들이 각자의 독립적인 역할을 가지..
2024.04.23 -
[면접준비] 아침 면접 준비 - 정규화, 무결성 (24/04/18)
정규화정규화는 데이터베이스 무결성 제약 조건에 따라 종속성이 적절하게 적용되는 방식으로 데이터를 테이블로 구성하여 중복성을 줄이고 데이터 무결성을 향상시키기 위해 데이터베이스 설계에 사용되는 체계적인 접근 방식이다.정규화의 주요 목적중복 데이터 제거: 여기에는 저장 공간을 낭비할 뿐만 아니라 데이터 처리 중에 불일치를 초래할 수 있는 중복 데이터를 방지하는 것이 포함됩니다. 데이터 종속성을 보장하려면: 이는 모든 데이터가 논리적으로 저장되도록 하여 데이터베이스의 논리적 일관성을 유지하는 데 도움이 됩니다. 데이터를 보호하려면: 정규화는 중복성을 최소화하고 데이터 종속성을 보장함으로써 삽입, 삭제 및 업데이트 작업 중에 데이터 무결성 손실과 이상 현상으로부터 데이터를 보호하는 데 도움이 됩니다. 정규화에는..
2024.04.22 -
[면접준비] 동기/비동기, deadlock (24/04/22)
동기/비동기동기(Synchronous)순차적/직렬적으로 태스크를 수행한다요청을 보냈다면, 응답을 받아야 다음 동작이 이루어진다순차적으로 실행되므로, 어떤 작업이 수행중이라면 뒤의 작업은 대기한다블로킹(작업 중단)이 발생한다동기적으로 데이터를 서버로부터 받아오는 앱을 만든다고 가정하면, 데이터를 받아오기 까지 기다린 후 앱이 실행될 것이고 서버에 가져오는 데이터 양이 늘어날수록 실행 속도가 느려질 것이다.이러한 불편함을 해결하기 위해 데이터 수신과 페이지 표시가 비동기적으로 처리되어야 한다.stTimeout과 AJAXfunction func1() { console.log('첫번째 펑션!'); func2();}function func2(){ console.log('두번째 펑션!'); f..
2024.04.22 -
[면접준비] 아침 면접 준비 (24/04/17)
1. Promise란 무엇입니까?Promise는 비동기 작업의 미래 완료 또는 실패와 그 결과 값을 나타내는 객체입니다. Promise가 생성될 때 반드시 알 수 없는 값에 대한 대리자로, 비동기 연산 종료 이후 결과 값과 실패 사유를 처리하기 위한 처리기를 연결할 수 있다. 프로미스를 사용하여 비동기 메서드를 마치 동기 메서드처럼 다룰 수 있다. 다만, 최종 결과를 반환하는게 아니라 어느 미래 시점에 결과를 제공하겠다는 약속(promise)를 반환한다.대기(pending): Promise의 초기 상태입니다. 결과는 아직 결정되지 않았습니다. 이행(fulfilled): 작업이 성공적으로 완료되었으며 이제 Promise는 결과 값을 보유합니다. 거부(rejected): 작업이 실패했으며 Promise에는 ..
2024.04.17 -
[면접준비] Day78 아침 면접 준비 (24/04/16)
웹 브라우저에 URL을 입력했을때 일어나는 과정웹 브라우저에 URL을 입력하면 요청한 웹 페이지를 가져와 표시하기 위해 여러 단계가 발생합니다. URL 입력: 사용자가 웹 브라우저에 URL을 입력하고 Enter 키를 누릅니다. 도메인명의 IP 주소 조회: 브라우저는 입력한 도메인을 IP 주소로 변환하기 위해 DNS를 조회합니다. TCP 연결 시작: 브라우저는 서버와 TCP 연결을 설정하여 통신을 시작합니다. HTTP 요청 전송: 브라우저는 서버에 HTTP 요청을 보냅니다. 요청에는 요청 라인, 헤더, 본문이 포함됩니다. 서버 응답: 서버는 요청을 받고 처리한 후 응답을 보냅니다. 응답에는 상태 라인, 헤더, 리소스(HTML, CSS, Javascript 등)가 포함됩니다. 콘텐츠 렌더링: 브라우저는 받은..
2024.04.16 -
[면접준비] 자료구조 (24/04/15)
Array와 Linked List의 비교Array정적 자료구조. 특정 크기의 연속적인 메모리 공간에 데이터를 저장하는 자료구조.생성시 크기가 정해지며, 동적으로 변경하기 어렵다.연결된 메모리 주소를 할당 받기 때문에 index를 가지게 되고, 임의 접근이 가능하다는 장점을 가진다.index를 가지기 때문에 접근과 탐색이 용이하다.크기를 미리 정했기 때문에 수정이 불가능하며, 정해진 크기 이상의 데이터를 저장할 수 없다. Linked List동적 자료구조. 크기를 정할 필요도 없으며, 메모리 주소또한 연속되지 않는다.데이터와 다음 데이터를 가리키는 주소가 담긴 노드(Node)를 가지고 노드끼리 연결된 형태이다.크기를 정해놓지 않았기 때문에 크기 제한이 없으며, 데이터 추가 삭제가 자유롭다.연속적인 메모리 ..
2024.04.15