30 November 2023

#GIT

#GIT

Key Concepts


S.No Topic Sub-Topics
1 Introduction to Git What is Git, Centralized vs Distributed VCS, Why Git, Git History, Git Workflow
2 Installing & Configuring Git Install Git, Git config, Username & email config, Basic commands, Git help
3 Understanding Git Architecture Working directory, Staging area, Local repository, Remote repository, Commit structure
4 Basic Git Commands git init, git add, git commit, git status, git log
5 Commit Concepts Commit message style, Atomic commits, Commit history, Amending commit, Signed commits
6 Branches git branch, create branch, delete branch, list branches, checkout branch
7 Branching Strategy Feature branch, Bugfix branch, Release branch, Trunk-based, Git Flow
8 Merging git merge, Fast-forward merge, No-ff merge, Merge conflict, Merge strategy
9 Resolving Conflicts Conflict detection, Conflict resolution, Conflict tools, Abort merge, Manual merge
10 Rebase git rebase, Rebase vs merge, Interactive rebase, Rebase conflicts, Rewriting history
11 Remote Repositories git remote, Adding remote, Fetch vs pull, Push to remote, Remote tracking branches
12 Cloning Projects git clone, Clone depth, Clone with branch, Clone over SSH, Clone fork
13 Stashing Changes git stash, Apply stash, Drop stash, Stash pop, Stash list
14 Git Reset & Restore git reset soft, git reset hard, Reset vs revert, git restore, Undo local changes
15 Tags & Releases git tag, Annotated tags, Lightweight tag, Tag release, Tag push
16 Git Logs & History git log formats, Search history, Graph view, git blame, git reflog
17 Patching & Cherry Picking git cherry-pick, git diff patch, Apply patch, Create patch, Use cases
18 Working with Forks Fork concept, Clone fork, Upstream remote, Sync fork, PR from fork
19 Git Pull Requests What is PR, Code reviews, Approvals, Inline comments, Merge strategy
20 Git Ignore .gitignore basics, Patterns, Global gitignore, Ignore rules, Best practices
21 Submodules git submodule add, update submodule, remove submodule, Version sync, Best practices
22 Advanced Git Commands git bisect, git grep, git clean, git describe, git archive
23 Performance Optimization Shallow clone, Sparse checkout, Large files handling, Git GC, Repo cleanup
24 Git Security SSH keys, Token auth, Signing commits, Sensitive data removal, History rewrite
25 Git for Teams Branch protection, Code reviews, Squash merging, Commit guidelines, Team workflow
26 CI/CD Integration GitHub Actions, GitLab CI, Jenkins pipeline, Trigger builds, Automated tests
27 Git & DevOps Release automation, GitOps concept, Git for IaC, Deployment pipelines, Rollback
28 Git & Containers Docker repos, Versioned images, Docker build CI, Image tag strategy, Git for Helm
29 Real World Projects Team branching, PR templates, Semantic commits, Release workflow, Issue linking
30 Resources & Certification Official documentation, Git tutorials, Advanced Git book, Courses, Practice labs

Interview question

Basic

  1. What is Git?
  2. What is the difference between Git and GitHub?
  3. What is a repository in Git?
  4. What is a distributed version control system?
  5. What is the Git working directory?
  6. What is the staging area (index)?
  7. What is a commit?
  8. What does git init do?
  9. What is git clone?
  10. What does git status show?
  11. What is the purpose of git add?
  12. What is git commit?
  13. Difference between git pull and git fetch?
  14. What is .gitignore?
  15. What is HEAD in Git?
  16. What is the default branch in Git?
  17. What does git log do?
  18. What is git diff?
  19. How do you check the Git version?
  20. What is a remote repository?
  21. What does git push do?
  22. What does git pull do?
  23. What is git rm?
  24. What is git mv?
  25. How do you configure username and email in Git?

