The interview questions below are grouped by category and each category lists questions in easy-to-hard order.
Interviews should ask the candidate to self-assess their skills/experience. Based on the candidate's response, the interviewer can jump to the appropriate section.
Some basic questions going from easy to difficult. A more exhaustive list of more questions from the community can be found here.
- What is variable shadowing
- What are the 3 big wins with ES6 (over ES5)
Possible answers: fat arrow, template string, modules, classes, default params, implicit accessors/mutators, let/const, desctructuring, spread,
- ES6 Module,
- what can it contain
- how do you publish for external use
- how do you protect for internal use
- What is a barrel used for?
- What is a spread operator (aka desconstruction operator)
- Why is a spread operator useful ?
- What is destructing and how would I use ?
- What is the
rest
operator
- What is a Generic in Typescript
- Give me an example of strongly typed function
- Bonus: strongly typed function that returns observable
- Bonus: strongly typed function that uses HttpClient
- What does
forwardRef
do
- What is the difference between an ES6 module and an ngModule
- How do you get a reference to a child component
- What is Dependency Injection
- What is @Injectable used for ?
- What is @Inject used for ?
- What are pipes
- How do you use component that defined/implemented in another module?
- What is router-outlet?
- What is the Angular Compiler and how is it used
- What is the difference between AOT and JIT?
- What is AOT
- What is a component in Angular
- What are differences between Components and Directives
- How do we create a Angular Component (hint what decorator)
- Give me 3 component lifecycle events
- Why is ngOnInit() important
- Explain content projection
- What is a difference between @ViewChild and @ContentChild
- How do you listen for events in a component?
- What is
OnPush
change detection in components - What is the difference between template and reactive forms and why would you use one or the other
- What is
ViewEncapsulation
- What is
ng-container
and why is it useful? - What are
entryComponents
- What is the difference between Template-Driven and Reactive forms
- What is a Guard
- What is a Resolver
- What is a Zone
- Why are ngZones important
- Explain Observables and why they are useful.
- What’s the difference between a promise and Observable?
- Are Observables asynchronous
- Why is the Async pipe useful
- What are two (2) important things provided by the async pipe?
- What are pipeable operators
- What is a zombie subscription
- What is state and why is state management so important
- What are the challenges to manually managing state
- What is Redux pattern and explain why its useful.
- What are the downsides to Redux
- What is the difference between Redux and Ngrx
- What is the aspect of Ngrx you like the most
- Why are Effects important in ngrx
- Why is Akita ab attractive alternative to NgRx
- What is a memoized selector
Question: Is this an ES6 Module or an Angular Module?