29 October 2020

#Splunk

#Splunk

Key Concepts


Topic SubTopic Basic ✅ Intermediate ✅ Advanced ✅ Expert ✅
Introduction What is Splunk, Features, Benefits
Installation & Setup On-prem, Cloud, System requirements
UI Navigation Splunk Web, Dashboards, Search UI
Authentication & Authorization Users, Roles, Permissions
Basic Searches Search bar, Keywords, Time range
Alerts Real-time vs Scheduled alerts, Trigger conditions
Forwarders Universal, Heavy, Deployment server
Indexing Basics Index creation, Event ingestion
Reports Creating basic reports, Exporting data
Community & Resources Documentation, Forums, Splunkbase
Data Ingestion Forwarders, Inputs, Data sources
Indexing Index types, Index configuration, Retention policies
Search Processing Language (SPL) Commands, Functions, Joins
Dashboards & Visualizations Panels, Charts, Dynamic dashboards
Alerts & Reports Scheduled alerts, Real-time alerts, Reporting best practices
Knowledge Objects Saved searches, Event types, Tags, Fields
Clustering Indexer clustering, Search head clustering, Multi-site setup
Advanced SPL Subsearches, Macros, Lookups, Optimizations
Performance Tuning Query optimization, Indexing performance, Resource management
Enterprise Deployment High availability, Disaster recovery, Multi-site replication

Interview question


1. Introduction to Splunk ? Overview, Architecture, Features

  1. What is Splunk?
  2. Explain the main features of Splunk.
  3. What are the components of Splunk architecture?
  4. How does Splunk index data?
  5. What are the benefits of using Splunk for IT operations?
  6. How does Splunk handle real-time data?
  7. What is the difference between Splunk Enterprise and Splunk Cloud?
  8. What is the Splunk Forwarder?
  9. What is the role of Indexers in Splunk?
  10. What is the role of Search Heads in Splunk?
  11. How does Splunk achieve scalability?
  12. Explain the concept of Splunk apps and add-ons.
  13. How does Splunk process log data?
  14. What are sourcetypes in Splunk?
  15. Explain the difference between events and raw data.
  16. What is a Splunk license?
  17. What is the difference between free and enterprise Splunk licenses?
  18. How does Splunk handle multi-tenant environments?
  19. How to troubleshoot basic Splunk errors?
  20. What are common use cases for Splunk?

2. Data Onboarding ? Forwarders, Inputs, Indexing

  1. How to ingest data into Splunk?
  2. What is a Universal Forwarder?
  3. What is a Heavy Forwarder?
  4. How to configure data inputs in Splunk?
  5. What is indexing in Splunk?
  6. How to manage index storage?
  7. What is the difference between indexed and raw data?
  8. How to define sourcetypes?
  9. How to handle large volume data ingestion?
  10. What is event breaking?
  11. How to manage timestamp extraction?
  12. How to configure TCP/UDP data inputs?
  13. How to ingest Windows logs into Splunk?
  14. How to ingest Linux logs into Splunk?
  15. How to handle JSON or CSV data in Splunk?
  16. How to manage heavy ingestion using HEC (HTTP Event Collector)?
  17. What are monitored vs scripted inputs?
  18. How to validate data ingestion?
  19. How to troubleshoot missing data?
  20. Best practices for data onboarding.

3. Searching & Reporting ? SPL, Fields, Commands

  1. What is SPL (Search Processing Language)?
  2. How to search for events using SPL?
  3. What are fields in Splunk?
  4. How to extract fields using field extractor?
  5. How to use basic commands like stats, eval, table?
  6. How to filter results using search commands?
  7. How to use regex in Splunk searches?
  8. What is the difference between search vs report?
  9. How to create a custom report?
  10. How to schedule searches in Splunk?
  11. How to generate visualizations using SPL?
  12. What are lookup tables?
  13. How to join data using lookup commands?
  14. How to use eval for calculated fields?
  15. How to rank results using top or rare commands?
  16. How to use timechart for trend analysis?
  17. How to use transaction command?
  18. How to troubleshoot slow searches?
  19. What is subsearch and how to use it?
  20. How to optimize search performance?

4. Alerts & Notifications ? Real-time, Scheduled, Trigger Actions

  1. What is an alert in Splunk?
  2. How to create a real-time alert?
  3. How to create a scheduled alert?
  4. What are trigger conditions in alerts?
  5. How to configure alert actions?
  6. How to send email notifications from alerts?
  7. How to run scripts via alert actions?
  8. How to throttle alerts to avoid multiple triggers?
  9. How to manage alert severity?
  10. How to monitor alert performance?
  11. How to use adaptive thresholds in alerts?
  12. How to test alerts before deployment?
  13. How to enable alert suppression?
  14. How to use alerts for security monitoring?
  15. How to integrate alerts with third-party tools?
  16. How to troubleshoot alert failures?
  17. How to track alert history?
  18. How to manage alert permissions?
  19. How to create alert dashboards?
  20. Best practices for alert management.

5. Dashboards & Visualizations ? Panels, Charts, Custom Views

  1. What is a dashboard in Splunk?
  2. How to create a new dashboard?
  3. How to add panels to a dashboard?
  4. How to create charts in Splunk?
  5. Difference between single-value and table panels?
  6. How to create dynamic dashboards?
  7. How to use drilldowns in dashboards?
  8. How to customize dashboard layout?
  9. How to use tokens in dashboards?
  10. How to schedule dashboard refresh?
  11. How to create form-based dashboards?
  12. How to embed dashboards externally?
  13. How to use advanced visualizations?
  14. How to handle large datasets in dashboards?
  15. How to use inline CSS and JS in dashboards?
  16. How to manage dashboard permissions?
  17. How to create alerts from dashboard panels?
  18. How to optimize dashboard performance?
  19. How to reuse panels across dashboards?
  20. Best practices for dashboard design.

6. Knowledge Objects ? Tags, Event Types, Lookups, Calculated Fields

  1. What are knowledge objects in Splunk?
  2. How to create tags for events?
  3. How to define event types?
  4. What are calculated fields?
  5. How to create a lookup table?
  6. How to use automatic lookups?
  7. How to create manual lookups?
  8. How to manage knowledge objects centrally?
  9. How to version control knowledge objects?
  10. How to share knowledge objects across apps?
  11. How to create field aliases?
  12. How to create workflow actions?
  13. How to use extracted fields in reports?
  14. How to manage search-time vs index-time fields?
  15. How to audit knowledge object usage?
  16. How to troubleshoot missing fields?
  17. How to manage calculated fields for performance?
  18. How to use regex for event types?
  19. How to integrate external data sources using lookups?
  20. Best practices for knowledge object management.

7. Security & User Management ? Roles, Permissions, Authentication

  1. How does Splunk handle user authentication?
  2. What are roles in Splunk?
  3. How to assign permissions to roles?
  4. Difference between user and role-based permissions?
  5. How to manage admin users?
  6. How to integrate LDAP/AD with Splunk?
  7. How to audit user activity in Splunk?
  8. How to manage read-only users?
  9. How to restrict access to indexes?
  10. How to restrict access to apps?
  11. How to enable two-factor authentication?
  12. How to manage role inheritance?
  13. How to configure SSO with Splunk?
  14. How to monitor failed login attempts?
  15. How to rotate credentials securely?
  16. How to manage knowledge object permissions?
  17. How to grant temporary access to users?
  18. How to handle multi-tenant security?
  19. How to secure Splunk REST API access?
  20. Best practices for user and role management.

8. Performance & Tuning ? Indexing, Search Optimization, Clustering

  1. How to monitor Splunk performance?
  2. How to tune indexing for high throughput?
  3. How to optimize search queries?
  4. How to manage large volumes of data efficiently?
  5. What is search concurrency?
  6. How to monitor resource utilization?
  7. How to configure summary indexing?
  8. How to use report acceleration for faster results?
  9. How to optimize dashboard performance?
  10. How to manage Splunk clustering?
  11. How to use index-time and search-time optimizations?
  12. How to monitor Splunk queues?
  13. How to configure event batching?
  14. How to handle heavy forwarders for performance?
  15. How to manage frozen data?
  16. How to scale Splunk horizontally?
  17. How to handle distributed searches?
  18. How to monitor search scheduler?
  19. How to tune JVM for Splunk?
  20. Best practices for high-performance Splunk deployments.

9. Advanced Splunk ? Apps, Add-ons, REST API, Integration

  1. What are Splunk apps and add-ons?
  2. How to install a Splunk app?
  3. How to create a custom Splunk app?
  4. How to use Splunk REST API?
  5. How to integrate Splunk with monitoring tools?
  6. How to integrate Splunk with ticketing systems?
  7. How to send alerts to third-party tools?
  8. How to manage app dependencies?
  9. How to monitor app usage and performance?
  10. How to deploy apps across multiple users?
  11. How to create modular inputs in apps?
  12. How to use scripted inputs?
  13. How to create custom dashboards in apps?
  14. How to package knowledge objects in apps?
  15. How to create custom visualizations?
  16. How to use Splunk SDKs?
  17. How to deploy Splunk apps in distributed environments?
  18. How to integrate Splunk with cloud services?
  19. How to extend Splunk functionality using Python?
  20. Best practices for app and integration development.