Intermediate

  1. What is branching in Git?
  2. Why are Git branches lightweight?
  3. What does git branch do?
  4. What is git checkout?
  5. What is git switch?
  6. Difference between merge and rebase?
  7. What is a fast-forward merge?
  8. What is a merge conflict?
  9. How do you resolve merge conflicts?
  10. What is git stash?
  11. Difference between git stash pop and git stash apply?
  12. What is git reset?
  13. Difference between soft, mixed, and hard reset?
  14. What is git revert?
  15. Difference between revert and reset?
  16. What is git cherry-pick?
  17. What is tagging in Git?
  18. Difference between lightweight and annotated tags?
  19. What does git show do?
  20. What is git blame?
  21. What is git reflog?
  22. How do you rename a Git branch?
  23. How do you delete a branch locally and remotely?
  24. What is git clean?
  25. What is detached HEAD state?

Advanced

  1. Explain Git internal architecture.
  2. What are Git objects?
  3. Difference between blob, tree, commit, and tag objects?
  4. What is SHA-1 in Git?
  5. What is interactive rebase?
  6. Explain git rebase -i.
  7. What is squashing commits?
  8. What is git bisect?
  9. How does Git detect file renames?
  10. What is git submodule?
  11. Difference between submodule and subtree?
  12. What is a shallow clone?
  13. What does git fetch --prune do?
  14. What is git worktree?
  15. What is patch mode in Git?
  16. Difference between git apply and git am?
  17. What is git archive?
  18. What is git fsck?
  19. How do you recover a deleted commit?
  20. What is a commit graph?
  21. What is a bare repository?
  22. How does Git compression work?
  23. What are Git hooks?
  24. Types of Git hooks?
  25. What is a pre-commit hook?

Expert

  1. Explain Git pack files.
  2. How does Git optimize storage?
  3. Explain three-way merge in detail.
  4. How does Git detect file changes internally?
  5. What happens internally during git commit?
  6. What happens internally during git clone?
  7. How does Git handle large binary files?
  8. What is Git LFS?
  9. Monorepo vs multirepo ? comparison.
  10. How do you enforce commit message standards?
  11. How do you secure Git repositories?
  12. Explain Git branching strategies.
  13. What is GitFlow?
  14. What is Trunk-Based Development?
  15. How does Git integrate with CI/CD pipelines?
  16. How do you handle hotfixes in Git?
  17. What is fork-based workflow?
  18. How do you reduce merge conflicts in large teams?
  19. Git vs Mercurial ? key differences.
  20. Common Git performance issues?
  21. How do you audit Git history?
  22. How do you remove sensitive data from Git history?
  23. Explain git filter-branch.
  24. Explain git filter-repo.
  25. Design a Git workflow for a large enterprise project.

Related Topics


20 November 2023

#Spring_Framework


Key Concepts


