면접질문
[Q&A] Const를 사용했지만, 값을 변경할 수 있는 상황은?
const는 변수를 선언할 때 사용되는 JavaScript 키워드 중 하나입니다. const로 변수를 선언하면, 이후에 변수의 값이 변경되는 것을 방지할 수 있습니다. 그러나 const로 선언한 변수의 값이 변경되는 상황은 다음과 같습니다. 1. const로 선언한 변수가 객체 또는 배열인 경우, 해당 변수가 가리키는 객체나 배열 내부의 값은 변경될 수 있습니다. 즉, 변수의 값은 변경할 수 없지만 객체나 배열 내부의 값은 변경이 가능합니다. const arr = [1, 2, 3]; arr.push(4); // 가능 arr[0] = 0; // 가능 console.log(arr); // [0, 2, 3, 4] const obj = { name: 'John', age: 30 }; obj.age = 31; /..
[Q&A] 동기와 비동기
자바스크립트에서 동기(Synchronous)와 비동기(Asynchronous)는 코드의 실행 순서와 관련된 개념입니다. 동기(Synchronous)? 동기적으로 코드를 실행하면, 코드는 순차적으로 실행되며, 이전 코드의 실행이 끝나기 전에는 다음 코드가 실행되지 않습니다. 이 때문에, 코드가 실행되는 동안 다른 작업을 할 수 없습니다. 예를 들어, 다음의 코드는 동기적으로 실행됩니다. console.log('start'); console.log('middle'); console.log('end'); 위 코드를 실행하면, 'start'가 출력된 이후에 'middle'과 'end'가 순차적으로 출력됩니다. 이 때, 'middle'와 'end'는 'start'가 출력된 이후에 실행됩니다. 비동기(Asynchr..
[Q&A] 변수의 생성과정과 호이스팅에 대해 설명해라
변수의 생성과정 자바스크립트에서 변수를 선언하면, 해당 변수는 생성 및 초기화 과정을 거칩니다. 변수의 생성 및 초기화 과정은 다음과 같습니다 변수 선언: 변수를 선언합니다. 이때 변수의 이름이 메모리에 등록됩니다. 메모리 할당: 변수를 위한 메모리 공간이 할당됩니다. 이때 변수의 타입에 따라 할당되는 메모리 공간의 크기가 결정됩니다. 초기화: 변수에 초기값을 할당합니다. 변수의 타입에 따라, 초기값을 할당하지 않을 수도 있습니다. 변수의 생성 과정이 완료되면, 해당 변수를 사용할 수 있습니다. 그러나 자바스크립트에서는 변수의 생성과정에서 특별한 동작인 "호이스팅(Hoisting)"이 발생합니다. 호이스팅이란? 변수의 선언 부분이 해당 스코프의 맨 위로 끌어올려지는 동작을 의미합니다. 즉, 변수의 선언이..
[Q&A] 프로세스, 스레드, 멀티스레드란?
프로세스, 스레드, 멀티스레드는 모두 컴퓨터에서 실행되는 프로그램을 구성하는 단위입니다. 각각의 개념을 설명하면 다음과 같습니다 프로세스(Process) 실행 중인 프로그램을 의미합니다. 각각의 프로세스는 운영체제(OS)에서 독립적으로 메모리 공간과 시스템 자원을 할당받으며, 다른 프로세스와는 독립적으로 실행됩니다. 스레드(Thread) 하나의 프로세스 내에서 실행되는 실행 흐름을 의미합니다. 스레드는 해당 프로세스 내에서 자원을 공유하며, 병렬로 실행될 수 있습니다. 스레드는 프로세스 내에서 동작하는 가장 작은 실행 단위이며, 프로세스의 실행 속도를 향상시키는 데에 유용하게 사용됩니다. 멀티스레드(Multithreading) 하나의 프로세스 내에서 여러 개의 스레드가 병렬로 동작하는 것을 의미합니다. ..
[면접질문] NodeJS 및 NestJS 신입 질문모음
서류를 합격해서 면접을 보러다닌 회사는 점점 늘어가는데 아직 취직을 성공하지 못했다. 진짜 빨리 취직하고싶다.. ㅠㅠㅠ 면접 당시 답을 제대로 하지 못했던 질문들을 생각해두고 매번 따로 정리해두곤 했는데 블로그에 다시 한번 공부할겸, 저같은 취업준비생분들께 도움이 됐으면 하는 작은 바램에 작성해보려합니다. 제목을 누르면 해당 글로 이동됩니다 질문들만 미리 작성해둔것이며, 전부 글 작성 예정입니다. 혹시, 제가 작성한 글에서 틀린부분이 있다면 지적 부탁드립니다! 자바스크립트 작동원리? 프로세스, 스레드, 멀티스레드란? 프로세스 스레드 멀티스레드 변수의 생성과정과 호이스팅에 대해 설명해라 변수의 생성과정 호이스팅이란? let,var,const의 차이점 함수 스코프와 블록 스코프란? 동기와 비동기? 동기? 비..