기술 면접 준비
-
이력서 스터디 Day 1 - 이벤트 루프(Event Loop) & 콜백함수(Callback Function)기술 면접 준비 2023. 5. 30. 11:15
1. 이벤트 루프 (Event Loop)에 대해 설명해보세요. Event Loop는 Call Stack과 Callback Queue의 상태를 체크하여, Call Stack이 빈 상태가 되면, Callback Queue의 첫번째 콜백을 Call Stack으로 밀어넣는 역할을 한다. 이벤트루프란 브라우저/런타임환경에 내장되어 있는 기능 중 하나로, 콜 스택에 현재 실행중인 실행 컨텍스트가 있는지 이벤트 큐에 대기중인 함수가 있는지 반복해서 확인을 한다. 만약 콜 스택이 비어있고 이벤트 큐에 대기중인 함수가 있다면 이벤트 루프는 순차적으로 큐의 First In First Out에 따라 대기중인 함수를 콜스택으로 이동키신다. 그러면 콜 스택으로 이동한 함수가 실행되게 된다. 자바스크립트 엔진 내부는 크게 힙(h..
-
Day 4 - 자료구조와 알고리즘, 데이터베이스와 ORM기술 면접 준비 2023. 5. 11. 16:31
1. 자료구조와 알고리즘 중에서 자주 사용되는 것들은 어떤 것이 있나요? 자료구조란 자료구조는 말 그대로 자료(data)를 담는 구조이다. 자세히 말하면 컴퓨터 과학에서 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저장을 의미한다. 더 정확히 말해, 자료 구조는 데이터 값의 모임, 데이터 간의 관계, 그리고 데이터에 적용할 수 있는 함수나 명령을 의미한다. 책장을 예로 들어보면, 책장에 책을 꽂아 넣으려고 하는데 책을 알파벳 순서로 꽂아둘 것인지 아니면 책상에 쌓아 올려둘 것인지를 결정하는 것, 즉, 이런 데이터가 저장된 형태를 결정하는 것이 자료구조이다. 자료 구조의 분류 자료의 특성과 크기, 주요 사용법과 수행하는 연산의 종류, 구현에 필요한 기억 공간 크기에 따라 여러 가지 종류의 자료구조 중..
-
Day 3 - HTTP와 HTTPS 차이, RESTful API기술 면접 준비 2023. 5. 10. 15:19
1. HTTP와 HTTPS의 차이점은 무엇인가요? HTTP와 HTTPS의 차이는 보안입니다. HTTP와 HTTPS는 인터넷에서 정보를 주고 받을 때 사용하는 프로토콜입니다. HTTP는 암호화하지 않은 평문으로 데이터를 전송하기 때문에, 해커가 중간에서 데이터를 가로채면 데이터를 쉽게 볼 수 있습니다. 반면에 HTTPS는 HTTP에 SSL/TLS 프로토콜을 추가하여, 암호화된 데이터를 전송하는 보안 프로토콜입니다. HTTPS는 SSL 인증서를 사용해 서버의 신원을 확인하고, 데이터의 암호화와 복호화를 수행합니다. 이를 통해 해커들이 중간에서 데이터를 가로채거나 조작하는 것을 막아주고, 안전한 인터넷 통신을 보장합니다. 2. RESTful API에 대해 설명해보세요. RESTful API는 HTTP 프로토콜..
-
Day 2 - 동기와 비동기, 프로세스와 스레드기술 면접 준비 2023. 5. 9. 12:44
1. 동기 (Synchronous)와 비동기 (Asynchronous) 코드 실행 방식에 대해 설명해보세요. 동기 코드 실행 방식은 코드가 위에서부터 순서대로 실행되는 방식입니다. 코드에서 함수를 호출하면 함수가 완료될 때까지 기다렸다가 그 결과를 반환받아 다음 코드를 실행합니다. 비동기 코드 실행 방식은 코드가 위에서부터 순서대로 실행되지 않는 방식입니다. 코드에서 함수를 호출하면 함수가 실행 중일 때 다음 코드를 실행합니다. 함수가 완료될 때까지 기다리지 않고 결과를 반환받지 않으며, 대신 콜백 함수나 프로미스와 같은 메커니즘을 사용하여 함수가 완료되면 결과를 처리합니다. 2. 프로세스 (Process)와 스레드 (Thread)의 차이점은 무엇인가요? 프로세스는 운영체제로부터 자원을 할당 받아 실행 ..
-
Day 1 - 객체지향 프로그래밍, REST API기술 면접 준비 2023. 5. 8. 14:23
1. 객체지향 프로그래밍(OOP)에 대해 설명해주세요. 알고있는 원칙이나 키워드를 언급해주세요 객체지향 프로그래밍은 프로그래밍 패러다임 중 하나로, 프로그램을 여러 개의 독립적인 단위인 객체로 구성하는 방식을 말합니다. 객체는 데이터와 해당 데이터를 조작할 수 있는 함수(메서드)로 구성됩니다. 이러한 객체들은 서로 상호작용을 하며, 프로그램의 기능을 수행합니다. OOP의 가장 큰 특징은 캡슐화(Encapsulation), 상속(Inheritance), 다형성(Polymorphism)입니다. 캡슐화는 객체의 내부 상태(데이터)와 동작(메서드)를 외부로부터 숨기고, 외부에서는 객체와 상호작용할 수 있는 인터페이스만을 제공하는 것을 말합니다. 이를 통해 객체의 내부 구현과 외부 사용을 분리할 수 있으며, 코드..