10. Troubleshooting & Best Practices ? Monitoring, Logging, Alerts

  1. How to troubleshoot missing data?
  2. How to debug failed searches?
  3. How to monitor forwarder health?
  4. How to monitor indexer performance?
  5. How to monitor search head performance?
  6. How to troubleshoot slow dashboards?
  7. How to track failed alerts?
  8. How to manage log rotation and storage?
  9. How to implement backup and restore?
  10. How to audit Splunk usage?
  11. How to identify bottlenecks in Splunk?
  12. How to optimize knowledge object usage?
  13. How to monitor indexer queues?
  14. How to handle corrupted indexes?
  15. How to perform cluster health check?
  16. How to monitor app performance?
  17. How to optimize search performance in large environments?
  18. How to manage Splunk upgrades?
  19. How to implement disaster recovery?
  20. Best practices for production Splunk deployment.

Related Topics


#Angular

#Angular
Level Topic Subtopics
Basic Introduction What is Angular, Angular vs AngularJS, Features, Angular Architecture, Angular CLI
Components Component Basics, Templates, Metadata, Lifecycle Hooks, Component Interaction
Data Binding Interpolation, Property Binding, Event Binding, Two-way Binding, Template Reference Variables
Directives Structural Directives (ngIf, ngFor), Attribute Directives, Built-in Directives, Custom Directives, ngSwitch
Modules NgModule, Root Module, Feature Modules, Shared Modules, Lazy Loading Modules
Intermediate Services & DI Creating Services, Dependency Injection, Hierarchical Injectors, providedIn, Service Scopes
Forms Template-driven Forms, Reactive Forms, FormGroup & FormControl, Form Validation, Async Validators
Routing RouterModule, RouterOutlet, Route Guards, Route Parameters, Child Routes
Pipes Built-in Pipes, Async Pipe, Parameterized Pipes, Pure vs Impure Pipes, Custom Pipes
Observables & RxJS Observable Basics, Operators (map, filter, switchMap), Subjects & BehaviorSubjects, Async/Await vs Observables, Error Handling
Advanced Change Detection Zone.js, Change Detection Strategies, OnPush Strategy, DetectChanges(), Performance Tuning
State Management NgRx, Akita, NGXS, Redux Pattern, Store & Effects
HTTP Client HttpClientModule, Interceptors, Error Handling, Retry & Caching, REST API Integration
Testing Unit Testing with Jasmine & Karma, TestBed, Mock Services, E2E Testing with Protractor, Cypress
Performance Optimization Lazy Loading, Preloading Strategies, Ahead-of-Time Compilation (AOT), Tree Shaking, Bundle Optimization
Expert Architecture & Patterns Monorepos with Nx, Micro-Frontends, Clean Architecture in Angular, Modular Federation, Smart vs Dumb Components
Security XSS Protection, CSP, DomSanitizer, JWT Authentication, OAuth2 & OpenID Connect
Internationalization i18n, Localization, Transloco, Angular Built-in i18n, Dynamic Language Switching
Advanced RxJS Higher-order Observables, Multicasting, Custom Operators, Marble Testing, Backpressure Handling
Deployment & CI/CD Angular Universal (SSR), Dockerizing Angular Apps, CI/CD Pipelines, Hosting (Firebase, AWS, Azure), SEO Optimization

1. Angular Core

  1. What is Angular and how is it different from AngularJS?
  2. What are Angular Modules and why are they important?
  3. What are Angular decorators? Name a few.
  4. Explain the role of NgModule in Angular.
  5. What is a singleton pattern in Angular modules?
  6. What is Ivy in Angular?
  7. What is Angular CLI and its benefits?
  8. What is Ahead-of-Time (AOT) compilation?
  9. Explain Angular?s compilation process.
  10. Difference between Angular compiler (ngc) and TypeScript compiler (tsc)?
  11. How does Angular support TypeScript features?
  12. What is tree-shaking in Angular?
  13. Explain Angular zones and their purpose.
  14. What is Angular Universal?
  15. How does Angular handle internationalization (i18n)?
  16. What is differential loading in Angular?
  17. What are polyfills in Angular?
  18. What are Angular schematics?
  19. How does Angular handle DOM sanitization?
  20. What is the purpose of Angular package.json configuration?

2. Components

  1. What is a component in Angular?
  2. How do you create a component using Angular CLI?
  3. What is a component selector?
  4. Difference between inline and external templates?
  5. What are component lifecycle hooks? Explain them.
  6. How does ngOnInit differ from a constructor?
  7. How do you pass data from parent to child component?
  8. How do you emit events from child to parent?
  9. What is ViewEncapsulation in Angular?
  10. Difference between Shadow DOM and Emulated encapsulation?
  11. How do you use @Input() and @Output() decorators?
  12. What is Content Projection (ng-content)?
  13. Difference between ViewChild and ContentChild?
  14. What are dynamic components?
  15. How do you reuse components across modules?
  16. What are smart and dumb components?
  17. How do you style Angular components?
  18. How do you test a component in Angular?
  19. What is OnPush change detection in components?
  20. What are standalone components in Angular?

3. Directives

  1. What are Angular directives?
  2. Difference between structural and attribute directives?
  3. Examples of built-in directives in Angular?
  4. What is *ngIf and how does it work?
  5. What is *ngFor and how does trackBy improve performance?
  6. What is ngSwitch directive?
  7. How do you create a custom directive?
  8. Difference between host binding and host listener?
  9. What is ngClass and ngStyle directive?
  10. What are async pipes and how are they used with directives?
  11. Can you apply multiple directives to the same element?
  12. Difference between ElementRef and Renderer2?
  13. What is a structural directive marker (*)?
  14. How do you conditionally apply classes using directives?
  15. What are template reference variables in directives?
  16. What is the purpose of Angular template syntax #var?
  17. How do you manipulate DOM safely in directives?
  18. How to share data between directives?
  19. Difference between attribute binding and property binding?
  20. Best practices when creating custom directives?

4. Services & Dependency Injection

  1. What is a service in Angular?
  2. Why do we use services instead of duplicating logic in components?
  3. What is Dependency Injection (DI)?
  4. What is the difference between providedIn: root and module-level providers?
  5. What is hierarchical dependency injection in Angular?
  6. What happens if a service is provided at component level?
  7. How do you create a singleton service?
  8. How do you inject a service into another service?
  9. Difference between useClass, useValue, useFactory providers?
  10. What is a multi-provider in Angular?
  11. How does Angular resolve dependencies at runtime?
  12. What is the purpose of Injectable() decorator?
  13. What is Optional() dependency in Angular?
  14. What is Self() and SkipSelf() in Angular DI?
  15. How does Angular handle circular dependency in DI?
  16. What is the difference between root injector and module injector?
  17. How do you configure environment-based services?
  18. How do you mock a service in unit testing?
  19. What is InjectionToken in Angular?
  20. Explain the difference between service scope in lazy loaded vs eagerly loaded modules.

5. Routing & Navigation

  1. How is routing implemented in Angular?
  2. What is RouterModule and how is it configured?
  3. What are route parameters?
  4. How do you implement query parameters in Angular routing?
  5. What are route guards? Types of guards?
  6. Difference between CanActivate and CanDeactivate?
  7. What is CanLoad in routing?
  8. What is lazy loading in Angular routing?
  9. How to preload modules in routing?
  10. What is RouterOutlet directive?
  11. What is ActivatedRoute in Angular?
  12. Difference between snapshot and observable in ActivatedRoute?
  13. How do you handle route navigation programmatically?
  14. How to implement child routes in Angular?
  15. Difference between HashLocationStrategy and PathLocationStrategy?
  16. What is the difference between forRoot and forChild in routing?
  17. How do you create a custom route matcher?
  18. How do you implement wildcard routes?
  19. What is route resolver in Angular?
  20. How do you pass state while navigating routes?

6. Forms (Template-driven & Reactive)

  1. Difference between template-driven and reactive forms?
  2. What are form controls?
  3. What is FormGroup in reactive forms?
  4. How do you perform form validation in Angular?
  5. How do you create custom validators?
  6. What is async validation?
  7. What is FormBuilder in Angular?
  8. Difference between setValue() and patchValue()?
  9. How do you disable form controls dynamically?
  10. What is ngModel in Angular?
  11. How do you bind form data to components?
  12. How to reset a form programmatically?
  13. What is touched vs dirty in Angular forms?
  14. How do you handle cross-field validation?
  15. How do you show validation error messages dynamically?
  16. What is a dynamic form in Angular?
  17. Difference between synchronous and asynchronous validators?
  18. How do you test reactive forms?
  19. What is updateOn in reactive forms?
  20. What is the purpose of AbstractControl in Angular?

