Angular 핵심 개념 및 실무 활용 마스터하기: 면접 대비 질문 & 답변
🤖 AI 추천
Angular 프레임워크를 사용하여 웹 애플리케이션을 개발하는 모든 개발자, 특히 Angular 면접을 준비하거나 프레임워크의 깊이 있는 이해를 원하는 주니어 및 미들 레벨 개발자에게 매우 유용합니다.
🔖 주요 키워드
핵심 기술: 본 문서는 Angular의 주요 기능 및 실무 활용에 대한 질문과 답변을 통해 개발자가 프레임워크를 깊이 이해하고 최적화하는 데 필요한 핵심 지식을 제공합니다.
기술적 세부사항:
* 콘텐츠 프로젝션: ng-content
를 사용하여 외부 HTML을 컴포넌트 템플릿에 삽입하고, select
속성을 이용한 네이밍 슬롯으로 여러 콘텐츠 슬롯을 생성하는 방법을 설명합니다.
* 동적 스타일링: ngClass
로 CSS 클래스를, ngStyle
로 인라인 스타일을 동적으로 적용하는 방법을 비교하고, 클래스 조건부 적용({ 'active': isActive }
)을 위한 ngClass
사용법을 제시합니다.
* RxJS 활용: BehaviorSubject
의 개념과 일반 Subject
대비 이점(최신 값 구독)을 설명하고, map
과 mergeMap
연산자의 차이를 비교합니다.
* 라우팅: RouterLink
를 사용한 뷰 탐색 및 라우트 파라미터 전달 방법을 설명하며, routerLinkActive
활용을 언급합니다.
* 구조화 디렉티브: ngFor
를 이용한 반복 처리와 trackBy
를 사용한 성능 최적화 방법을 설명합니다.
* 호스트 바인딩 및 리스너: @HostListener
로 호스트 요소 이벤트를 감지하고, @HostBinding
으로 호스트 요소 속성을 바인딩하는 방법을 설명합니다.
* 쿼리: @ViewChild
와 @ContentChild
의 정적(static: true
) 및 동적(static: false
) 사용법과 각 사용 시점을 구분합니다.
* 폼: ControlValueAccessor
인터페이스 구현을 통한 커스텀 폼 컨트롤 생성 방법과 주요 메서드(writeValue
, registerOnChange
, registerOnTouched
)를 설명합니다.
* 성능 최적화: 레이지 로딩, AOT 컴파일, 트리 쉐이킹, ChangeDetectionStrategy.OnPush
등의 기법을 소개하고, 트리 쉐이킹의 번들 사이즈 감소 효과를 설명합니다.
* 데이터 바인딩: ngModel
을 이용한 양방향 데이터 바인딩([(ngModel)]
) 메커니즘을 설명합니다.
* 라이프사이클 훅: ngOnChanges
가 입력 프로퍼티 변경 시 호출되며 SimpleChanges
객체를 전달받는다는 점을 설명합니다.
* HTTP 통신: HttpClient.get()
과 HttpClient.post()
의 용도를 구분하고, HttpClient.get()
에 HttpParams
를 사용한 파라미터 전달 방법을 설명합니다.
* 컴포넌트 통신: @Input()
, @Output()
, 서비스, 공유 스토어 등 다양한 방법을 소개하고, 서비스 활용 시점을 설명합니다.
* 서비스: 싱글톤 서비스의 개념(providedIn: 'root'
)과 컴포넌트 레벨 프로바이딩 방법을 설명합니다.
* 변경 감지: ChangeDetectionStrategy.OnPush
가 입력값 변경이나 이벤트 발생 시에만 컴포넌트를 검사하여 성능을 향상시키는 원리를 설명합니다.
* 파이프: 템플릿에서 데이터 변환을 위한 파이프의 역할과 커스텀 파이프 생성 방법(@Pipe
, PipeTransform
)을 설명합니다.
* 의존성 주입: Injector
를 사용한 수동 의존성 주입 시나리오를 소개하고, ngOnInit()
과의 차이를 설명합니다.
* 폼 종류: 템플릿 기반 폼과 리액티브 폼의 특징을 비교하고 사용 시점을 제시합니다.
* 모듈 및 컴포넌트: 모듈과 컴포넌트의 정의 및 관계, 대규모 애플리케이션에서의 모듈의 유용성을 설명합니다.
개발 임팩트: 이 콘텐츠를 통해 개발자는 Angular의 핵심 설계 원리를 이해하고, 코드 작성 시 발생할 수 있는 다양한 상황에 대한 실용적인 해결책을 습득할 수 있습니다. 특히 면접 준비 및 프레임워크 숙련도 향상에 직접적인 도움이 될 것입니다.
커뮤니티 반응: (주어진 텍스트에는 특정 커뮤니티 반응에 대한 언급이 없습니다.)