차례[숨다][보여 주다]
- 1. 자바스크립트는 당신에게 어떤 의미인가요?
- 2. JavaScript 개발을 위한 두 가지 기본적인 프로그래밍 패러다임의 이름을 지정하십시오.
- 3. JavaScript와 Java의 차이점은 무엇입니까?
- 4. JavaScript는 어떤 형태의 데이터를 지원합니까?
- 5. JavaScript는 어떤 특성을 가지고 있습니까?
- 6. JavaScript 사용의 단점은 무엇입니까?
- 7. JavaScript를 사용하여 객체를 구축할 수 있는 방법은 무엇입니까?
- 8. JavaScript에서 배열을 어떻게 구성합니까?
- 9. JavaScript에서 이름 함수를 정의하는 방법은 무엇이며 무엇입니까?
- 10. JavaScript에서 호이스팅을 설명합니다.
- 11. 변수의 JavaScript 범위는 무엇을 수반합니까?
- 12. ASP 스크립트와 JavaScript 중 어느 것이 더 빠릅니까?
- 13. 프로토타입 상속이 고전 상속과 어떻게 다른지 설명하십시오.
- 14. 새 구성 요소를 동적으로 추가하는 프로그램을 작성하십시오.
- 15. 콜백: 무엇입니까?
- 16. JavaScript 프로그램을 어떻게 디버깅할 수 있습니까?
- 17. 폐쇄: 무엇입니까? 실례를 들어라.
- 18. HTML 파일에 JavaScript 코드를 포함하는 방법에는 어떤 것이 있습니까?
- 19. JavaScript의 타이머는 어떻게 작동합니까?
- 20. 쿠키에 대한 귀하의 견해는 무엇입니까?
- 21. 쿠키는 어떻게 만드나요?
- 22. JavaScript 변수 명명 규칙은 무엇입니까?
- 23. let과 var의 차이점은 무엇입니까?
- 24. 자체 호출 기능이 존재하는 이유는 무엇입니까?
- 25. 속성과 속성을 구별하는 것은 무엇입니까?
- 26. JavaScript에서 화살표 함수는 무엇을 합니까?
- 27. 입력되는 언어는 무엇입니까?
- 28. JavaScript에서 NEGATIVE INFINITY를 설명하십시오.
- 29. undefined와 null을 구별하는 것은 무엇입니까?
- 30. 요소의 내부 HTML을 얻는 방법을 보여주는 JavaScript 코드를 작성하십시오.
- 31. JavaScript 프레임워크에는 어떤 것이 있습니까?
- 32. 자바스크립트에서 이벤트 버블링이란?
- 33. 자바스크립트 메모이제이션이란 무엇을 의미합니까?
- 34. 수입과 수출은 무엇을 의미합니까?
- 35. JavaScript의 "Strict" 모드는 무엇이며 어떻게 활성화됩니까?
- 36. instanceof 연산자를 수행하는 것은 무엇입니까?
- 37. JavaScript에서 프롬프트 상자는 무엇을 의미합니까?
- 38. 자바스크립트에서 제너레이터는 무엇을 하나요?
- 39. 봄: 뭐야?
- 40. 지연된 스크립트: JavaScript에서 어떤 기능을 제공합니까?
- 결론
무료 오픈 소스 프로그래밍 언어는 JavaScript입니다. 웹 기반 응용 프로그램을 만드는 데 사용됩니다. 가볍고 해석이 가능하여 다른 언어보다 훨씬 빠릅니다.
JavaScript를 사용하는 것이 더 쉽습니다. 웹 애플리케이션 HTML 통합 때문입니다. 얼마나 중요한지 확인하려면 브라우저에서 JavaScript를 비활성화하고 페이지를 로드해 보십시오.
이러한 웹사이트는 제대로 작동하지 않습니다. 콘텐츠가 제대로 작동하지 않는 경우가 많습니다. 거의 모든 최신 브라우저는 HTML, CSS 및 JavaScript를 혼합합니다.
JavaScript는 해석되는 것 중 하나입니다. 프로그래밍 언어. Google Chrome, Microsoft Internet Explorer 등을 비롯한 많은 브라우저에 이미 인터프리터가 포함되어 있습니다.
따라서 해당 코드는 브라우저의 JavaScript 엔진에서 처리할 수 있습니다. 다음은 인터뷰를 준비하는 경우 참조할 수 있는 초보자에서 전문가 수준의 JS 인터뷰 질문과 답변입니다.
그 목적은 기술 면접 중에 접할 수 있는 질문 유형을 소개하는 것입니다. 의 시작하자.
1. 자바스크립트는 당신에게 어떤 의미인가요?
클라이언트 측 및 서버 측 프로그래밍 모두에 사용되는 가장 많이 사용되는 웹 스크립팅 언어는 JavaScript입니다. JavaScript 코드는 웹 브라우저가 이해하고 실행할 수 있는 HTML 페이지에 배치할 수 있으며, 이는 다음 기능을 지원합니다. 객체 지향 프로그래밍.
2. JavaScript 개발을 위한 두 가지 기본적인 프로그래밍 패러다임의 이름을 지정하십시오.
다중 패러다임 언어인 JavaScript로 프로그래밍하면 다음이 가능합니다.
- 절차적/명령적 프로그래밍
- 객체 지향 프로그래밍(OOP)
- 함수형 프로그래밍 사용
- 프로토타입 기반 프로그래밍 접근 방식 또는 프로토타입 기반 상속(OOP의 확장)
3. JavaScript와 Java의 차이점은 무엇입니까?
JavaScript는 주로 스크립팅 언어이지만 Java는 프로그래밍 언어입니다. Java는 개발자가 컴퓨터의 운영 체제, 가상 머신 또는 웹 브라우저에서 실행할 수 있는 프로그램을 만드는 데 사용하는 프로그래밍 언어입니다. 대조적으로 JS 코드는 브라우저 내에서만 실행되도록 설계되었습니다.
하지만 Electron과 Node.js를 활용하면 자바스크립트로 독립적인 데스크탑 앱을 만들 수 있습니다. Java와 JS 코드는 후자가 텍스트 형식으로 제공되고 전자는 컴파일이 필요하다는 점에서 크게 다릅니다.
4. JavaScript는 어떤 형태의 데이터를 지원합니까?
JavaScript가 지원하는 데이터 유형은 다음과 같습니다.
- 끈
- 상징
- 번호
- 목적
- 정의되지 않음
- null로
- 부울
5. JavaScript는 어떤 특성을 가지고 있습니까?
무료이며 보편적인 스크립팅 언어입니다.
경량의 인터프리터 프로그래밍 언어입니다.
네트워크 중심 응용 프로그램을 구축하는 데 사용됩니다.
둘 다 Java에 연결되어 있고 보완적입니다.
6. JavaScript 사용의 단점은 무엇입니까?
경험이 있는 코더는 자신이 선호하는 언어의 장점을 칭찬하는 것 외에도 선호하는 언어의 단점에 대해 논의할 수 있습니다. 보안은 JavaScript의 최악의 결함입니다. 그것이 어떻게 남용될 수 있는지에 대한 정보를 찾으십시오.
JavaScript의 또 다른 단점은 광범위한 사용과 적응성으로, 다양한 시스템에서 고르지 못한 성능을 초래할 수 있는 이상한 프로그래밍을 위한 많은 여지를 남기기 때문에 양날의 검이 될 수 있습니다.
7. JavaScript를 사용하여 객체를 구축할 수 있는 방법은 무엇입니까?
객체에 대한 아이디어는 JavaScript에서 잘 지원됩니다. 객체 리터럴을 사용하여 아래와 같이 객체를 빌드할 수 있습니다.
8. JavaScript에서 배열을 어떻게 구성합니까?
배열 리터럴은 다음과 같이 배열을 정의하는 데 사용할 수 있습니다.
9. JavaScript에서 이름 함수를 정의하는 방법은 무엇이며 무엇입니까?
명명된 함수가 정의되면 즉시 이름을 정의합니다. function 키워드를 사용하여 다음과 같이 설명할 수 있습니다.
10. JavaScript에서 호이스팅을 설명합니다.
모든 변수 및 함수 선언은 호이스팅으로 알려진 JavaScript에서 기본적으로 맨 위로 이동합니다. 이는 정의된 위치에 관계없이 모든 변수와 함수가 범위의 맨 위로 재배치됨을 의미합니다. 도달 범위는 지역적이거나 국제적일 수 있습니다.
11. 변수의 JavaScript 범위는 무엇을 수반합니까?
변수가 정의된 프로그램 섹션은 변수의 범위입니다. JavaScript 변수가 가질 수 있는 범위는 두 가지뿐입니다.
- 전역 변수: 전역 범위가 있으므로 JavaScript 코드의 모든 곳에서 전역 변수를 볼 수 있습니다.
- 지역 변수: 지역 변수는 선언된 함수 내에서만 볼 수 있습니다. 해당 함수에 로컬인 함수 인수는 항상 존재합니다.
12. ASP 스크립트와 JavaScript 중 어느 것이 더 빠릅니까?
더 빠른 것은 JavaScript입니다. JavaScript는 클라이언트 측 언어이기 때문에 웹 서버의 도움 없이 실행할 수 있습니다. 그러나 ASP는 서버 측 언어이므로 항상 JavaScript보다 느립니다. 현재 JavaScript는 서버 측 언어(nodejs)이기도 합니다.
13. 프로토타입 상속이 고전 상속과 어떻게 다른지 설명하십시오.
JavaScript는 전통적인 상속의 엄격한 제약을 없애고 객체가 다른 객체의 속성을 상속할 수 있도록 하는 놀라운 능력을 가지고 있습니다. –
- 고전적 상속: "new" 키워드의 도움으로 생성자 함수는 인스턴스를 생성합니다. 부모 클래스의 속성은 이 새 인스턴스로 전달됩니다.
- 프로토타입 상속: 프로토타입 역할을 하는 기존 개체를 복사하여 인스턴스를 생성합니다. 팩토리 함수 또는 "Object.create()"를 통해 자주 생성되는 이 경우에 다양한 객체로부터의 선택적 상속이 유리할 수 있습니다.
14. 새 구성 요소를 동적으로 추가하는 프로그램을 작성하십시오.
15. 콜백: 무엇입니까?
메소드에 대한 인수 또는 옵션으로 전송되는 간단한 JavaScript 함수를 콜백이라고 합니다. "콜백"이라는 용어는 다른 기능이 완료된 후 수행되도록 의도된 기능을 나타냅니다. 함수는 JavaScript의 객체입니다. JavaScript 객체는 함수입니다. 따라서 함수는 다른 함수를 반환하고 다른 함수를 입력으로 받을 수 있습니다.
16. JavaScript 프로그램을 어떻게 디버깅할 수 있습니까?
관련 키(일반적으로 F12 키)를 누르면 Chrome, Firefox 등을 포함한 모든 최신 웹 브라우저에 언제든지 사용할 수 있는 내장형 디버거가 함께 제공됩니다.
사용자는 디버깅 도구가 제공하는 다양한 기능을 활용할 수 있습니다. JavaScript 응용 프로그램을 만드는 데 사용하는 코드 편집기를 사용하면 JavaScript 코드 문제를 해결할 수도 있습니다.
17. 폐쇄: 무엇입니까? 실례를 들어라.
현재 범위 외부에 지정된 변수가 내부 범위에서 액세스되면 클로저가 생성됩니다. 내부 함수에서 외부 함수의 범위에 액세스할 수 있습니다.
JavaScript에서 함수가 생성될 때마다 클로저도 생성됩니다. 다른 함수 내에서 함수를 작성하고 노출한 다음 이를 활용하여 클로저를 구현하기만 하면 됩니다.
18. HTML 파일에 JavaScript 코드를 포함하는 방법에는 어떤 것이 있습니까?
JavaScript 코드는 주로 다음 두 가지 방법 중 하나로 삽입할 수 있습니다.
- 웹 페이지 내에서 몇 줄의 스크립팅만 필요한 경우 동일한 HTML 파일의 스크립트 요소 내에서 JavaScript 코드를 작성할 수 있습니다.
- 코드를 방해하지 않고 웹 페이지에 모든 스크립팅 기능을 추가하기 위해 JavaScript 소스 파일을 HTML 문서로 가져올 수 있습니다.
19. JavaScript의 타이머는 어떻게 작동합니까?
타이머는 미리 결정된 시간에 코드 조각을 실행하거나 반복하는 데 사용됩니다. 이를 위해 setTimeout, setInterval 및 clearInterval 메서드가 사용됩니다.
setTimeout(function, delay) 함수를 사용하여 지정된 지연 시간 이후에 특정 기능을 실행하는 타이머를 설정합니다. setInterval(function, delay) 함수는 지정된 지연 시간 동안 지정된 함수를 반복적으로 실행하고 취소된 경우에만 중지합니다.
타이머는 clearInterval(id) 메서드를 사용하여 종료하도록 지시합니다. 타이머는 단일 스레드에서 실행되기 때문에 이벤트가 대기하고 수행되기를 기다릴 수 있습니다.
20. 쿠키에 대한 귀하의 견해는 무엇입니까?
쿠키는 종종 웹사이트가 사용자의 컴퓨터로 보내는 작은 데이터 조각이며 페이지를 방문하는 데 사용된 웹 브라우저에 의해 거기에 저장됩니다.
쿠키는 웹사이트 보기 활동을 캡처하고 나중에 사용할 수 있도록 정보를 기억하는 데 사용됩니다.
21. 쿠키는 어떻게 만드나요?
다음은 쿠키를 생성하는 가장 간단한 JavaScript 방법입니다.
22. JavaScript 변수 명명 규칙은 무엇입니까?
JavaScript에서 변수 이름을 지정할 때 다음 규칙을 따라야 합니다.
JavaScript 예약 키워드는 변수 이름으로 사용하면 안 됩니다. 예를 들어, break 또는 boolean으로 끝나는 변수 이름은 유효하지 않습니다.
JavaScript에서 변수 이름은 숫자(0-9)로 시작하면 안 됩니다. 문자나 밑줄 기호로 시작해야 합니다.
예를 들어, 123name은 허용되는 변수 이름이 아니지만 _123name 또는 name123은 허용됩니다. JavaScript 변수 이름에서 대소문자가 중요합니다. 예를 들어 테스트와 테스트는 별개의 두 변수입니다.
23. let과 var의 차이점은 무엇입니까?
JavaScript에서 변수 및 메서드 선언은 let 또는 var를 사용하여 만들 수 있습니다. 이 둘 사이의 유일한 실제 차이점은 let 키워드는 블록으로 범위가 지정되는 반면 var 키워드는 함수로 범위가 지정된다는 것입니다.
24. 자체 호출 기능이 존재하는 이유는 무엇입니까?
즉시 호출된 함수 표현식 또는 자체 실행 익명 함수는 다른 이름입니다. 이들은 코드에 의해 자동으로 호출되기 때문에 "자체 호출 함수"로 알려져 있습니다.
함수를 작성하고 호출합니다. 그러나 설명될 때 함수가 자동으로 실행되고 다시 사용하지 않을 경우 익명 함수를 사용할 수 있습니다. 또한 일부 기능에는 이름이 없습니다.
25. 속성과 속성을 구별하는 것은 무엇입니까?
JS DOM 객체의 속성은 특정 구성 요소의 인스턴스 변수와 유사하게 작동합니다. 속성에는 다양한 데이터 종류가 포함될 수 있습니다.
Vanilla JS의 객체와 상호 작용하거나 jQuery의 prop() 함수를 사용하여 속성에 액세스할 수 있습니다.
속성은 DOM이 아닌 HTML에서 찾을 수 있습니다. 속성과 비슷하지만 기능이 적습니다. 속성을 사용할 수 있는 경우 속성으로 작업하는 것보다 속성으로 작업하는 것이 좋습니다.
속성은 속성과 달리 문자열 데이터 유형입니다.
26. JavaScript에서 화살표 함수는 무엇을 합니까?
JavaScript에서 화살표 함수는 함수를 작성하는 빠르고 명확한 방법입니다. 화살표 함수에는 다음과 같은 일반 구문이 있습니다.
27. 입력되는 언어는 무엇입니까?
변수가 아닌 값은 유형이 지정된 언어에서 서로 관련됩니다. 두 가지 범주가 있습니다.
동적으로: 변수가 숫자나 문자열을 받아들일 수 있는 JS와 달리, 이것은 변수가 많은 종류를 포함할 수 있도록 합니다.
정적으로: 여기에서 변수는 하나의 유형만 저장할 수 있습니다. 예를 들어 Java에서 문자열 변수는 특정 문자 집합만 저장할 수 있습니다.
28. JavaScript에서 NEGATIVE INFINITY를 설명하십시오.
음의 정수를 0으로 나누면 결과가 되는 정적 속성 NEGATIVE INFINITY가 JS에서 생성됩니다. 다음은 중요한 특성 중 일부입니다.
NEGATIVE INFINITY에 액세스하기 위해 추가 개체를 생성해서는 안 됩니다.
NEGATIVE INFINITY 속성의 값은 전역 개체에 대한 무한 속성의 음수 값에 해당합니다.
29. undefined와 null을 구별하는 것은 무엇입니까?
정의되지 않음은 아직 값이 지정되지 않은 선언된 변수를 나타냅니다. 반면에 Null은 할당 값입니다. 값이 없음을 표시하고 변수에 할당하는 데 사용할 수 있습니다.
Undefined는 그 자체로 유형(undefined)인 반면, null은 객체입니다. 정의되지 않은 것과 null도 다른 종류입니다.
30. 요소의 내부 HTML을 얻는 방법을 보여주는 JavaScript 코드를 작성하십시오.
31. JavaScript 프레임워크에는 어떤 것이 있습니까?
JavaScript로 만든 응용 프로그램 프레임워크를 JavaScript 프레임워크라고 합니다. 면에서 제어 흐름, JavaScript 라이브러리와 다릅니다. 몇 가지 JavaScript 프레임워크를 사용할 수 있지만 가장 널리 사용되는 몇 가지 프레임워크는 다음과 같습니다.
- 모난
- 반응
- 뷰
32. 자바스크립트에서 이벤트 버블링이란?
이벤트가 다른 요소 내의 한 요소에서 발생하고 두 요소 모두 해당 이벤트에 대한 핸들을 등록하면 HTML DOM API는 이벤트 전달 방법으로 이벤트 버블링을 사용합니다.
버블링이 발생하면 이벤트가 주변 구성 요소로 전달되기 전에 가장 안쪽 요소에 의해 초기에 감지되고 처리됩니다.
해당 이벤트를 시작으로 실행은 상위 요소로 이동합니다. 그 다음에는 부모 요소가 실행을 수신하는 식으로 body 요소까지 계속됩니다.
33. 자바스크립트 메모이제이션이란 무엇을 의미합니까?
암기는 값비싼 함수 호출의 결과를 저장하고 동일한 입력이 다시 수신될 때 재사용하여 코드 속도를 높이는 최적화 방법입니다.
함수는 복잡한 계산을 수행하기 때문에 실행하는 데 많은 시간과 메모리가 필요한 경우 비용이 많이 든다고 합니다. 캐시는 값비싼 함수 호출의 결과로 즉시 채워집니다.
동일한 함수는 필요한 계산을 우회하고 동일한 입력 매개변수로 다시 호출되는 경우 캐시된 값을 반환합니다.
함수는 이미 수행한 계산이나 계산을 다시 실행할 필요가 없기 때문에 이 방법을 사용하면 프로그램에서 사용하는 시간과 메모리가 크게 절약됩니다.
34. 수입과 수출은 무엇을 의미합니까?
가져오기 및 내보내기를 사용하여 모듈식 JavaScript 코드를 만들 수 있습니다. 가져오기와 내보내기를 사용하여 코드를 여러 파일로 나눌 수 있습니다. 예는 다음과 같습니다.
35. JavaScript의 "Strict" 모드는 무엇이며 어떻게 활성화됩니까?
엄격 모드를 사용하여 코드에서 오류 검사를 개선할 수 있습니다.
엄격 모드를 사용하는 경우 확장할 수 없는 개체에 속성을 추가하거나, 읽기 전용 속성에 값을 할당하거나, 암시적으로 선언된 변수를 활용하거나, 읽기 전용 변수에 값을 할당할 수 없습니다.
"use strict"로 파일, 프로그램 또는 기능을 시작하여 엄격 모드를 활성화할 수 있습니다.
36. instanceof 연산자를 수행하는 것은 무엇입니까?
instanceof 연산자는 객체의 프로토타입 체인에 생성자의 프로토타입 속성 인스턴스가 있는지 확인합니다. 즉, instanceof 연산자는 객체가 클래스의 인스턴스인지 런타임에 결정합니다.
instanceof 연산자는 변수 사용자의 유형을 결정하기 위해 아래 예에서 사용됩니다.
37. JavaScript에서 프롬프트 상자는 무엇을 의미합니까?
프롬프트 상자는 사용자가 입력을 제공할 수 있는 텍스트 상자가 있는 상자입니다. 프롬프트() 함수를 통해 입력을 요청하는 대화 상자가 표시됩니다. 페이지를 보기 전에 사용자가 값을 입력해야 하는 경우 프롬프트 상자를 사용하십시오.
사용자는 값을 입력한 후 나타나는 팝업 상자에서 "확인" 또는 "취소"를 선택해야 계속할 수 있습니다.
38. 자바스크립트에서 제너레이터는 무엇을 하나요?
제너레이터는 서로 다른 시간에 사용할 수 있는 함수입니다. 이러한 함수의 컨텍스트 및 변수 바인딩은 재진입 동안 저장 및 유지됩니다.
생성기 함수의 초기 호출은 생성기라고 하는 특정 종류의 반복기를 반환합니다. 다음 단계는 값을 사용하기 위해 생성기의 다음 메소드를 호출하는 것입니다. yield 키워드를 만날 때까지 제너레이터 함수는 계속 실행됩니다.
39. 봄: 뭐야?
BOM 또는 브라우저 개체 모델을 사용하면 창이 첫 번째 개체로 사용되는 브라우저와 상호 작용할 수 있습니다. 다른 기능 외에도 창 개체에는 문서, 기록, 화면, 탐색기 및 위치가 있습니다.
그러나 창의 기능은 직접 또는 창을 참조하여 액세스할 수 있습니다.
40. 지연된 스크립트: JavaScript에서 어떤 기능을 제공합니까?
브라우저는 페이지가 로드될 때 HTML 코드를 구문 분석하기 시작합니다. 기본적으로 브라우저는 스크립트를 만나면 HTML 코드 구문 분석을 일시 중지하고 대신 스크립트 실행을 시작합니다.
스크립트가 완료되면 브라우저는 HTML 코드 처리를 재개합니다.
느린 서버나 큰 스크립트로 인해 페이지 로드가 지연됩니다. 지연된 스크립트는 문서가 처리될 때까지 스크립트 실행을 연기합니다.
스크립트 실행이 지연되면 웹 페이지가 로드되는 데 걸리는 시간이 줄어듭니다.
결론
이 JavaScript 인터뷰 질문이 회의를 준비하는 개발자든 적합한 지원자를 찾는 고용 관리자이든 상관없이 도움이 되기를 바랍니다.
기술 전문성과 지식은 채용 프로세스의 작은 부분에 불과하다는 것을 기억하십시오. 취업(또는 적합한 지원자 찾기)을 위해서는 과거 경험과 소프트 스킬이 똑같이 중요합니다.
개방형 자바스크립트 인터뷰 질문에는 여러 가지 정답이 있는 경우가 많습니다. 면접관은 당신이 외운 대답뿐만 아니라 당신의 대답 뒤에 숨겨진 추론에 관심이 있습니다.
귀하가 어떻게 응답에 도달했는지에 대한 후속 질문을 준비하고 항상 귀하의 사고 과정을 설명할 수 있습니다.
체크 아웃 해시독의 인터뷰 시리즈 면접 준비에 도움이 됩니다.
아룬
와우, 이 글이 자바스크립트 인터뷰 준비에 많은 도움이 되었습니다.