7. RxJS & Observables

  1. What is RxJS in Angular?
  2. Difference between Observable and Promise?
  3. What is a Subject in RxJS?
  4. Difference between Subject, BehaviorSubject, ReplaySubject?
  5. What is an Operator in RxJS? Examples?
  6. What is pipe() in RxJS?
  7. What is map, filter, and switchMap in RxJS?
  8. Difference between mergeMap, concatMap, and exhaustMap?
  9. What is debounceTime in RxJS?
  10. How do you unsubscribe from Observables?
  11. What are hot and cold Observables?
  12. What is shareReplay in RxJS?
  13. What is forkJoin operator?
  14. What is combineLatest operator?
  15. What is race operator in RxJS?
  16. How to create a custom Observable?
  17. What is takeUntil in RxJS?
  18. How does Angular use RxJS internally?
  19. Difference between async/await and Observables?
  20. What is the purpose of firstValueFrom and lastValueFrom?

8. Change Detection

  1. What is Angular?s change detection?
  2. What is the default change detection strategy?
  3. Difference between default and OnPush strategy?
  4. What is Zone.js in Angular?
  5. How to manually trigger change detection?
  6. What is ApplicationRef.tick() in Angular?
  7. What is ChangeDetectorRef in Angular?
  8. Difference between detectChanges() and markForCheck()?
  9. How does Angular optimize change detection?
  10. What is immutability and why does it help with OnPush?
  11. What is ngDoCheck lifecycle hook?
  12. How does Angular detect changes in arrays and objects?
  13. Difference between pure and impure pipes in change detection?
  14. What is the async pipe?s role in change detection?
  15. How does trackBy improve *ngFor performance?
  16. How does Angular handle change detection with observables?
  17. What happens when Zone.js is removed from Angular?
  18. Can you disable change detection temporarily?
  19. How do you profile Angular change detection performance?
  20. What is the difference between manual and automatic change detection?

9. Testing

  1. How do you unit test components in Angular?
  2. What is TestBed in Angular?
  3. What is Jasmine in Angular testing?
  4. What is Karma test runner?
  5. How do you mock services in Angular unit tests?
  6. What is a spy in Jasmine?
  7. How do you test HTTP requests in Angular?
  8. What is HttpTestingController?
  9. Difference between unit tests and integration tests?
  10. What is Protractor in Angular?
  11. What is Cypress and can it be used with Angular?
  12. What are async and fakeAsync utilities in Angular testing?
  13. How do you test form validation in Angular?
  14. How do you test route guards in Angular?
  15. How to test directives in Angular?
  16. How do you test pipes in Angular?
  17. What is Angular testing module?
  18. How do you test event emitters?
  19. Difference between shallow testing and deep testing?
  20. Best practices for Angular unit testing?

10. Performance & Best Practices

  1. How do you improve performance in Angular apps?
  2. What is Ahead-of-Time (AOT) compilation?
  3. What is Tree-shaking in Angular?
  4. How to optimize change detection for large applications?
  5. Best practices for structuring Angular applications?
  6. How does lazy loading improve performance?
  7. How do you reduce bundle size in Angular?
  8. What is Angular CLI build optimizer?
  9. What are service workers in Angular?
  10. How to implement server-side rendering (SSR)?
  11. What is differential loading and its benefits?
  12. How to handle memory leaks in Angular apps?
  13. What are best practices for RxJS usage?
  14. How to implement caching in Angular?
  15. Difference between ngZone run() and runOutsideAngular()?
  16. How to optimize *ngFor performance?
  17. What are Angular PWA best practices?
  18. How to secure Angular applications?
  19. What are Angular best practices for folder structure?
  20. How to improve initial load time in Angular apps?

#ReactJS

#ReactJS
Level Topic Subtopics
Basic Introduction What is React, Features of React, Advantages over other frameworks, Virtual DOM, JSX
Components Functional Components, Class Components, Props, Default Props, PropTypes
State Management useState Hook, Class Component State, setState(), Initial State, State vs Props
Rendering Conditional Rendering, Lists & Keys, Rendering Arrays, Fragments, Inline Rendering
Events Handling Events, Synthetic Events, Event Binding, Passing Arguments, Event Bubbling
Intermediate Hooks useEffect, useContext, useRef, useMemo, useCallback
Forms Controlled Components, Uncontrolled Components, Form Validation, useForm Libraries
Routing React Router Basics, Route Parameters, Nested Routes, Redirects, Protected Routes
Styling CSS Modules, Styled Components, Emotion, Inline Styles, Tailwind with React
Context API Creating Context, useContext Hook, Context vs Redux, Context Performance, Nested Contexts
Advanced State Management Redux, Redux Toolkit, Middleware (Thunk, Saga), Zustand, Recoil
Performance Optimization Memoization, React.memo, Code Splitting, Lazy Loading, Suspense
Server-Side Rendering Next.js Basics, Static Site Generation (SSG), Incremental Static Regeneration (ISR), SSR vs CSR, Hydration
Testing Jest, React Testing Library, Enzyme, Snapshot Testing, Mocking APIs
Error Handling Error Boundaries, try-catch in async calls, Fallback UI, Logging Errors, Monitoring
Expert Architecture & Patterns Higher-Order Components (HOC), Render Props, Compound Components, Custom Hooks, Controlled vs Uncontrolled Patterns
Advanced Performance React Concurrent Mode, Suspense for Data Fetching, React Profiler, Optimization with Webpack, Tree Shaking
Scalability Monorepos with React, Micro-Frontends, Module Federation, Large-Scale Folder Structures, Design Systems
Integrations GraphQL with React (Apollo, Relay), WebSockets, WebRTC, REST APIs, gRPC
Deployment & CI/CD Dockerizing React Apps, CI/CD Pipelines, Hosting (Vercel, Netlify, AWS Amplify), Performance Budgets, SEO Optimization

1. Components

  1. What are React components?
  2. Differentiate between functional and class components.
  3. What is JSX and why is it used in React?
  4. How do you pass data from parent to child components?
  5. What are default props in React?
  6. How do you validate props in React?
  7. What is the difference between props and state?
  8. Explain component lifecycle methods in class components.
  9. What is the difference between controlled and uncontrolled components?
  10. How do you conditionally render components in React?
  11. What are fragments and why are they used?
  12. How do you render lists in React?
  13. What is the significance of keys in lists?
  14. Explain React.memo and its use cases.
  15. How do you share data between sibling components?
  16. What are Higher-Order Components (HOC)?
  17. Differentiate between smart and dumb components.
  18. What are render props in React?
  19. How do you optimize re-rendering in React components?
  20. What is the difference between PureComponent and React.Component?
  21. How do you handle errors in React components?
  22. What are portals in React?
  23. Explain lazy loading of components.
  24. How do you structure a large React project?
  25. What are compound components?

2. Hooks

  1. What are React hooks?
  2. Explain the useState hook with an example.
  3. How does useEffect work in React?
  4. Differentiate between useEffect and componentDidMount.
  5. What are rules of hooks in React?
  6. What is useContext hook and how is it used?
  7. Explain the useReducer hook with an example.
  8. What is the difference between useCallback and useMemo?
  9. What is the useRef hook used for?
  10. How do you build custom hooks in React?
  11. Explain performance optimizations with useMemo.
  12. What is the difference between controlled and uncontrolled forms with hooks?
  13. How can you clean up side effects in useEffect?
  14. What is the difference between useLayoutEffect and useEffect?
  15. How do you fetch data using hooks?
  16. Explain how hooks replace lifecycle methods.
  17. What is the useImperativeHandle hook?
  18. How do you handle global state with hooks?
  19. Explain batching of state updates with hooks.
  20. What are stale closures in hooks?
  21. How do you debounce input using hooks?
  22. Explain polling with useEffect.
  23. What is the difference between useId and useRef?
  24. What are hook dependency arrays?
  25. Explain pitfalls of hooks and how to avoid them.

3. State Management

  1. What is state in React?
  2. Differentiate between local and global state.
  3. What are the drawbacks of prop drilling?
  4. Explain Context API for state management.
  5. How do you use Redux with React?
  6. What are reducers in Redux?
  7. Explain actions and action creators in Redux.
  8. What is Redux Toolkit?
  9. How does middleware work in Redux?
  10. Explain Redux Saga with an example.
  11. What is Zustand and when to use it?
  12. Differentiate between Redux and MobX.
  13. What are selectors in Redux?
  14. How do you persist Redux state?
  15. Explain Recoil for state management.
  16. How do you manage asynchronous state in Redux?
  17. What is the difference between Flux and Redux?
  18. What are effects in Redux Thunks vs Sagas?
  19. How do you debug Redux apps?
  20. What are best practices for managing state in large apps?
  21. Explain the concept of immutable state updates.
  22. How do you structure Redux store?
  23. What are atoms in Recoil?
  24. How does Zustand differ from Redux?
  25. When should you avoid Redux?

