0
0
Angularframework~20 mins

Component lifecycle overview in Angular - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Angular Lifecycle Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
component_behavior
intermediate
2:00remaining
What happens when an Angular component is initialized?
Consider an Angular standalone component using signals and the new lifecycle hooks. What is the correct sequence of lifecycle events when the component first appears on screen?
A1,3,4,2
B1,2,3,4
C1,3,2,4
D2,1,3,4
Attempts:
2 left
💡 Hint
Remember that ngOnChanges runs after constructor if there are input changes.
state_output
intermediate
2:00remaining
What is the value of the signal after component initialization?
Given this Angular component snippet using signals, what is the value of the signal 'count' after the component initializes?
Angular
import { Component, signal } from '@angular/core';

@Component({
  selector: 'app-counter',
  standalone: true,
  template: `Count: {{ count() }}`
})
export class CounterComponent {
  count = signal(0);

  constructor() {
    this.count.set(5);
  }

  ngOnInit() {
    this.count.update(c => c + 1);
  }
}
A6
B5
C0
D1
Attempts:
2 left
💡 Hint
Check the order of constructor and ngOnInit execution and how signals update.
🔧 Debug
advanced
2:00remaining
Why does this Angular component not update the view after input changes?
This Angular component uses signals but the view does not update when the input changes. What is the cause?
Angular
import { Component, Input, signal } from '@angular/core';

@Component({
  selector: 'app-display',
  standalone: true,
  template: `Value: {{ value() }}`
})
export class DisplayComponent {
  value = signal('');

  @Input() set data(val: string) {
    this.value.set(val);
  }
}
AThe signal 'value' is not declared as readonly, causing update errors.
BThe setter does not trigger change detection because signals are not reactive to inputs.
CThe component is missing ngOnChanges lifecycle hook to update the signal.
DThe signal 'value' is initialized after the setter runs, so it resets to empty string.
Attempts:
2 left
💡 Hint
Consider the order of property initialization and setter execution.
📝 Syntax
advanced
2:00remaining
Which option correctly uses the new Angular 17 standalone component lifecycle syntax?
Select the code snippet that correctly uses the new Angular 17 lifecycle syntax with signals and standalone components.
A
}
}  
;)1 + c >= c(etadpu.tnuoc.siht    
{ )(tinInOgn  

}  
;)1(tes.tnuoc.siht    
{ )(rotcurtsnoc  

;)0(langis = tnuoc  
{ tnenopmoCelpmaS ssalc tropxe
)}
`>p/<}} )(tnuoc {{>p<` :etalpmet  
,eurt :enoladnats  
,'elpmas-ppa' :rotceles  
{(tnenopmoC@

;'eroc/ralugna@' morf } tcejni ,langis ,tnenopmoC { tropmi
B
import { Component, signal, inject } from '@angular/core';

@Component({
  selector: 'app-sample',
  standalone: true,
  template: `<p>{{ count() }}</p>`
})
export class SampleComponent {
  count = signal(0);

  ngOnInit() {
    this.count.set(1);
  }

  constructor() {
    this.count.update(c => c + 1);
  }
}
C
import { Component, signal, inject } from '@angular/core';

@Component({
  selector: 'app-sample',
  standalone: true,
  template: `<p>{{ count() }}</p>`
})
export class SampleComponent {
  count = signal(0);

  constructor() {
    this.count.set(1);
  }

  ngOnInit() {
    this.count.update(c => c + 1);
  }
}
D
mport { Component, signal, inject } from '@angular/core';

@Component({
  selector: 'app-sample',
  standalone: true,
  template: `<p>{{ count() }}</p>`
})
export class SampleComponent {
  count = signal(0);

  constructor() {
    this.count.set(1);
  }

  ngOnInit() {
    this.count.update(c => c + 1);
  }
}
Attempts:
2 left
💡 Hint
Check for missing semicolons and correct order of constructor and ngOnInit.
🧠 Conceptual
expert
2:00remaining
Which lifecycle hook is best for accessing child component references in Angular 17?
In Angular 17 standalone components, which lifecycle hook should you use to safely access child component references after the view is fully initialized?
AngAfterViewInit
Bconstructor
CngOnInit
DngAfterContentInit
Attempts:
2 left
💡 Hint
Think about when the component's template and child views are ready.