JavaScript Explain the difference between var, let, and const in JavaScript. What are closures in JavaScript, and how are they useful? How does the JavaScript event loop work? Provide an example. What is the difference between == and === in JavaScript? Explain the concept of hoisting in JavaScript with examples. How do you handle asynchronous operations in JavaScript? Compare Promises and async/await. Angular Explain the difference between Angular services and components. How does Angular handle dependency injection? Provide an example. What is lazy loading in Angular, and why is it used? Explain the role of ngOnInit in Angular lifecycle hooks. What are Angular directives? Differentiate between structural and attribute directives. How would you optimize an Angular application for performance? Git What is the difference between git merge and git rebase? How do you resolve merge conflicts in Git? Explain the purpose of the .gitignore file and how it works. What is the difference between git pull and git fetch? How do you revert a commit in Git? Explain the difference between git reset and git revert. What is a detached HEAD in Git, and how can it be fixed? RxJS What is RxJS, and why is it used in Angular? Explain the difference between Observable and Subject in RxJS. What is the purpose of operators in RxJS? Provide examples of map, filter, and switchMap. How do you handle error handling in RxJS streams? What is the difference between BehaviorSubject and ReplaySubject? How do you unsubscribe from Observables, and why is it important?