4. Routing

  1. What is React Router?
  2. How do you install and configure React Router?
  3. Explain BrowserRouter and HashRouter.
  4. What is the difference between Link and NavLink?
  5. How do you handle dynamic routing in React?
  6. Explain route parameters with examples.
  7. What are nested routes in React Router?
  8. How do you implement redirects?
  9. Explain protected routes in React.
  10. How do you handle authentication in routing?
  11. What is the use of useNavigate hook?
  12. Explain the useLocation hook.
  13. What is the difference between Switch and Routes?
  14. How do you handle 404 routes in React Router?
  15. Explain lazy loading routes.
  16. How do you handle query parameters in React Router?
  17. What is the difference between exact and strict in routing?
  18. How do you animate route transitions?
  19. Explain useHistory hook in older React Router.
  20. What is outlet in nested routes?
  21. How do you protect routes with JWT authentication?
  22. Explain MemoryRouter use cases.
  23. How do you integrate Redux with React Router?
  24. What is server-side routing vs client-side routing?
  25. Explain hash-based routing.

5. Performance Optimization

  1. What is reconciliation in React?
  2. How does the virtual DOM improve performance?
  3. What is React Fiber?
  4. How do you optimize re-renders in React?
  5. Explain React.memo and PureComponent.
  6. What is code splitting in React?
  7. How do you implement lazy loading?
  8. Explain dynamic imports in React.
  9. What is tree shaking in React apps?
  10. How do you measure React performance?
  11. What is React Profiler?
  12. How do you optimize large lists in React?
  13. Explain windowing with react-window or react-virtualized.
  14. How do you cache expensive calculations?
  15. What are Web Workers and how can React use them?
  16. Explain Suspense for data fetching.
  17. How do you batch state updates in React?
  18. Explain hydration in React SSR.
  19. How do you optimize React context performance?
  20. What is concurrent rendering?
  21. How do you minimize bundle size?
  22. Explain service workers for caching React apps.
  23. How do you improve time-to-interactive in React apps?
  24. What is Reselect in Redux?
  25. How do you prevent memory leaks in React?

6. Forms & Validation

  1. What are controlled components in forms?
  2. What are uncontrolled components in forms?
  3. How do you use useState for form inputs?
  4. Explain form validation in React.
  5. How do you handle multiple inputs in a form?
  6. What is the difference between controlled vs uncontrolled form validation?
  7. Explain useForm hook from React Hook Form.
  8. How do you integrate Formik in React?
  9. How do you handle async validation in forms?
  10. What are custom form hooks?
  11. How do you reset form values?
  12. How do you handle checkbox and radio inputs in forms?
  13. Explain nested forms in React.
  14. How do you handle file uploads in forms?
  15. What is the role of useRef in uncontrolled forms?
  16. How do you manage form state globally?
  17. How do you handle conditional form fields?
  18. What is form serialization?
  19. How do you integrate Yup with Formik?
  20. Explain debounce validation in forms.
  21. How do you show error messages in forms?
  22. How do you disable a submit button conditionally?
  23. What is optimistic UI in forms?
  24. How do you implement dynamic forms?
  25. How do you test form components?

7. Testing

  1. What are the different testing levels in React?
  2. How do you test React components with Jest?
  3. What is React Testing Library?
  4. How do you render a component in tests?
  5. How do you simulate user events in testing?
  6. What are snapshot tests in React?
  7. How do you mock API calls in tests?
  8. Explain mocking hooks in React tests.
  9. How do you test asynchronous code in React?
  10. What is shallow rendering in Enzyme?
  11. How do you test props in React components?
  12. How do you test state updates in React?
  13. What is the difference between integration and unit tests?
  14. How do you test context-based components?
  15. How do you test React Router components?
  16. What are mock functions in Jest?
  17. How do you test Redux-connected components?
  18. How do you use Cypress for E2E testing in React?
  19. How do you measure test coverage?
  20. What is Test Driven Development (TDD) in React?
  21. How do you test error boundaries?
  22. How do you mock window and browser APIs?
  23. How do you test lazy loaded components?
  24. How do you handle flaky tests?
  25. What are best practices for testing React apps?

8. Server-Side Rendering (SSR) & Next.js

  1. What is the difference between CSR and SSR?
  2. What is Next.js and why use it?
  3. How do you implement SSR in Next.js?
  4. What are getStaticProps and getServerSideProps?
  5. Explain Incremental Static Regeneration (ISR).
  6. How do you handle API routes in Next.js?
  7. What is static site generation?
  8. How does hydration work in React SSR?
  9. What is pre-rendering in Next.js?
  10. How do you deploy a Next.js app?
  11. What are the benefits of ISR?
  12. How do you optimize SEO in SSR apps?
  13. What is the difference between SSG and SSR?
  14. How do you fetch data in Next.js?
  15. What is dynamic routing in Next.js?
  16. How do you implement authentication in Next.js SSR?
  17. Explain getInitialProps and why it?s deprecated.
  18. How do you use middleware in Next.js?
  19. What is API caching in Next.js?
  20. Explain environment variables in Next.js.
  21. What is fallback in SSG pages?
  22. How do you use ISR with revalidate?
  23. How do you integrate GraphQL with SSR?
  24. What is streaming SSR in React 18?
  25. How does Next.js handle image optimization?

9. Styling in React

  1. What are the different ways to style React components?
  2. Explain CSS modules in React.
  3. What is the difference between inline styles and CSS files?
  4. What are styled-components?
  5. How do you use Emotion for styling in React?
  6. Explain Tailwind CSS with React.
  7. What are advantages of CSS-in-JS?
  8. How do you apply conditional styles in React?
  9. How do you manage global styles in React?
  10. What is theming in styled-components?
  11. How do you implement dark mode in React?
  12. How do you use classnames library?
  13. What is CSS scoping in React?
  14. How do you implement animations in React?
  15. Explain React Spring.
  16. How do you integrate Framer Motion?
  17. How do you implement responsive design in React?
  18. What is utility-first CSS?
  19. Explain BEM methodology in React projects.
  20. How do you optimize CSS bundle size?
  21. How do you load external stylesheets in React?
  22. How do you apply styles conditionally with props?
  23. What are global style resets?
  24. How do you manage CSS variables in React?
  25. What are best practices for styling large React apps?

10. Advanced Concepts & Architecture

  1. What are Higher-Order Components (HOC)?
  2. What are Render Props?
  3. Explain Compound Components pattern.
  4. What is Context API and when to use it?
  5. Explain Micro-Frontend architecture with React.
  6. How do you structure a scalable React project?
  7. What is React Concurrent Mode?
  8. Explain Suspense for data fetching.
  9. What is Server Components in React 18?
  10. How do you implement Module Federation with React?
  11. What are design systems in React apps?
  12. Explain Clean Architecture in React projects.
  13. What are monorepos in React development?
  14. How do you use Nx for React monorepos?
  15. Explain container-presenter pattern.
  16. What are uncontrolled vs controlled patterns?
  17. How do you implement pub-sub pattern in React?
  18. What is dependency injection in React?
  19. How do you handle feature toggles in React apps?
  20. What are Edge Functions with React?
  21. How do you use WebSockets in React?
  22. What are Web Workers in React apps?
  23. How do you handle multi-language apps in React?
  24. Explain GraphQL integration with React.
  25. How do you design enterprise-scale React applications?

22 October 2020

#Spring_AOP

#Spring_AOP

Key Concepts


Topic SubTopic Basic Intermediate Advanced Expert
Introduction What is AOP, Advantages, Use Cases
Terminology Aspect, JoinPoint, Pointcut, Advice, Weaving
Types of Advice Before, After, AfterReturning, AfterThrowing, Around
Pointcut Expressions Execution, Within, Args, Annotation, Bean
Spring AOP Architecture Proxy-based AOP, Target object, Advice chain
Proxy Types JDK Dynamic Proxy, CGLIB Proxy
AspectJ Integration @Aspect annotation, Spring configuration, XML support
Weaving Compile-time, Load-time, Runtime
Annotations in Spring AOP @Before, @After, @AfterReturning, @AfterThrowing, @Around
Order of Aspects @Order annotation, precedence, multiple aspects
Introduction to JoinPoints Accessing method parameters, signature, target object
AspectJ Expression Language Execution(), Within(), Args(), @annotation(), this(), target()
Introduction to Advice Methods Advice method parameters, returning values, handling exceptions
AOP Use Cases Logging, Transaction Management, Security, Performance Monitoring
Limitations of Spring AOP Cannot intercept calls within same class, Proxy limitations
Testing Aspects Unit testing, Mocking dependencies, AspectJ testing tools
Exception Handling in Advice AfterThrowing, handling custom exceptions
Performance Considerations Proxy creation cost, advice overhead, best practices
Dynamic Pointcuts Runtime matching, Conditional pointcuts
Introduction to AOP ProxyFactory ProxyFactoryBean, programmatic proxy creation
Spring Boot AOP Integration Auto-configuration, Aspect scanning, starter dependencies
Nested Aspects Combining multiple aspects, advice chaining order
Introductions (AOP feature) @DeclareParents, Introduction advice
Security Aspects Role-based access, Method security with AOP
Best Practices Avoid overusing AOP, maintain readability, minimize cross-cutting complexity
Advanced Topics Load-time weaving, Aspect precedence, custom pointcut expressions

