Angular 개발자 테스트 경험에 대한 12가지 질문(지식뿐만 아니라)

주의: 이 모든 질문은 정확한 답변을 가정하지 않습니다. 즉, 후보자가 어떻게 했는지 또는 경험이 없는 경우 어떻게 할 것인지를 듣는 것이 가장 중요한 부분을 의미합니다.

1. 처음부터 Angular 프로젝트를 만드는 방법은 무엇입니까?



두 가지 적합한 답변이 있습니다. 첫 번째 CLI와 사용 방법, 두 번째는 루트 모듈, AppComponent, 부트스트랩(보통 main.ts 파일에 있음), WebPack 등 수동으로 수행하는 더 흥미로운 방법입니다.

2. 한 구성 요소에서 다른 구성 요소로 데이터를 전달하는 방법(부모에서 자식으로, 자식에서 부모로, 부모에서 두 번 중첩된 자식으로)?



다음은 서비스 및 상태 관리를 통한 @Input @Output에 대한 매우 간단한 내용입니다.

3. 컴포넌트 클래스에서 템플릿 내부의 DOM을 조작하는 방법은 무엇입니까?



우선 ViewChild/ViewChildren에 대해 듣고 싶지만 Render2, inject link to "document"와 같은 방법이 하나 이상 있습니다.

4. 동적 유효성 검사가 있는 양식을 만들어야 합니다. "첫 번째" 숫자를 입력한 경우 "첫 번째" 및 "두 번째" 두 개의 텍스트 필드는 "첫 번째" 문자열 "두 번째"를 입력한 경우 "두 번째"는 숫자로 유효성을 검사해야 합니다. 문자열로 유효성을 검사해야 합니다. 어떻게 하시겠습니까?



예를 들어 ReactiveForms를 사용하는 방법을 설명하면 다음과 같습니다.
  • 입력에 대한 링크 가져오기
  • 업데이트 확인 규칙이 setValidators/setAsyncValidators를 사용함
  • 및 updateValueAndValidity 호출

  • 5. Angular 앱을 최적화하기 위한 최소 세 가지 접근 방식을 말할 수 있습니까?



    trackBy, LazyLoading, PreloadingStrategy, ChangeDetectionStrategy에 대한 정보

    6. 컴포넌트의 CSS 클래스에 따라 CSS 스타일을 변경해야 합니다. 어떻게 하시겠습니까?



    예를 들어:

    <my-component class="red"></my-component> // text inside should be red
    <my-component class="green"></my-component> // text inside should be green
    
    :host(.red) {
      color: red;
    }
    
    :host(.green) {
      color: green;
    }
    


    7. 전체 구성 요소에 브라우저 이벤트를 할당해야 하지만 구성 요소 내에서 이 이벤트를 사용하려면 어떻게 해야 합니까?



    이것은 HostListener에 관한 모든 것입니다. 물론 우리는 몇 가지 변형을 더 생각해 낼 수 있지만 이에 대한 좋은 방법은 HostListener입니다.

    @HostListener('click', ['$event.target'])
      onClick(e) {
       // code ...
     }
    


    8. OnPush 전략의 장단점을 설명해 주시겠습니까?



    Сons: 'markForCheck' 기능을 염두에 두거나 가능한 한 스트림을 사용해야 합니다.

    장점: 성능

    9. 서비스를 위한 글로벌 범위와 서비스를 위한 로컬 범위가 필요한 두 가지 상황을 설명할 수 있습니까?




    @Injectable({providedIn: 'root'}) // global for app
    
    ---------------------------------------------------
    @Injectable()
    
    and 
    @Component({
        providers: [...here inject the service with local scope]
    })
    


    10. 경로를 로드하기 전에 일부 데이터를 미리 로드해야 합니다. 이 문제를 해결하는 방법은 무엇입니까?



    해결에 관한 것입니다.

    11. 서버에 대한 모든 요청에 ​​토큰을 추가해야 합니다. 어떻게 해결합니까?



    HttpInterceptor에 관한 것입니다.

    12. 자신만의 디렉티브를 만들어야 하는 경우를 설명해 주시겠습니까?



    여기서 후보자는 지침을 작성하는 데 필요한 사항을 설명하고 몇 가지 예를 제시해야 합니다.
  • html 요소의 동작 변경/추가
  • 지시문을 통해 세 번째 부분 lib의 일부 기능 패치

  • 결론



    이러한 질문을 통해 지원자는 경험을 통해 생각하고 경험에 대한 더 많은 정보를 얻을 수 있습니다.

    좋은 웹페이지 즐겨찾기