Angular engineering question bank¶
Use this as an adaptive challenge bank, not a worksheet. Ask one question at a time, answer before consulting notes, and escalate from explanation to application, analysis, evaluation, and creation only while evidence holds. Use mechanism, example, tradeoff, and verification rather than API definitions. Record failures in the learning map.
Runtime and rendering¶
- How do standalone imports, environment providers, and element injectors serve different purposes?
- What creates, checks, destroys, and potentially reuses an embedded view produced by
@ifor@for? - How does stable list identity affect child state, focus, animation, and rendering cost?
- What schedules an
OnPushview for checking, and what performance problems remain unaffected? - How do signal template reads participate in dependency tracking and rendering?
- When can a route-level provider accidentally create duplicated state?
- What causes expression-changed errors conceptually, and what design problems can they reveal?
- How do zoneless applications change assumptions in application and third-party integration code?
State and asynchronous behavior¶
- When should state be local, route-scoped, root-scoped, URL-backed, persisted, or server-owned?
- Why is copying derived state with an effect risky?
- Compare a signal with a
BehaviorSubjectby semantics, not syntax. - Select between
switchMap,concatMap,mergeMap, andexhaustMapfor concrete product workflows. - How do you prevent stale reads and overlapping writes?
- Why can two
HttpClientsubscriptions produce two requests? - Where should DTO mapping and runtime validation occur?
- Resolver or component-driven loading: what user and operational constraints decide?
- How should loading, empty, stale, partial, retrying, and failed states be modeled?
- How do optimistic concurrency and rollback work when mutations overlap?
- What changes for offline work, multi-tab updates, or collaborative editing?
Forms, routing, and boundaries¶
- How do typed forms improve correctness, and what remains a runtime/server concern?
- How would you model a multi-step form with draft recovery and route navigation?
- When is a guard useful, and why is it never an authorization boundary?
- How do lazy routes affect code delivery and dependency lifetime?
- How should unsaved changes, failed navigation, and deep links behave?
- Where should browser-only APIs be isolated for SSR and testing?
Testing and production architecture¶
- Design a risk-based test portfolio for this application.
- What belongs in store, component, router, HTTP contract, and E2E tests?
- How do you diagnose a flaky timer, singleton, or unverified-request test?
- How would you establish startup, rendering, and interaction budgets?
- Compare CSR, SSR, SSG, and hydration for a personalized dashboard.
- How do you prevent route-level network waterfalls?
- How would you diagnose memory growth across repeated navigation?
- When should a feature become a library, and what costs appear too early?
- Which evidence justifies a global state library?
- How would you modernize Angular 6 while continuously shipping?
- Design error taxonomy and observability without leaking user data.
- How do accessibility, security, and deployment behavior influence component architecture?
Weak-answer signals¶
- naming APIs without predicting runtime behavior;
- treating client controls as security boundaries;
- using
any, assertions, or manual subscriptions to bypass design issues; - optimizing without a measured bottleneck;
- selecting root scope or global state by default;
- mocking collaborators until tests no longer resemble behavior;
- treating experimental APIs as mandatory production choices;
- recommending a rewrite without migration risk and rollback analysis.