Interview question

Basic Level

  1. What is AOP in Spring?
  2. What are the advantages of using AOP?
  3. What is a cross-cutting concern?
  4. What is an aspect in Spring AOP?
  5. What is advice in Spring AOP?
  6. What is a join point?
  7. What is a pointcut?
  8. What is weaving in AOP?
  9. What is a proxy in Spring AOP?
  10. Difference between proxy-based and AspectJ AOP?
  11. What is the difference between AOP and OOP?
  12. What are the different types of advice in Spring AOP?
  13. What is @Aspect annotation?
  14. How do you define a pointcut expression?
  15. What is the difference between before and after advice?
  16. What is after returning advice?
  17. What is after throwing advice?
  18. What is around advice?
  19. How do you apply multiple advices to the same join point?
  20. What is the default order of advice execution?
  21. How does Spring AOP integrate with Spring Boot?
  22. What is the difference between JDK dynamic proxy and CGLIB proxy?
  23. What limitations does Spring AOP have compared to AspectJ?
  24. How do you enable Spring AOP in XML configuration?
  25. How do you enable Spring AOP using annotations?

Intermediate Level

  1. How do you write a pointcut expression using execution()?
  2. How do you write a pointcut expression using within()?
  3. How do you write a pointcut expression using args()?
  4. How do you write a pointcut expression using @annotation()?
  5. What is the use of this() and target() pointcut designators?
  6. How do you combine multiple pointcut expressions?
  7. How do you pass method parameters to advice?
  8. How do you access return values in advice?
  9. How do you handle exceptions in advice?
  10. What is the use of JoinPoint object in advice?
  11. What is ProceedingJoinPoint?
  12. How do you implement around advice using ProceedingJoinPoint?
  13. How do you control the execution order of multiple aspects?
  14. How do you apply aspects to specific beans using @Component?
  15. How do you apply aspects using XML configuration?
  16. How do you test Spring AOP aspects?
  17. What are some common use cases for Spring AOP?
  18. How do you log method execution using AOP?
  19. How do you measure performance using AOP?
  20. How do you handle security using AOP?
  21. How do you implement transaction management using AOP?
  22. How do you create custom annotations for pointcuts?
  23. What are some best practices when using Spring AOP?
  24. How does AOP affect application performance?
  25. How do you debug AOP issues in Spring?

Advanced Level

  1. How does Spring AOP create proxies internally?
  2. How does CGLIB proxy differ from JDK dynamic proxy internally?
  3. What is the role of ProxyFactoryBean?
  4. How do you implement introduction (type) advice?
  5. How do you add methods or interfaces to existing beans?
  6. What is the difference between compile-time and runtime weaving?
  7. How do you use AspectJ load-time weaving?
  8. How do you configure AspectJ with Spring Boot?
  9. How do you implement conditional pointcuts?
  10. How do you implement dynamic pointcuts at runtime?
  11. How does Spring handle multiple aspects targeting the same join point?
  12. How do you handle nested aspects?
  13. How do you combine annotations and XML configuration in Spring AOP?
  14. How do you optimize AOP for performance?
  15. How do you avoid proxy overhead in Spring AOP?
  16. How do you handle self-invocation problem in AOP?
  17. How do you implement aspects for private methods?
  18. How do you handle exceptions thrown inside advice?
  19. How do you implement asynchronous advice?
  20. How do you implement retry logic using AOP?
  21. How do you handle method arguments modification in advice?
  22. How do you intercept return values and modify them?
  23. How do you implement caching using AOP?
  24. How do you implement auditing using AOP?
  25. How do you implement validation using AOP?

Expert Level

  1. How does Spring AOP differ from full AspectJ AOP?
  2. How do you configure AspectJ compile-time weaving?
  3. How do you configure AspectJ load-time weaving in a production environment?
  4. How do you integrate Spring AOP with other frameworks like Hibernate?
  5. How do you handle cross-module aspects in large projects?
  6. How do you monitor aspect execution in production?
  7. How do you handle aspect dependencies?
  8. How do you implement aspect prioritization in complex scenarios?
  9. How do you implement pointcut inheritance?
  10. How do you combine annotations and programmatic aspects?
  11. How do you implement custom pointcut designators?
  12. How do you implement security for aspect execution?
  13. How do you implement multi-threaded advice safely?
  14. How do you handle memory leaks with Spring AOP proxies?
  15. How do you implement logging with high-performance constraints?
  16. How do you implement aspect-driven performance metrics?
  17. How do you implement transaction rollback using AOP?
  18. How do you implement aspect-driven exception handling strategies?
  19. How do you implement dynamic proxies programmatically?
  20. How do you integrate Spring AOP with reactive programming?
  21. How do you use aspects in Spring WebFlux?
  22. How do you implement auditing for microservices using AOP?
  23. How do you implement cross-service logging using AOP?
  24. How do you integrate Spring AOP with cloud-native applications?
  25. What are the best practices for maintaining complex AOP configurations?

Related Topics


#Spring_Rest

#Spring_Rest
What does REST stand for?
What is a resource?
What is the HTTP status return code for a successful DELETE statement?
What is differences between RESTful web services and SOAP web services?
What is an HttpMessageConverter?
How to create a custom implementation of the HttpMessageConverter to support a new type of request/responses?
When do you need @ResponseBody?
Is REST normally stateless?
What are safe REST operations?
What are idempotent operations? Why is idempotency important?
What are the advantages of the RestTemplate?
What is an HttpMessageConverter in Spring REST?
What does @RequestMapping annotation do?
What is the difference between @Controller and @RestController?
What does @PathVariable do in Spring MVC? Why it's useful in REST with Spring?
What is the HTTP status return code for a successful DELETE statement?
What does CRUD mean?
Which HTTP methods does REST use?
How to create a custom implementation of the HttpMessageConverter to support a new type of request/responses?
When do you need @ResponseBody annotation in Spring MVC?
When do you need @ResponseStatus annotation in Spring MVC?
When such exceptions are thrown from the controller's handler methods and not handled anywhere else, then the appropriate HTTP response with the proper HTTP status code is sent to the client.
Where do you need @EnableWebMVC?
Do you need Spring MVC in your classpath for developing RESTful Web Service?
Does REST work with transport layer security (TLS)?
Is REST scalable and/or interoperable?
Is REST normally stateless?
Is @Controller a stereotype? Is @RestController a stereotype?
Is REST secure? What can you do to secure it?
Spring-Boot
  • There must be a service producer and service consumer.
  • The service is stateless.
  • The service result must be cacheable.
  • The interface is uniform and exposing resources.
  • The service should assume a layered architecture.
  • RESTful web services are platform-independent.
  • It can be written in any programming language and can be executed on any platform.
  • It provides different data format like JSON, text, HTML, and XML.
  • It is fast in comparison to SOAP because there is no strict specification like SOAP.
  • These are reusable.
  • They are language neutral.
  • Path
  • PathParam, FormParam, QueryParam, HeaderParam, CookieParam
  • Produces, Consumes
  • Bounded Context
  • Two Factor Authentication
  • Client certificates
  • OAuth
  • Conway's law
   Idempotency       API_Design   

#Spring_Batch

