일반적인 프런트엔드 기본 면접 질문(HTML, CSS, JS) (5)

JavaScript  의 가비지 수집 메커니즘을 소개해주세요. 

JavaScript  에는 자동 가비지 수집 메커니즘이 있습니다. 가비지 수집기는 일정한 간격으로 주기적으로 실행됩니다.

JavaScript  의 일반적인 가비지 수집 방법 : 표시 지우기참조 계산 .

표시를 지우려면:

  • 작동 방식: 변수가 환경에 들어갈 때 이 변수를 "환경에 들어가기"로 표시합니다. 변수가 환경을 떠나면 "환경을 떠나는 것"으로 표시됩니다. "환경 종료"로 표시된 메모리가 회수됩니다.
  • 작업 과정:
  • 가비지 수집기는 런타임 시 메모리에 저장된 모든 변수를 표시합니다.
  • 환경의 변수와 환경의 변수가 참조하는 변수를 제거합니다.
  • 표시된 변수는 삭제된 것으로 간주됩니다.
  • 가비지 수집기는 메모리 정리 작업을 완료하고 표시된 값을 파괴한 후 해당 값이 차지하는 메모리 공간을 회수합니다.

참조 계산 방법:

  • 작동 방식: 각 값이 참조되는 횟수를 추적합니다.
  • 작업 과정:
  • 변수가 선언되고 참조 유형의 값이 변수에 할당되며 이 참조 유형 값의 참조 카운트는  1 입니다 .
  • 동일한 값이 다른 변수에 할당되고 이 참조 유형 값의 참조 카운트는  1 씩 증가합니다 .
  • 이 참조 유형 값을 포함하는 변수에 다른 값이 할당되면 이 참조 유형 값의 참조 카운트는  1 만큼 감소합니다 .
  • 참조 수가  0 이 되면  이 값에 액세스할 수 있는 방법이 없음을 의미합니다.
  • 다음에 가비지 수집기가 실행되면 0  으로 참조된 값이 차지한 메모리가 해제됩니다  .

손떨림 방지, 스로틀링이란?

  • 흔들림 방지( 디바운스 ) 기능은 짧은 시간 내에 동일한 이벤트를 여러 번 실행하여 마지막 이벤트만 실행하거나, 첫 번째 이벤트만 실행하고 중간 이벤트는 실행하지 않는 것을 의미합니다.
  • 함수 조절( throttle ) - 지속적으로 이벤트를 트리거하지만 n 초 에 한 번만 함수를 실행하는 것을 의미합니다   . 즉,  2n 초에 2 번  실행을 하게 되는데   ...

깊은 복사와 얕은 복사

  • 얕은 복사(Shallow copy) : 기본형 데이터만 복사하고, 복사 후에는 참조형 데이터도 참조하게 되는데, 이것을 얕은 복사(shallow copy)라고 부릅니다. 이전 개체와 새 개체는 여전히 동일한 메모리를 공유합니다.

  • 딥 카피(Deep Copy) : 힙에 메모리를 재할당하고 원본 개체의 모든 속성에 대한 새 복사본을 만들어 딥 카피 개체의 참조 그래프에 원본 개체나 개체 그래프의 개체가 포함되지 않도록 합니다. , 복사된 객체는 원본과 동일합니다. 객체는 완전히 분리되어 서로 영향을 미치지 않습니다.

HTTP 상태 코드

상태 코드 카테고리:

범주 이유 설명하다
1xx 정보(정보 상태 코드) 수락된 요청을 처리 중입니다.
2xx 성공(성공 상태 코드) 요청이 정상적으로 처리되었습니다.
3xx 리디렉션(리디렉션 상태 코드) 추가 조치 필요 - 요청 완료
4xx 클라이언트 오류(클라이언트 오류 상태 코드) 서버가 요청을 처리할 수 없습니다.
5xx 서버 오류(서버 오류 상태 코드) 서버에서 요청을 처리하는 동안 오류가 발생했습니다.

Http와 Https의 차이점

  • HTTPURL은 http://로 시작하고 HTTPS의 URL은 https://로 시작합니다.
  • HTTP안전하지 않은 반면 HTTPS는 안전합니다.
  • HTTP표준 포트는 80이고 HTTPS의 표준 포트는 443입니다.
  • 在OSI네트워크 모델에서 HTTP는 애플리케이션 계층에서 작동하는 반면 HTTPS의 보안 전송 메커니즘은 전송 계층에서 작동합니다.
  • HTTP암호화할 수 없습니다. 반면 HTTPS는 전송되는 데이터를 암호화합니다.
  • HTTP인증서는 필요하지 않지만 HTTPS에는 서명한 CA 기관에서 발급한 SSL 인증서가 필요합니다.

おすすめ

転載: blog.csdn.net/ybigbear2/article/details/131580995