S.No Topic Sub-Topics
1 Spring Core Dependency Injection, IoC, Bean Management, Application Configuration
2 Spring AOP Logging, Security, Transactions, Auditing, Performance Monitoring, Cross Cutting Concerns
3 Spring Context ApplicationContext, Bean Lifecycle, Events, Resource Management, Internationalization
4 Spring Expression Language Dynamic Expressions, Configuration Rules, Conditional Logic, Bean Property Access
5 Spring Boot Rapid Application Development, Auto Configuration, Embedded Server, Production Ready Applications
6 Spring MVC REST APIs, Web Applications, HTTP Request Processing, Controllers, Web Layer
7 Spring WebFlux Reactive Applications, Non Blocking APIs, High Concurrency, Streaming, Real Time Applications
8 Spring WebClient Calling REST APIs, External Services, Async Communication, AI Model APIs, Streaming APIs
9 Spring Validation Request Validation, DTO Validation, Business Input Validation, API Validation
10 Spring Data Database Abstraction, Repository Pattern, CRUD Operations, Database Integration
11 Spring Data JPA Relational Database Applications, ORM, Entity Management, Complex Database Relationships
12 Spring JDBC Direct SQL, High Performance Database Access, Batch Operations, Stored Procedures, Legacy Systems
13 Spring Data MongoDB Document Database Applications, Flexible Schemas, JSON Data, High Volume Applications
14 Spring Data Redis Caching, Session Management, Distributed Cache, Fast Key Value Access, Rate Limiting
15 Spring Data Elasticsearch Full Text Search, Log Search, Analytics, Search Applications, Hybrid AI Search
16 Spring Transactions ACID Transactions, Rollback, Isolation, Transaction Boundaries, Data Consistency
17 Spring Security Authentication, Authorization, API Security, Enterprise Application Security
18 Spring OAuth2 OAuth2 Login, JWT, SSO, Resource Server, Service to Service Authentication
19 Spring Cloud Microservices, Distributed Systems, Cloud Native Applications, Service Management
20 Spring Cloud Config Centralized Configuration, Environment Management, Dynamic Configuration
21 Spring Cloud Gateway API Gateway, Routing, Authentication, Rate Limiting, Request Filtering
22 Spring Cloud OpenFeign Service to Service REST Communication, Declarative HTTP Clients
23 Spring Cloud Circuit Breaker Fault Tolerance, Circuit Breaker, Retry, Timeout, Bulkhead, Resilience
24 Spring Cloud Kubernetes Kubernetes Integration, Service Discovery, Configuration, Cloud Native Deployment
25 Spring Kafka Event Streaming, Asynchronous Processing, Distributed Messaging, Event Driven Systems
26 Spring AMQP RabbitMQ Messaging, Queues, Pub/Sub, Asynchronous Processing
27 Spring Integration Enterprise Integration, Message Routing, Transformation, External System Integration
28 Spring Batch Large Data Processing, ETL, Scheduled Jobs, File Processing, Database Batch Processing
29 Spring Scheduling Scheduled Jobs, Periodic Processing, Maintenance Tasks, Background Jobs
30 Spring Cache Application Caching, Performance Optimization, Redis Integration, Reducing Database Load
31 Spring Test Unit Testing, Integration Testing, Application Context Testing, Test Configuration
32 Spring Boot Test End to End Testing, Integration Testing, Controller Testing, Repository Testing
33 Spring Cloud Stream Event Driven Microservices, Kafka/RabbitMQ Abstraction, Message Processing
34 Spring Cloud Function Serverless Functions, Event Driven Functions, Function as a Service
35 Spring Observability Metrics, Tracing, Logging, Monitoring, Production Diagnostics
36 Spring AI LLM Integration, Chat Applications, Prompt Engineering, AI Application Development
37 Spring AI ChatClient Conversational AI, LLM Requests, Prompt Execution, AI Response Generation
38 Spring AI Embeddings Semantic Search, Document Similarity, Knowledge Retrieval, Vector Representation
39 Spring AI Vector Store Vector Storage, Similarity Search, Semantic Retrieval, AI Knowledge Bases
40 Spring AI RAG Enterprise Knowledge Search, Document Q&A, Grounded AI Responses, Knowledge Retrieval
41 Spring AI Tool Calling LLM Tool Usage, Function Execution, Database Operations, External API Calls
42 Spring AI Advisors Prompt Processing, Memory, RAG Enhancement, Request/Response Interception
43 Spring AI MCP MCP Client, MCP Server, Tool Discovery, AI Context Integration, External Tool Connectivity
44 Spring AI Agent Agent Workflows, Planning, Tool Orchestration, Agent Memory, Autonomous Task Execution
45 Spring AI Evaluation RAG Evaluation, Response Quality, Groundedness, Relevance, AI Regression Testing
46 Spring AI Observability Token Usage, AI Latency, Model Monitoring, Cost Tracking, AI Tracing
47 Spring AI Security Prompt Injection Protection, PII Protection, Data Isolation, Tool Authorization, AI Guardrails
48 Spring AI Multimodal Vision, Image Understanding, Audio, Documents, Multimodal LLM Applications
49 Spring AI Model Integration OpenAI, Azure OpenAI, Ollama, Anthropic, Gemini, Local LLM Integration
50 Spring AI Architecture Enterprise RAG, Agentic RAG, AI Gateway, Model Routing, Multi Agent Systems, AI Governance

Interview question