#Spring_Batch
What is Spring Batch?
What are the key components of Spring Batch?
What is the difference between a Job and a Step?
What is chunk-oriented processing in Spring Batch?
What is the purpose of ItemReader, ItemProcessor, and ItemWriter?
What is the JobRepository in Spring Batch?
What is the role of JobLauncher?
How do you execute a Spring Batch job programmatically?
What are JobInstance and JobExecution?
What is the difference between Tasklet and Step?
What is the role of JobParameters?
What happens if you execute a Spring Batch job with the same JobParameters?
How do you configure a Spring Batch job to be restartable?
How can you skip a record during processing?
What is the difference between Retry and Skip in Spring Batch?
What are the default tables created by Spring Batch?
How do you use listeners in Spring Batch?
How do you enable fault-tolerance in a step?
What is a StepExecutionListener vs a JobExecutionListener?
How is transaction management handled in Spring Batch?
What is partitioning in Spring Batch?
How does remote partitioning differ from local partitioning?
How do you implement multi-threaded steps?
How do you use Spring Batch with Spring Boot?
How do you manage large datasets in Spring Batch?
What is the purpose of JobExplorer and JobOperator?
What is a CompositeItemProcessor?
How do you test a Spring Batch job?
How do you handle job scheduling in Spring Batch?
What strategies can you use to improve batch job performance?
What is FlatFileItemReader and how does it work?
What is JdbcCursorItemReader?
What is the difference between JdbcCursorItemReader and JpaPagingItemReader?
How do you configure a CSV file reader in Spring Batch?
How do you write batch output to a database?
How would you design a job that reads from a file and writes to a DB?
What if your job fails halfway through processing a million records?
How would you monitor and restart failed jobs in production?
How do you avoid duplicate job executions?
How do you version and maintain large batch jobs?
What is the default behavior when a job fails in Spring Batch?
What is the role of JobBuilderFactory and StepBuilderFactory?
How do you configure a job in JavaConfig (without XML)?
How do you make a job non-restartable?
What is ExecutionContext in Spring Batch?
How is ExecutionContext useful between steps?
Can a step be executed multiple times in the same job run?
What is the difference between Job Scope and Step Scope?
Why is @StepScope important for item readers/writers?
What happens when a step is marked allowStartIfComplete=true?
What are different types of listeners in Spring Batch?
How does ItemReadListener help in error logging?
When would you use a ChunkListener?
How to log job start and end time using listeners?
What is the order of listener execution?
When would you choose a Tasklet over a chunk-oriented step?
How do you configure a Tasklet?
What is RepeatStatus.FINISHED in a Tasklet?
Can a Tasklet step be made fault-tolerant?
What is the use of RepeatTemplate?
What is rollback behavior in a chunk?
How do you configure skip limit and retry limit?
What happens if skip and retry thresholds are exceeded?
How do you configure a custom SkipPolicy?
How to configure transactional boundaries at step level?
How do you achieve parallel processing in Spring Batch?
What is the difference between partitioning and multithreading?
How does the master-slave architecture work in remote partitioning?
What is the role of Partitioner interface?
How do you divide data into partitions using a custom partitioner?
What are the different types of ItemReaders provided by Spring Batch?
How to read data from an Excel file in Spring Batch?
How do you use StaxEventItemReader for XML files?
What are the built-in ItemWriter implementations?
What is CompositeItemWriter used for?
How do you pass parameters to a job at runtime?
What is JobParametersIncrementer?
How can you control step transitions?
What is JobExecutionDecider?
How do you conditionally skip a step?
How does Spring Batch support job restarts?
How do you ensure idempotency in batch jobs?
What is the role of JobRepository in restartability?
How does checkpointing work in chunk-based steps?
What is the impact of setting startLimit?
What metadata tables are used by Spring Batch?
What is stored in BATCH_JOB_EXECUTION table?
How do you clean metadata tables periodically?
Can you use a non-relational DB for Spring Batch metadata?
What happens if metadata tables are deleted accidentally?
How do you unit test an ItemProcessor?
What is JobLauncherTestUtils used for?
How do you write integration tests for a complete job?
What is @SpringBatchTest?
How do you mock an ItemReader?
How does Spring Boot simplify Spring Batch configuration?
What are key Spring Boot properties for batch jobs?
What happens when spring.batch.job.enabled=false?
How do you prevent automatic job execution in Spring Boot?
How do you schedule batch jobs using Spring Boot?
How would you migrate a legacy batch system to Spring Batch?
How do you handle back-pressure in Spring Batch processing?
How would you monitor thousands of batch jobs in production?
How would you batch-process streaming data?
How to avoid duplicate processing in distributed systems?
  • Core Concepts - Job, Step, JobInstance, JobExecution, StepExecution
  • Step Execution Model - ItemReader, ItemProcessor, ItemWriter
  • Key Interfaces - ItemReader<T>, ItemProcessor<I, O>, ItemWriter<O>, JobLauncher, JobRepository, JobBuilderFactory, StepBuilderFactory
  • Readers - FlatFileItemReader, JdbcCursorItemReader, JpaPagingItemReader, StaxEventItemReader
  • Writers - JdbcBatchItemWriter, JpaItemWriter, FlatFileItemWriter, StaxEventItemWriter
  • Chunk-oriented & Tasklet-based processing
  • Job Parameters
  • Retry & Skip Logic
  • Listeners: JobExecutionListener, StepExecutionListener, ItemReadListener, etc., for lifecycle hooks.
  • Transactions
  • Partitioning
  • Job Scheduling
  • Fault Tolerance - Retry, Skip, SkipPolicy and RetryPolicy
  • Composite Patterns - CompositeItemProcessor & CompositeItemWriter
  • RepeatTemplate
  • Parallel and Scalable Batch - Partitioning, Multithreaded Step, Remote Chunking, Remote Partitioning
  • Metadata Tables
  • Execution Flow Control - JobFlow, JobExecutionDecider, StepExecutionListener or JobExecutionListener
  • JobExplorer & JobOperator
  • JobLauncherTestUtils

#Spring_JPA

#Spring_JPA

Key Concepts


Topic SubTopic Basic Intermediate Advanced Expert
JPA Basics Introduction, Entities, Annotations
Entity Mapping @Entity, @Table, @Id, @GeneratedValue
Relationships @OneToOne, @OneToMany, @ManyToOne, @ManyToMany
JPQL Queries JPQL Basics, Parameters, Named Queries
Spring Data Repositories CrudRepository, JpaRepository, PagingAndSortingRepository
Derived Queries Method Naming, Query Derivation
Paging & Sorting Pageable, Sort, Slice
Custom Queries @Query Annotation, Native Queries
Criteria API CriteriaBuilder, Specifications
Transactions @Transactional, Propagation, Isolation
Caching First Level, Second Level, EhCache, Infinispan
Auditing @CreatedDate, @LastModifiedDate, AuditingEntityListener
Entity Lifecycle @PrePersist, @PostLoad, @PostUpdate
Performance Tuning N+1 Problem, FetchType (LAZY vs EAGER), Batch Fetching
Locking Optimistic Locking, Pessimistic Locking, @Version
Advanced Relationships Composite Keys, @EmbeddedId, @IdClass
JPQL Advanced Joins, Subqueries, Group By, Having
Projections Interface-based, DTO-based, Dynamic Projections
Multi-Database Multiple DataSources, Routing, Schema Separation
Query Optimization Query Hints, Fetch Joins, Plan Caching
Spring Boot Integration Auto Configuration, application.properties, application.yml
Specifications Predicate Composition, Complex Dynamic Queries
Event Handling EntityListeners, Domain Events, Application Events
Hibernate Internals Session, Persistence Context, Dirty Checking
Distributed Transactions XA Transactions, JTA Integration
Advanced Caching Redis, Hazelcast, Custom Cache Providers
Migration Migrating from JDBC/Hibernate to Spring Data JPA
Testing @DataJpaTest, H2 Database, Integration Testing
Best Practices DTO vs Entity, Entity Design, Batch Inserts
Scalability Sharding, Partitioning, Multi-Tenant Databases

Interview question

Basic Level

  1. What is Spring JPA and how does it differ from Hibernate?
  2. What is the role of @Entity annotation?
  3. Difference between CrudRepository, JpaRepository, and PagingAndSortingRepository.
  4. What is the use of @Table annotation?
  5. What is the difference between @Id and @GeneratedValue?
  6. How does JPA support primary key generation strategies?
  7. What is the difference between findById() and getOne()?
  8. Explain the concept of JPA Entity lifecycle.
  9. How does Spring Boot auto-configure JPA?
  10. What are derived queries in Spring Data JPA?
  11. How does query derivation work in Spring JPA?
  12. What is JPQL? How is it different from SQL?
  13. What is the role of @Query annotation?
  14. How do you enable Spring Data JPA in a project?
  15. What is the default fetch type for @OneToMany and @ManyToOne?
  16. Explain the difference between lazy and eager loading.
  17. How do you define relationships between entities?
  18. What is the difference between EntityManager and Session?
  19. How do you configure a datasource in Spring Boot with JPA?
  20. What is @Column annotation used for?
  21. How does pagination work in Spring Data JPA?
  22. Explain the difference between save() and saveAndFlush().
  23. What is the use of Optional in repository methods?
  24. What is an embedded entity in JPA?
  25. What is application.properties role in configuring JPA?

Intermediate Level

  1. How do you implement custom queries in Spring Data JPA?
  2. Difference between nativeQuery = true and JPQL queries.
  3. What is the role of @Modifying annotation?
  4. What are projections in Spring Data JPA?
  5. Difference between interface-based and class-based projections.
  6. How do you use DTO projections in JPA?
  7. What is the purpose of @Transactional in JPA?
  8. Explain transaction propagation types in Spring JPA.
  9. Explain isolation levels in JPA transactions.
  10. What is optimistic locking in JPA?
  11. What is pessimistic locking in JPA?
  12. How does JPA handle entity versioning?
  13. What are entity listeners in JPA?
  14. How do you implement auditing in Spring Data JPA?
  15. What is the purpose of @CreatedDate and @LastModifiedDate?
  16. How do you enable auditing in Spring Boot JPA?
  17. What is the role of @EnableJpaRepositories?
  18. Difference between JPQL and Criteria API.
  19. What is a Specification in Spring Data JPA?
  20. How do you create dynamic queries using Criteria API?
  21. What is the difference between EntityManager.merge() and EntityManager.persist()?
  22. How do you implement batch inserts in JPA?
  23. How does JPA handle relationships in JSON serialization?
  24. What is the N+1 select problem in JPA?
  25. How can you solve the N+1 problem in JPA?

