기술면접 2주차(2)

강연주·2024년 10월 11일

🙋‍♀️ 기술면접

목록 보기
14/112

8. Async/Await와 Promise의 차이에 대해 설명해주세요.

💎 제너레이터, async, await

Async는 Await 함수가 들어가는 비동기의 기본 같은 그런 느낌
Promise는 비동기 함수가 리턴하는 프로미스 객체

  • 콜백 헬(callback hell) Async/await 코드 스타일에 이점

9. 데이터 10,000개를 가지고 무한 스크롤 구현시에 가장 중요하게 고려해야 할점은 무엇인가요?

대량의 데이터를 처리하면서 무한 스크롤을 구현하는 것 말씀이시죠? 몰르갓습니당~!

  • 데이터 조회 방식 구현하는 방법이나 구현 시, 사용할 라이브러리를 예시 들기

10. Javascript의 호이스팅에 대해 설명해주세요.

전체 코드 내에서 변수 선언부의 위치와 상관 없이,
코드 실행 시 (런타임) 선언이 최상단으로 끌어올려지는 현상.
이로 인해 첫번째 줄부터 변수를 참조할 수 있다.
var 사용 시 호이스팅이 명확히 보이고,
let과 const는 호이스팅 없이 동작하는 듯하나 실제로는 이루어진다.
➡️ 런타임 이전에 선언이 끌어올려짐!

💡 호이스팅

  • 호이스팅(Hoisting)은 JavaScript에서 변수 및 함수 선언이 컴파일 단계에서 상단으로 옮겨지는 현상을 가리킵니다. 이것은 코드 실행 단계에서 일어나는 것이 아니라, JavaScript 엔진이 스크립트를 해석하기 전에 발생하는 것입니다.

  • 변수와 함수 선언은 선언 단계와 초기화 단계로 나뉩니다. 호이스팅은 선언 단계에서 변수나 함수를 상단으로 옮겨지는 것을 의미하며, 초기화 단계는 코드의 위치에 따라 발생합니다.

  • 실행 컨텍스트 변수 함수선언부가 '끌어올려짐'


11. 동기와 비동기의 차이에 대해 설명해주시고 비동기프로그래밍의 필요성에 대해 답변해주세요.

  • 동기 : 코드가 쓰여진 순서대로 실행
  • 비동기 : 처리 속도에 따라 작업이 완료되도록 실행

먼저 쓰인 코드가 무겁고 느릴 경우 나중에 오는 코드들은 무작정 대기해야 하는 비효율 발생.

동기는 작업을 순차적으로 진행하며,각 작업은 이전 작업의 완료를 기다리고,한 작업이 시작하면 그 작업이 완료될 때까지 다음 작업이 차단되어 대기합니다.

  • 비동기는 비동기적인 작업이 완료되기를 기다리지 않고, 다른 작업을 동시에 진행할 수 있고 특정 이벤트의 발생,콜백 함수의 실행,또는 Promise와 같은 비동기 패턴을 통해 처리됩니다.

  • 비동기 프로그래밍은 성능 향상,반응성 향상, 효율성,스케일링과 확장성을 위해서 필요합니다.

🪞 비동기 프로그래밍


12. 브라우저의 작동방식에 대해서 설명해주세요.

HTML 읽고 뭐 파싱하고 막 그런 거 질문인가요..?

  • 사용자가 URL을 입력하거나 링크를 클릭하면,브라우저는 해당URL로 요청을 보냅니다.

13. GET, POST 방식의 차이점에 대해서 설명해주세요.

음???

GET:데이터는 URL에 포함되어 전송되고,URL을 통해 전송되므로 보안에 취약합니다.

POST:데이터는 HTTP 요청의 본문(body)에 포함되어 전송되고,데이터가 본문에 포함되어 전송되므로, URL에 노출되지 않습니다.


14. GET, POST의 개념과 함께 데이터 흐름에 대해서 설명해주세요.

오???

  • GET: 주로 데이터를 조회하고, 요청 파라미터를 URL에 포함시켜 전송합니다.
    사용자가 브라우저에서 URL을 입력하거나, 링크를 클릭하면 GET 요청이 생성됩니다.

  • POST: 클라이언트에서 서버로 데이터를 전송할 때 사용되는 HTTP 메서드입니다.
    HTML 폼의 Submit 버튼을 누르거나, JavaScript를 사용하여 POST 요청을 생성합니다.

profile
아무튼, 개발자

0개의 댓글