Frage 1
Welchen Output erzeugt folgende Signatur? JavaScript Promise.resolve().then(() => console.log("A")); setTimeout(() => console.log("B")); console.log("C");

JavaScript Ausführungsreihenfolge basiert auf einer Eventloop. Das Konzept dahinter ist einfach. Es gibt eine Endlosschleife, die auf Aufgaben wartet, sie ausführt und dann schläft, um auf weitere Aufgaben wartet. Was das Konzept etwas knifflig macht, ist die Ausführungsreihenfolge asynchroner Aufgaben. Folgende Reihenfolge wird dabei immer abgearbeitet:
1. Alle synchronen Aufrufe
Beispiel: console.log( … )
2. Der älteste Makro-Task wird aus einer Liste aller eingereihten Makro-Tasks abgearbeitet.
Beispiel: setTimeout( ( ) ⇒ … )
3. Alle Mikro-Tasks werden abgearbeitet
Beispiel: new Promise( ( ) ⇒ … )
4. Die Schleife wiederholt sich und der nächste Loop aus Synchronen Aufrufen > Makro-Task > Mikro-Tasks kann beginnen.
Referenzen:
Microtasks and the JavaScript runtime environment
Event loop
What the heck is the event loop anyway?