Advanced Level

  1. How do you configure second-level caching in JPA?
  2. Difference between first-level and second-level caching.
  3. Which cache providers can be used with Spring JPA?
  4. How do you integrate Redis/Hazelcast as a cache with JPA?
  5. How does dirty checking work in JPA?
  6. Explain the difference between detach(), clear(), and close() in EntityManager.
  7. What is cascading in JPA? Types of cascade.
  8. What is orphan removal in JPA?
  9. How do you handle composite primary keys in JPA?
  10. Difference between @IdClass and @EmbeddedId.
  11. How do you use fetch joins in JPQL?
  12. How do you tune performance in Spring Data JPA queries?
  13. What are query hints in JPA?
  14. How do you handle multi-tenancy in Spring JPA?
  15. How does JPA support multiple datasources?
  16. What is the difference between JOIN FETCH and normal join?
  17. How do you implement pagination efficiently in large datasets?
  18. Explain the concept of entity graph in JPA.
  19. What is the difference between dynamic and static entity graphs?
  20. How does JPA handle inheritance mapping (SINGLE_TABLE, TABLE_PER_CLASS, JOINED)?
  21. When would you use MappedSuperclass in JPA?
  22. What is the role of @DiscriminatorColumn in inheritance mapping?
  23. How do you use Spring Data JPA with Querydsl?
  24. How do you implement event listeners in JPA (@PrePersist, @PostUpdate)?
  25. Explain lazy loading exceptions and how to avoid them.

Expert Level

  1. How do you design high-performance applications using JPA?
  2. What are the pitfalls of JPA in high-scale systems?
  3. How do you implement distributed transactions in JPA?
  4. Explain JTA and its role with JPA.
  5. What is the difference between XA transactions and local transactions?
  6. How do you use Spring JPA in microservices architecture?
  7. How does Spring JPA integrate with Spring Cloud?
  8. How do you optimize JPA queries for big data systems?
  9. How do you integrate JPA with Kafka for event-driven systems?
  10. How to use JPA with CQRS architecture?
  11. Explain Event Sourcing with JPA.
  12. How to handle schema evolution in Spring JPA applications?
  13. What are advanced strategies for handling large joins in JPA?
  14. How do you ensure zero-downtime deployments with JPA?
  15. What are the best practices for database migrations with JPA (Liquibase/Flyway)?
  16. How do you scale JPA applications with sharding and partitioning?
  17. What is polyglot persistence and how does JPA fit in?
  18. How do you secure JPA repositories in production systems?
  19. What are common anti-patterns in using JPA?
  20. How do you implement domain-driven design with JPA?
  21. How does JPA handle concurrency in distributed environments?
  22. What are advanced caching strategies with JPA?
  23. How do you debug performance bottlenecks in JPA?
  24. How do you profile SQL queries generated by JPA?
  25. How do you combine JPA with reactive programming models?

Related Topics


21 October 2020

#Jenkins

#Jenkins

Key Concepts


Topic Sub-Topics (comma separated) Basic Intermediate Advanced Expert
Jenkins Fundamentals Introduction, Features, Advantages, Jenkins Architecture, Master-Agent Concept
Installation & Setup System Requirements, Installing Jenkins (Windows/Linux), Initial Setup, Web UI Basics, Plugins Setup
Jenkins Jobs Freestyle Jobs, Build Triggers, Build Steps, Build Post-actions, Parameterized Jobs
Build Management Source Code Integration (Git, SVN), Build Tools (Maven, Gradle, Ant), Poll SCM, Scheduled Builds
Jenkins Pipeline Pipeline as Code, Declarative Pipeline, Scripted Pipeline, Pipeline Syntax, Stages & Steps
Plugins & Integrations Plugin Management, Popular Plugins (Git, Email, JUnit, Slack), External Tool Integration
Distributed Builds Master-Slave Setup, Node Configuration, Labels, Distributed Builds
Security & Access Control User Management, Matrix-based Security, Role-based Access Control, Credentials Management
CI/CD Concepts Continuous Integration, Continuous Delivery, Continuous Deployment, Best Practices
Jenkinsfile Basics, Syntax, Declarative vs Scripted, Groovy Scripting, Advanced Jenkinsfile Usage
Monitoring & Logging Build Logs, Console Output, System Logs, Jenkins Monitoring Tools
Backup & Restore Backup Jenkins Configuration, Restoring Jenkins, Best Practices
Notifications Email Notifications, Slack/MS Teams Integration, Custom Notification Scripts
Integration with DevOps Tools GitHub/GitLab Integration, Docker, Kubernetes, Ansible, Terraform
Scaling Jenkins Scaling Agents, Cloud Agents (AWS, Azure, GCP), Kubernetes-based Jenkins, Load Balancing
Jenkins Security Advanced Securing Jenkins Master/Agents, Hardening, SSL/TLS, Security Best Practices
Jenkins Administration Upgrading Jenkins, Managing Plugins, System Maintenance, Troubleshooting
Advanced Pipelines Shared Libraries, Parallel Execution, Dynamic Agent Allocation, Pipeline Optimization
Jenkins in Containers Running Jenkins in Docker, Docker Agents, Jenkins on Kubernetes, Helm Charts
Enterprise Jenkins Jenkins Operations Center, High Availability, Enterprise Scaling, Governance

Interview question

📘 Basic Level

  1. What is Jenkins, and why is it used?
  2. Who developed Jenkins, and what was its earlier name?
  3. What are the main features of Jenkins?
  4. What is a Jenkins job?
  5. What is a Jenkins pipeline?
  6. Explain the difference between Freestyle and Pipeline jobs.
  7. How do you install Jenkins?
  8. What are Jenkins plugins?
  9. How do you start/stop Jenkins service?
  10. What is the default Jenkins home directory?
  11. How do you secure Jenkins with a password?
  12. What are Jenkins nodes (master/agent)?
  13. How do you configure a Jenkins agent?
  14. What is the purpose of Jenkinsfile?
  15. What is Continuous Integration (CI)?
  16. What is Continuous Delivery (CD)?
  17. How do you integrate Jenkins with Git?
  18. How do you schedule a build in Jenkins?
  19. What are build triggers in Jenkins?
  20. Explain the concept of ?upstream? and ?downstream? jobs.
  21. What is the use of Jenkins artifacts?
  22. How do you install a plugin in Jenkins?
  23. How do you disable a Jenkins job temporarily?
  24. What is the difference between Jenkins and other CI/CD tools?
  25. What are common use cases of Jenkins?

📗 Intermediate Level

  1. How do you set up Jenkins on Docker?
  2. What are Jenkins environment variables?
  3. Explain parameterized jobs in Jenkins.
  4. How do you configure Jenkins with GitHub Webhooks?
  5. How do you configure email notifications in Jenkins?
  6. What is the difference between Declarative and Scripted pipelines?
  7. How do you create a pipeline using Jenkinsfile?
  8. Explain the purpose of the Jenkinsfile stages block.
  9. How do you pass parameters between stages in Jenkins pipeline?
  10. What are shared libraries in Jenkins?
  11. How do you manage Jenkins credentials?
  12. Explain Jenkins Blue Ocean.
  13. How do you back up and restore Jenkins?
  14. What is Jenkins Job DSL?
  15. How do you integrate Jenkins with Maven?
  16. How do you integrate Jenkins with Docker?
  17. How do you integrate Jenkins with Kubernetes?
  18. What is Jenkins Multibranch Pipeline?
  19. How do you configure Jenkins to run parallel builds?
  20. How do you configure Jenkins to trigger builds on code commit?
  21. How do you configure Jenkins security (RBAC)?
  22. What is Jenkins Pipeline as Code?
  23. How do you view console output of a Jenkins job?
  24. What is the difference between node and agent in Jenkins pipeline?
  25. How do you archive artifacts in Jenkins?

📕 Advanced Level

  1. How do you set up Jenkins in High Availability mode?
  2. What is Jenkins distributed build architecture?
  3. How do you scale Jenkins for enterprise-level workloads?
  4. What are Jenkins fingerprints?
  5. How do you configure Jenkins with LDAP authentication?
  6. What is the difference between Jenkins scripted pipeline and Groovy scripts?
  7. Explain how Jenkins integrates with Ansible.
  8. How do you implement pipeline stages for Dev, QA, and Prod?
  9. How do you create a Jenkins pipeline to deploy a Docker container?
  10. What are post actions in Jenkins pipeline?
  11. Explain the difference between agent any and agent none in Jenkins pipeline.
  12. How do you use when conditions in Jenkins pipeline?
  13. What are some best practices for Jenkins pipeline design?
  14. How do you monitor Jenkins performance?
  15. How do you secure secrets in Jenkins pipeline?
  16. What is the difference between Jenkins freestyle job and pipeline-as-code approach?
  17. How do you configure Jenkins for artifact promotion?
  18. How do you integrate Jenkins with SonarQube?
  19. How do you integrate Jenkins with Nexus or JFrog Artifactory?
  20. How do you integrate Jenkins with Terraform?
  21. How do you troubleshoot a failed Jenkins job?
  22. How do you configure retry logic in Jenkins pipeline?
  23. What are scripted steps vs declarative steps in Jenkins pipeline?
  24. How do you use Jenkins matrix jobs?
  25. How do you configure Jenkins to run on Kubernetes pods dynamically?