What is the Spring Framework?
What are the major modules of Spring Framework?
What is Inversion of Control in Spring?
What is Dependency Injection?
What are the types of Dependency Injection?
What is ApplicationContext?
What is BeanFactory?
What is a Spring Bean?
What are Spring Bean scopes?
What is singleton scope?
What is prototype scope?
What is component scanning?
What is @Component?
What is @Service?
What is @Repository?
What is @Controller?
What is @RestController?
What is @Configuration?
What is @Bean?
What is @ComponentScan?
What is @Autowired?
What is @Qualifier?
What is @Primary?
What is constructor injection?
What is circular dependency?
What is lazy initialization?
What is eager initialization?
What is the Spring Bean lifecycle?
What is BeanPostProcessor?
What is BeanFactoryPostProcessor?
What is ApplicationContextAware?
What is @PostConstruct?
What is @PreDestroy?
What is Spring AOP?
What is a Spring proxy?
What is JDK dynamic proxy?
What is CGLIB proxy?
What is a Pointcut?
What is Advice?
What is Around Advice?
What is a Join Point?
What is an Aspect?
What is Spring Expression Language?
What is @Value?
What is @ConfigurationProperties?
What is a Spring Profile?
What is Environment in Spring?
What is a Spring Application Event?
What is @EventListener?
What is Spring Boot?
What is Spring Boot Auto Configuration?
What is a Spring Boot Starter?
What is SpringApplication?
What is an embedded server?
What is Spring Boot Actuator?
What are Spring Boot health endpoints?
What is Spring Boot configuration precedence?
What is @SpringBootApplication?
What is conditional configuration?
What is a custom Spring Boot Starter?
What is DispatcherServlet?
What is Spring MVC?
What is HandlerMapping?
What is HandlerAdapter?
What is @RequestMapping?
What is @GetMapping?
What is @PostMapping?
What is @RequestBody?
What is @ResponseBody?
What is @PathVariable?
What is @RequestParam?
What is @ControllerAdvice?
What is @ExceptionHandler?
What is Spring WebFlux?
What are Mono and Flux?
What is reactive backpressure?
What is WebClient?
What is Spring Data?
What is JpaRepository?
What is Persistence Context?
What is EntityManager?
What is lazy loading?
What is the N+1 query problem?
What is EntityGraph?
What is JdbcTemplate?
What is Spring Transaction Management?
What is @Transactional?
What is transaction propagation?
What are transaction isolation levels?
What is optimistic locking?
What is pessimistic locking?
What is Spring Security?
What is SecurityFilterChain?
What is SecurityContext?
What is authentication?
What is authorization?
What is OAuth2?
What is JWT?
What is a Resource Server?
What is method level security?
Why was Spring Framework created?
Why is Dependency Injection preferred?
Why is constructor injection preferred?
Why is ApplicationContext commonly used?
Why are Spring Beans managed by the container?
Why use interfaces with Spring services?
Why does Spring use proxies?
Why use AOP?
Why does self invocation affect Spring AOP?
Why use @Configuration?
Why use @ConfigurationProperties?
Why use Spring Boot?
Why does Spring Boot use Auto Configuration?
Why are Starter dependencies useful?
Why use Actuator?
Why use embedded servers?
Why use Spring MVC for REST APIs?
Why use DTOs instead of exposing entities?
Why use centralized exception handling?
Why use WebFlux?
Why use WebClient?
Why use reactive programming for high concurrency?
Why use Spring Data?
Why use JPA with Spring?
Why use JdbcTemplate?
Why is the N+1 problem important?
Why use database transactions?
Why use transaction propagation?
Why use optimistic locking?
Why use pessimistic locking?
Why use Spring Security?
Why use OAuth2?
Why use JWT?
Why separate authentication and authorization?
Why use method level security?
Why use Spring Cloud Config?
Why use an API Gateway?
Why use Circuit Breaker?
Why use Kafka with Spring?
Why use consumer groups?
Why use Dead Letter Topics?
Why use idempotent consumers?
Why use Spring Batch?
Why use chunk processing?
Why use partitioning in Spring Batch?
Why use caching?
Why use Testcontainers?
Why use Spring AI?
Why use embeddings in AI applications?
Why use RAG?
Why use tool calling?
Why use MCP with Spring AI?
When should you use Dependency Injection?
When should you use constructor injection?
When should you use @Qualifier?
When should you use @Primary?
When should you use @Lazy?
When should you use prototype scope?
When should you use ApplicationContext?
When should you use Application Events?
When should you use AOP?
When should you use Around Advice?
When should you use @ConfigurationProperties?
When should you use Spring Profiles?
When should you use Spring Boot?
When should you customize Auto Configuration?
When should you use Spring MVC?
When should you use WebFlux?
When should you use WebClient?
When should you use JdbcTemplate?
When should you use JPA?
When should you use EntityGraph?
When should you use transactions?
When should you use optimistic locking?
When should you use pessimistic locking?
When should you use Redis?
When should you use MongoDB?
When should you use Kafka?
When should you use Kafka transactions?
When should you use a Dead Letter Topic?
When should you use Spring Batch?
When should you use partitioning?
When should you use Spring Cloud?
When should you use an API Gateway?
When should you use Circuit Breaker?
When should you use OAuth2?
When should you use JWT?
When should you use method level security?
When should you use caching?
When should you use WebFlux for AI streaming?
When should you use Spring AI?
When should you use embeddings?
When should you use a vector database?
When should you use RAG?
When should you use hybrid search?
When should you use tool calling?
When should you use MCP?
When should you use an AI agent?
When should you use human in the loop?
When should you use Spring AI Advisors?
Which Dependency Injection approach should you use?
Which Spring Bean scope should you use?
Which annotation should you use to define a service?
Which annotation should you use for configuration?
Which annotation should you use for dependency resolution?
Which proxy mechanism does Spring use?
Which AOP advice should you use?
Which configuration mechanism should you use?
Which Spring Boot Starter should you use for REST APIs?
Which server should you use for Spring Boot?
Which Spring MVC annotation should you use for REST endpoints?
Which validation mechanism should you use?
Which exception handling approach should you use?
Which HTTP client should you use in modern Spring applications?
Which reactive type should you use for a single result?
Which reactive type should you use for multiple results?
Which Spring Data repository should you use?
Which database access approach should you use?
Which JPA fetching strategy should you use?
Which locking strategy should you use?
Which transaction propagation should you use?
Which isolation level should you use?
Which authentication mechanism should you use?
Which OAuth2 flow should you use?
Which JWT claims are important?
Which authorization mechanism should you use?
Which Spring Cloud component should you use for configuration?
Which Spring Cloud component should you use for routing?
Which resilience pattern should you use?
Which messaging system should you use with Spring?
Which Kafka acknowledgment mode should you use?
Which Kafka error handling strategy should you use?
Which Spring Batch processing model should you use?
Which Spring Batch scaling strategy should you use?
Which caching strategy should you use?
Which testing approach should you use?
Which Spring AI Chat API should you use?
Which AI model should you use with Spring AI?
Which embedding model should you use?
Which vector database should you use?
Which text splitting strategy should you use?
Which RAG retrieval strategy should you use?
Which search strategy should you use for RAG?
Which re-ranking approach should you use?
Which Spring AI Advisor should you use?
Which tool calling approach should you use?
Which MCP component should you use?
Which agent architecture should you use?
How does Dependency Injection work internally?
How does Spring create a Bean?
How does component scanning work?
How does Spring resolve dependencies?
How does @Qualifier resolve multiple Beans?
How does @Primary work?
How does the Spring Bean lifecycle work?
How does BeanPostProcessor work?
How does Spring AOP work internally?
How does Spring create proxies?
How does @Transactional work internally?
How does Spring Boot Auto Configuration work?
How does Spring Boot discover Auto Configuration?
How does configuration precedence work?
How does DispatcherServlet process a request?
How does Spring MVC resolve a controller method?
How does Spring serialize JSON?
How does global exception handling work?
How does WebFlux process requests?
How does WebClient handle asynchronous requests?
How does Spring Data generate repository implementations?
How does JPA Persistence Context work?
How does lazy loading work?
How do you solve the N+1 query problem?
How does JdbcTemplate execute SQL?
How does Spring transaction management work?
How does optimistic locking work?
How does Spring Security filter the request?
How does JWT authentication work?
How does OAuth2 Resource Server work?
How does method level authorization work?
How does Spring Cloud Config load configuration?
How does API Gateway route requests?
How does Circuit Breaker work?
How does Spring Kafka consume messages?
How does Kafka error handling work?
How does Spring Batch execute a Job?
How does chunk processing work?
How does Spring Cache work?
How does Spring AI ChatClient work?
How does Spring AI call an LLM?
How does an embedding pipeline work?
How does a RAG pipeline work?
How does vector similarity search work?
How does Spring AI tool calling work?
How does Spring AI MCP integration work?
How does an AI agent orchestrate tools?
How do you secure an AI tool?
How do you evaluate a RAG application?
Where is Dependency Injection used?
Where should constructor injection be applied?
Where are Spring Beans managed?
Where does ApplicationContext fit in the architecture?
Where is AOP commonly used?
Where are Spring proxies created?
Where should configuration properties be defined?
Where should Spring Profiles be used?
Where is Auto Configuration applied?
Where does DispatcherServlet operate?
Where should validation be performed?
Where should exception handling be implemented?
Where should WebFlux be used?
Where should WebClient be used?
Where should JPA be used?
Where should JdbcTemplate be used?
Where should caching be implemented?
Where should transactions be defined?
Where should optimistic locking be applied?
Where should Spring Security authentication occur?
Where should authorization rules be defined?
Where should JWT validation occur?
Where should OAuth2 be implemented?
Where should API Gateway security be applied?
Where should Circuit Breaker be implemented?
Where should Kafka be used?
Where should Kafka transactions be used?
Where should Spring Batch be used?
Where should Batch partitioning be used?
Where should distributed tracing be implemented?
Where should Spring AI be introduced in an enterprise architecture?
Where should embeddings be generated?
Where should vectors be stored?
Where should document chunking occur?
Where should RAG retrieval occur?
Where should re-ranking occur?
Where should prompt templates be managed?
Where should AI guardrails be implemented?
Where should tool authorization be enforced?
Where should MCP servers be deployed?
Where should MCP clients be used?
Where should agent memory be stored?
Where should AI observability be implemented?
Where should AI evaluation be performed?
Where should human approval be introduced in an agent workflow?
Where should model routing be implemented?
Where should AI audit logging be implemented?
What is the difference between IoC and Dependency Injection?
What is the difference between BeanFactory and ApplicationContext?
What is the difference between @Component and @Bean?
What is the difference between @Component, @Service and @Repository?
What is the difference between @Primary and @Qualifier?
What is the difference between singleton and prototype scope?
What is the difference between JDK Proxy and CGLIB?
What is the difference between @Value and @ConfigurationProperties?
What is the difference between Spring MVC and Spring WebFlux?
What is the difference between RestTemplate and WebClient?
What is the difference between JpaRepository and CrudRepository?
What is the difference between JPA and JDBC?
What is the difference between lazy loading and eager loading?
What is the difference between optimistic and pessimistic locking?
What is the difference between authentication and authorization?
What is the difference between OAuth2 and JWT?
What is the difference between Kafka and RabbitMQ?
What is the difference between Spring Batch and Spring Scheduling?
What is the difference between RAG and fine tuning?
What is the difference between MCP and function calling?
How would you design a Spring Boot application with multiple implementations of the same interface?
A @Transactional method is not rolling back. How would you troubleshoot it?
A Spring application has a circular dependency. How would you identify and resolve it?
A REST API suddenly becomes slow under heavy traffic. How would you investigate it?
Your service receives duplicate requests. How would you make the API idempotent?
A JPA application is generating thousands of queries. How would you identify and solve the issue?
A database transaction contains multiple service calls. Where would you place the transaction boundary?
Two users update the same database record simultaneously. How would you handle it?
A downstream service is unavailable for several minutes. How would you prevent cascading failures?
A Kafka consumer repeatedly fails for one message. How would you handle the message?
A Kafka consumer processes the same message twice. How would you design for this?
A Spring Batch job processes millions of records and takes too long. How would you optimize it?
A batch job fails halfway through processing. How would you make it restartable?
Your microservices require centralized configuration across environments. How would you design it?
Your APIs need authentication and role based authorization. How would you implement it?
A JWT token is valid but the user receives 403. How would you troubleshoot it?
You need to expose an enterprise document repository to an LLM. How would you design the RAG pipeline?
Your RAG application retrieves irrelevant documents. How would you improve retrieval quality?
Your RAG response contains information that is not present in the retrieved documents. How would you investigate it?
You need an LLM to execute database operations safely. How would you design tool calling?
You need to expose enterprise APIs as tools to multiple AI clients. How would you use MCP?
An AI agent repeatedly calls the same tool. How would you control the workflow?
Your AI application has high token costs. How would you identify and reduce unnecessary usage?
Your AI application must prevent users from accessing documents belonging to another tenant. How would you design tenant aware RAG?
You need human approval before an AI agent performs a financial transaction. How would you design the workflow?

Related Topics