HTML & CSS
Basic Concepts
*. Explain the box model in CSS and how the box-sizing property affects it. 2. What's the difference between HTML5 and previous versions of HTML? 3. How do you center a div horizontally and vertically in CSS? 4. Explain the difference between display: none, visibility: hidden, and opacity: 0. Layout
5. Compare Flexbox and CSS Grid - when would you use each? 6. How does the CSS position property work? Explain static, relative, absolute, fixed, and sticky.
7. What are CSS pseudo-elements and pseudo-classes? Provide examples of each. 8. How would you implement a responsive design without using media queries? Advanced Topics
9. Explain CSS specificity and how it determines which styles are applied. 10. What are CSS variables and how do you use them? 11. How does the CSS z-index property work? What creates a stacking context? 12. What are some performance optimization techniques for CSS? GIT & Scrum
GIT
13. Explain the difference between git merge and git rebase. When would you use each? 14. What is a .gitignore file and why is it important? 15. How would you undo the last commit without losing the changes? 16. Explain the difference between git fetch and git pull. Scrum
17. What are the key roles in Scrum and what are their responsibilities? 18. Explain the purpose of each Scrum ceremony (daily standup, sprint planning, etc.). 19. What is the difference between a sprint backlog and a product backlog? 20. How would you handle a situation where a task takes longer than estimated during a sprint?
JavaScript
Fundamentals
21. Explain the difference between let, const, and var. 22. What is the event loop in JavaScript and how does it work? 23. Explain hoisting in JavaScript with examples.
24. What are closures and how/why would you use them? Advanced Concepts
25. Explain the this keyword in JavaScript and how its context is determined. 26. What are promises and how do they differ from callbacks? 27. Explain the difference between == and === with examples. 28. What are generators in JavaScript and when would you use them? DOM Manipulation
29. Explain event delegation and why it's useful.
30. What's the difference between event.preventDefault and event.stopPropagation ? 31. How would you add an event listener to multiple elements efficiently? 32. Explain the difference between innerHTML, innerText, and textContent. ES6+ Features
33. What are template literals and what advantages do they offer? 34. Explain destructuring assignment in JavaScript with examples. 35. What are arrow functions and how do they differ from regular functions? 36. Explain the spread and rest operators with examples. TypeScript
Basics
37. What are the main benefits of using TypeScript over JavaScript? 38. Explain the difference between interface and type in TypeScript. 39. What are generics in TypeScript and when would you use them? 40. How does TypeScript handle type inference?
Advanced
41. What are decorators in TypeScript and how are they used? 42. Explain the unknown type and how it differs from any. 43. How would you create a utility type that makes all properties of an interface optional?
44. What are conditional types in TypeScript and how do they work? Practical Usage
45. How would you gradually migrate a JavaScript project to TypeScript? 46. What are type guards and how do they improve type safety? 47. Explain how enums work in TypeScript and their different variations. 48. How would you type a higher-order function in TypeScript? Testing
Unit Testing
49. What are the differences between unit tests, integration tests, and end-to-end tests?
50. Explain the AAA pattern in unit testing.
51. What are mocks and stubs in testing? When would you use each? 52. How would you test asynchronous code in Jest?
Tools & Frameworks
53. Compare Jest, Mocha, and Jasmine testing frameworks. 54. What is React Testing Library and how does it differ from Enzyme? 55. How would you test a React component that makes an API call? 56. Explain snapshot testing - when is it useful and what are its limitations? Best Practices
57. What makes a good unit test? What characteristics should it have? 58. How would you handle testing code that depends on browser APIs? 59. Explain test-driven development (TDD) and its benefits. 60. What is code coverage and how much should you aim for? Additional JavaScript Questions
Advanced Concepts
61. Explain the Prototype Chain in JavaScript. How does prototypal inheritance work? 62. What is the Temporal Dead Zone in JavaScript?
63. Explain how bind, call, and apply work with examples of each. 64. What are Web Workers and how do they differ from Service Workers? Asynchronous JavaScript
65. Explain async/await syntax and how it works under the hood. 66. What is the difference between microtasks and macrotasks in the event loop? 67. How would you implement a retry mechanism for failed API calls? 68. Explain how to cancel a fetch request in JavaScript. Functional Programming
69. What are pure functions and why are they important? 70. Explain function composition with an example.
71. What are higher-order functions? Provide examples from common JavaScript methods.
72. How would you implement memoization in JavaScript? Error Handling
73. What are the different ways to handle errors in asynchronous JavaScript code? 74. Explain the difference between throw, try/catch, and Promise.catch . 75. How would you create a custom error class in JavaScript? Performance
76. What are some common JavaScript performance bottlenecks and how would you address them?
77. Explain debouncing and throttling with practical use cases. 78. How would you implement lazy loading for JavaScript modules? Browser APIs
79. Explain the difference between localStorage, sessionStorage, and cookies. 80. How does the Fetch API differ from XMLHttpRequest? 81. What is the Intersection Observer API and how would you use it? 82. Explain the Web Storage API and its limitations. ES6+ Features
83. What are Symbols in JavaScript and when would you use them? 84. Explain the Proxy object and practical use cases for it. 85. What are WeakMap and WeakSet? How do they differ from Map and Set? 86. Explain dynamic imports in JavaScript and their benefits. Additional TypeScript Questions
Type System
87. What are mapped types in TypeScript? Provide examples. 88. Explain conditional types with the infer keyword. 89. What are utility types and list 5 common ones with examples. 90. How does TypeScript handle function overloading? Advanced Types
91. What are discriminated unions and how do they help with type safety? 92. Explain the satisfies operator in TypeScript and its use cases. 93. How would you create a type that extracts all method names from a class? 94. What are template literal types and how are they useful? Decorators & Metadata
95. Explain class decorators, method decorators, and property decorators with examples.
96. How would you implement dependency injection using TypeScript decorators? 97. What is reflection in TypeScript and how is it used? Configuration & Tooling
98. What are the key differences between tsconfig.json and jsconfig.json? 99. Explain the significance of the "strict" flag in TypeScript configuration. 100. How would you configure TypeScript to work with Webpack? Integration Patterns
101. How would you type a React component's props with TypeScript? 102. Explain how to use TypeScript with Redux (or other state management libraries).
103. How would you handle third-party libraries that don't have type definitions? 104. What are declaration files (.d.ts) and how do you create them? Best Practices
105. When should you use any vs unknown vs never in TypeScript? 106. How would you prevent the "any" type from being used in your codebase? 107. Explain how to properly type event handlers in React with TypeScript. 108. What are some strategies for migrating a large JavaScript codebase to TypeScript?
Performance & Optimization
109. How does TypeScript impact bundle size and runtime performance? 110. What are some techniques to reduce TypeScript compilation time? 111. Explain how project references work in TypeScript and their benefits. Advanced Patterns
112. How would you implement a type-safe builder pattern in TypeScript? 113. Explain how to create nominal types in TypeScript (branded types). 114. How would you type a recursive data structure in TypeScript? 115. What are assertion functions and how do they differ from type guards?