📓 Expert Level

  1. How do you design a scalable Jenkins architecture for 1000+ developers?
  2. How do you optimize Jenkins for thousands of builds per day?
  3. How do you configure Jenkins shared libraries across multiple teams?
  4. Explain the internals of Jenkins pipeline execution engine.
  5. How do you implement GitOps workflows with Jenkins?
  6. How do you configure Jenkins with service mesh (Istio/Linkerd)?
  7. How do you integrate Jenkins with advanced observability tools (Prometheus, Grafana)?
  8. How do you migrate from Jenkins freestyle jobs to pipeline jobs?
  9. How do you implement multi-region CI/CD with Jenkins?
  10. How do you secure Jenkins REST API?
  11. Explain Jenkins integration with HashiCorp Vault.
  12. How do you debug Groovy scripts in Jenkins pipeline?
  13. How do you implement chaos testing in Jenkins pipelines?
  14. How do you optimize Jenkins pipelines for microservices deployments?
  15. How do you integrate Jenkins with cloud providers (AWS, Azure, GCP)?
  16. How do you implement Jenkins pipeline for Infrastructure as Code (IaC)?
  17. How do you handle secrets management in Jenkins with Kubernetes?
  18. How do you perform Canary/Blue-Green deployments with Jenkins?
  19. How do you secure Jenkins against supply chain attacks?
  20. What are some challenges with Jenkins in large organizations?
  21. How do you integrate Jenkins with AI/ML workflows?
  22. What are advanced caching strategies in Jenkins builds?
  23. How do you configure Jenkins to run pipelines with parallel test suites?
  24. How do you migrate from Jenkins to GitHub Actions/GitLab CI/CD?
  25. What is the future of Jenkins in the DevOps ecosystem?

Related Topics


20 October 2020

#Apache_Kafka

#Apache_Kafka

Key Concepts


Topic Subtopics Basic Intermediate Advanced Expert
Kafka Basics Introduction, Features, Use Cases
Kafka Architecture Broker, Zookeeper, Producer, Consumer
Kafka Topics & Partitions Topic Creation, Partitions, Replication
Kafka Producers Producer API, Acknowledgments, Batching
Kafka Consumers Consumer API, Consumer Groups, Offsets
Kafka Brokers Broker Configuration, Cluster Setup
Kafka Zookeeper Role of Zookeeper, Metadata Management
Kafka Configurations Producer Configs, Consumer Configs
Kafka Data Flow Message Lifecycle, Delivery Semantics
Kafka Storage Log Segments, Indexing, Retention Policies
Kafka Delivery Semantics At-most-once, At-least-once, Exactly-once
Kafka Offset Management Commit Strategies, Auto-commit, Manual
Kafka Connect Connectors, Source & Sink, Configuration
Kafka Streams Stream API, Stateless vs Stateful, KTable
Kafka Security SSL, SASL, Authentication, Authorization
Kafka Monitoring Metrics, JMX, Prometheus, Grafana
Kafka Reliability Replication, ISR, Fault Tolerance
Kafka Performance Tuning Producers, Consumers, Brokers
Kafka Transactions Exactly-once Semantics, Idempotent Producer
Kafka Scaling Partition Strategy, Rebalancing, Throughput
Kafka Multi-cluster MirrorMaker, Cluster Replication
Kafka in Cloud AWS MSK, Confluent Cloud, Azure Event Hub
Kafka Integration Spark, Flink, Hadoop, ELK
Kafka Use Cases IoT, Messaging, Event Sourcing, Streaming
Kafka Future KIP Proposals, Ecosystem Growth

Interview question

Basic Level

  1. What is Apache Kafka?
  2. What are the main features of Kafka?
  3. What are the key use cases of Kafka?
  4. Explain Kafka?s publish-subscribe messaging system.
  5. What is a Kafka topic?
  6. What are Kafka partitions?
  7. What is a Kafka producer?
  8. What is a Kafka consumer?
  9. What is a Kafka broker?
  10. What is a Kafka cluster?
  11. What is a Kafka message?
  12. What is an offset in Kafka?
  13. What is a consumer group in Kafka?
  14. What is the difference between a Kafka queue and a topic?
  15. How do producers send data to Kafka?
  16. How do consumers read data from Kafka?
  17. What is Zookeeper in Kafka (pre-KRaft)?
  18. What is Kafka KRaft mode?
  19. What is the difference between Zookeeper and KRaft?
  20. What is Kafka retention policy?
  21. How do you configure message retention in Kafka?
  22. What are Kafka replicas?
  23. What is the difference between leader and follower replicas?
  24. What happens if a broker fails in Kafka?
  25. How do you create and list Kafka topics?

Intermediate Level

  1. How does Kafka guarantee message ordering?
  2. What is log compaction in Kafka?
  3. What is the difference between log compaction and log retention?
  4. How do you configure acknowledgments (acks) in Kafka?
  5. What is the difference between acks=0, acks=1, and acks=all?
  6. What is idempotent producer in Kafka?
  7. How does Kafka ensure message durability?
  8. What are Kafka consumer offsets?
  9. How does Kafka track consumer offsets?
  10. What is the difference between earliest and latest offset reset?
  11. How do you commit offsets in Kafka?
  12. What is the difference between automatic and manual offset commit?
  13. What are Kafka serializers and deserializers?
  14. What is a Kafka partition key?
  15. How do you achieve message key-based ordering in Kafka?
  16. What is Kafka Streams?
  17. What is KSQL (ksqlDB)?
  18. What are Kafka connectors?
  19. What is Kafka Connect?
  20. What are the different modes of Kafka Connect (standalone vs distributed)?
  21. How do you scale Kafka consumers?
  22. What is consumer rebalancing in Kafka?
  23. What are rebalancing strategies in Kafka?
  24. What is the difference between at-most-once, at-least-once, and exactly-once delivery semantics?
  25. How does Kafka achieve exactly-once semantics?

Advanced Level

  1. Explain Kafka?s architecture in detail.
  2. How does Kafka handle high throughput?
  3. What is the role of page cache in Kafka performance?
  4. How does Kafka achieve fault tolerance?
  5. What is ISR (In-Sync Replicas) in Kafka?
  6. How do leader elections work in Kafka?
  7. What is unclean leader election?
  8. What is the difference between min.insync.replicas and replication factor?
  9. What is rack awareness in Kafka?
  10. How do you monitor Kafka performance?
  11. What are key Kafka metrics to monitor?
  12. What is Kafka Controller?
  13. What happens when the Kafka controller fails?
  14. How does Kafka handle backpressure?
  15. What is a dead letter queue (DLQ) in Kafka?
  16. How do you implement retries in Kafka?
  17. What is Kafka?s compaction log cleaner thread?
  18. What is throttling in Kafka?
  19. How do you secure Kafka with SSL?
  20. How do you secure Kafka with SASL?
  21. What is the difference between SASL/PLAIN, SASL/SCRAM, and SASL/GSSAPI?
  22. How do you enable ACLs in Kafka?
  23. How do you handle schema evolution in Kafka?
  24. What is Confluent Schema Registry?
  25. What is the role of Avro, Protobuf, and JSON schemas in Kafka?

Expert Level

  1. What is Kafka KRaft mode and how does it replace Zookeeper?
  2. Explain Kafka?s Raft protocol.
  3. What are the benefits of KRaft over Zookeeper?
  4. How do you migrate from Zookeeper-based Kafka to KRaft mode?
  5. How do you tune Kafka for high throughput?
  6. How do you tune Kafka for low latency?
  7. How do you size partitions in Kafka?
  8. What are the trade-offs between fewer vs more partitions?
  9. What is Kafka tiered storage?
  10. How do you implement geo-replication in Kafka?
  11. What is MirrorMaker in Kafka?
  12. What is MirrorMaker 2.0 and how does it work?
  13. What are Kafka quotas? How do you use them?
  14. How do you implement multi-tenancy in Kafka?
  15. What are Kafka transactions?
  16. How does Kafka implement exactly-once processing with transactions?
  17. What is the difference between Kafka Streams and Flink?
  18. How does Kafka Streams handle stateful operations?
  19. What is state store in Kafka Streams?
  20. How do you achieve high availability in Kafka Streams?
  21. Compare Kafka with RabbitMQ, ActiveMQ, and Pulsar.
  22. Compare Kafka with Azure Event Hubs and AWS Kinesis.
  23. What are common Kafka anti-patterns?
  24. What are real-world best practices for running Kafka in production?
  25. How do you design a large-scale Kafka deployment for millions of messages per second?


Related Topics


   Kafka_Introduction