Technical Recruiter Reference — 2025/2026

Full-Stack Java Web Development
Skills Explainer

A plain-English guide to every programming language, framework, and tool that appears on a full-stack Java developer's résumé — written for recruiters, not engineers.

18Skills Covered
3Stack Layers
40+Interview Questions
🗺️

How a Full-Stack Java App is Built

The big picture before diving into individual skills

The 3-Layer Architecture — What Every Developer Must Know

LAYER 1 — FRONT-END (what the user sees) Browser / Mobile App HTML/CSS JavaScript React/Angular REST API / HTTP calls LAYER 2 — BACK-END (the brain / business logic) Java Server Java / OOP Spring Boot REST APIs SQL / JPA queries LAYER 3 — DATA (where information is stored) Database Server MySQL/Postgres MongoDB Hibernate/JPA

Every full-stack Java app has these three layers. Each tab in this guide covers one area.

What is a "Full-Stack" Developer?
Recruiter Primer
🗣️ In plain EnglishA full-stack developer can build the entire website or app — the part you click on (front-end), the logic behind the scenes (back-end), and the place where data is saved (database). They don't need a separate team for each layer.

When a job req says "Full-Stack Java Developer," the company wants one person who can handle all three layers above. Java is the primary language used on the back-end. The developer typically uses JavaScript-based tools (React, Angular) on the front-end. A strong full-stack candidate should list skills in all three areas, plus DevOps/tooling knowledge.

🖥️

Front-End Skills

The technologies that create what users see and click on in their browser

HTML Core
HyperText Markup Language
🗣️ In plain EnglishHTML is the skeleton of every web page. It tells the browser what's on the page — headings, paragraphs, buttons, images. Without HTML, there is no web page at all.

HTML uses "tags" (like <button> or <h1>) to label content. Every web developer must know HTML — it's the baseline of front-end work. It requires no special tooling and runs directly in any browser.

How HTML builds a page
<html> <h1>My Website</h1> <p>Welcome to my page</p> <button>Click Me</button> </html>
CSS Core
Cascading Style Sheets
🗣️ In plain EnglishCSS is the paint and interior design of a web page. While HTML defines what's there, CSS controls how it looks — colors, fonts, layout, spacing, and animations.

Every visual element you see on a website — margins, font sizes, the blue color of a link — is controlled by CSS. Look for it alongside HTML on any front-end résumé. "Responsive design" (adapting to phone screens) is done with CSS.

CSS = HTML + Style
HTML (structure) + color: #00c9b1; font-size: 18px; margin: 24px; border-radius: 8px;
JavaScript Core
Client-Side Scripting Language
🗣️ In plain EnglishJavaScript makes web pages interactive. When you click a button and something happens without the page reloading, that's JavaScript at work. Think of it as the muscles of the webpage.

While HTML and CSS create the visual page, JavaScript responds to user actions — form submissions, dropdown menus, live search results, animations. It runs inside the browser, making it the world's most-used programming language. A front-end dev without JavaScript experience is incomplete.

TypeScript Framework
Typed Superset of JavaScript
🗣️ In plain EnglishTypeScript is JavaScript with a safety net. It catches common programming mistakes before the app even runs, like a spell-checker for code. Most modern projects prefer it over plain JavaScript.

TypeScript is increasingly expected on professional résumés alongside JavaScript. It was created by Microsoft and compiles down to plain JavaScript. Seeing TypeScript on a résumé signals the candidate works in a professional, large-scale codebase.

React.js Framework
UI Component Library (Meta)
🗣️ In plain EnglishReact lets developers build web interfaces using reusable "building blocks" called components. Think of it like LEGO — you build a Button component once and reuse it across the entire app. It powers Facebook, Instagram, Airbnb, and thousands more.

React is the most popular front-end library in the world and is the #1 pairing with Java back-ends. If a job req says "full-stack Java with React," the developer builds the Java server and also writes the browser UI in React. Look for React in almost every modern full-stack Java role.

React component model
<App /> — root component <Header /> <Nav /> <Footer /> <Logo /> <SearchBar />
Angular Framework
Full Front-End Framework (Google)
🗣️ In plain EnglishAngular is a complete toolkit for building large web applications. Whereas React is a library you build on top of, Angular is an entire opinionated framework — like the difference between buying individual furniture pieces vs. buying a fully-designed room set.

Angular is especially popular in enterprise environments and large financial/insurance companies. It uses TypeScript by default. Many legacy Java enterprises run Angular on the front-end paired with Spring Boot on the back-end. A candidate listing both Angular and Spring Boot is a classic enterprise full-stack Java profile.

⚙️

Back-End Skills

The server-side technologies that power the business logic and data processing

Core Java Core
Object-Oriented Programming Language
🗣️ In plain EnglishJava is the primary programming language for the back-end — the "brain" of the application. It handles calculations, user authentication, connecting to databases, and enforcing business rules. Think of it as the chef in a restaurant kitchen: the customer never sees it, but everything depends on it.

Java has been a top enterprise language for 25+ years. It powers the back-ends of LinkedIn, Netflix, Amazon, Uber, and thousands of banks and insurance companies. Java 17+ and Java 21 are the current LTS (Long-Term Support) versions — seeing these on a résumé means the candidate is up to date.

Java's 4 pillars of OOP (Object-Oriented Programming)
Encapsulation 🔒 Hide inner details Inheritance 🧬 Reuse behavior Polymorphism 🎭 One action, many forms Abstraction 🎛️ Show only essentials
Spring Boot Framework
Java Application Framework (VMware/Broadcom)
🗣️ In plain EnglishSpring Boot is a pre-built toolkit that dramatically speeds up Java development. Instead of writing thousands of lines of setup code, a developer uses Spring Boot to get a working server running in minutes. It's Java's most popular and powerful framework — like React is to JavaScript.

If Core Java appears on a résumé, Spring Boot almost certainly does too. Spring Boot 3+ (Java 17+) is current. It includes Spring Security (login/auth), Spring Data (database access), and Spring MVC (building APIs). This is the #1 most important back-end skill to spot on a Java full-stack résumé.

Spring Boot handles the full request lifecycle
Browser Request Controller routes URL Service business logic Repository database ops
REST APIs Core
Application Programming Interface design
🗣️ In plain EnglishA REST API is the "waiter" between the front-end and the back-end. The browser (front-end) sends an order (request) to the waiter (API); the waiter relays it to the kitchen (back-end); the kitchen prepares the food and the waiter brings it back. APIs let the front-end and back-end talk to each other without knowing how the other side works.

When a résumé says "REST API development" or "RESTful services," the candidate knows how to design these communication channels. REST uses HTTP actions (GET to read, POST to create, PUT to update, DELETE to remove). Every full-stack Java developer must know how to build REST APIs — it's the connective tissue of the entire app.

REST API verbs explained
GET /api/users — fetch & display a list of users POST /api/users — create a new user account PUT /api/users/42 — update user #42's profile DELETE /api/users/42 — remove user #42
Hibernate / JPA Framework
Object-Relational Mapping (ORM)
🗣️ In plain EnglishDatabases speak SQL; Java objects are structured differently. Hibernate is a translator. It automatically converts Java objects to database rows and back, so developers don't have to write raw SQL for every single database operation. JPA is the standard specification; Hibernate is the most popular implementation.

Almost every Spring Boot project uses JPA/Hibernate for database work. When you see "Spring Data JPA" on a résumé, it means the candidate uses this translated layer. Some senior developers prefer raw SQL (Stored Procedures, MyBatis) — both approaches are valid and signal different preferences.

Microservices Architecture
Distributed System Design Pattern
🗣️ In plain EnglishInstead of one giant app, microservices breaks the application into small, independent services — each doing one job. Think of it like a shopping mall vs. a single department store. If the shoe store catches fire, the rest of the mall is fine. This makes large apps easier to update, scale, and fix.

Senior Java developers with 5+ years often list "microservices" or "Spring Cloud" on their résumés. This is a strong signal of enterprise-level experience. It's a more complex architecture — if a junior developer claims microservices, ask follow-up questions. Look for Docker and Kubernetes alongside it.

Maven / Gradle Core
Build Automation Tools
🗣️ In plain EnglishMaven and Gradle are the grocery delivery services of Java development. Instead of manually downloading every library and tool a project needs, Maven/Gradle automatically fetch and organize all the dependencies. Without them, a developer would spend hours setting up each project by hand.

Every Java project uses either Maven or Gradle — they are non-negotiable. Maven has been the standard for decades; Gradle is newer and faster, favored by Google (Android). Seeing either on a résumé is expected; not seeing either on a Java résumé is a warning sign.

🗄️

Data & Persistence Skills

How applications store, retrieve, and manage data

SQL Core
Structured Query Language
🗣️ In plain EnglishSQL is the language used to ask questions of a database. "Give me all customers who bought something in the last 30 days" is a SQL query. Every developer who touches a database must know SQL — it's as fundamental as knowing how to read and write.

SQL appears on virtually every full-stack Java résumé. Look for specific database names: MySQL, PostgreSQL, Oracle, SQL Server. These are all relational databases (data in tables with rows and columns, like a spreadsheet). MySQL and PostgreSQL are the most common in modern projects.

SQL = asking structured questions of a table
SELECT name, email FROM users WHERE last_purchase > '2024-01-01' ORDER BY name ASC; → Returns: name + email of recent buyers, A→Z
MongoDB NoSQL
Document Database (NoSQL)
🗣️ In plain EnglishMongoDB stores data not in rows/columns (like SQL) but in flexible "documents" — similar to JSON files. Imagine a Word document instead of an Excel spreadsheet. Great for data that changes shape frequently, like user preferences, product catalogs, or social media posts.

MongoDB is the most popular NoSQL database and increasingly appears alongside SQL on Java full-stack résumés. When a candidate lists both MySQL/PostgreSQL and MongoDB, they're demonstrating versatility — knowing when to use structured vs. flexible data storage. Spring Data MongoDB is the Java integration.

Redis Caching
In-Memory Data Store
🗣️ In plain EnglishRedis is a super-fast "sticky note" board. Instead of going back to the database (slow) every time someone asks the same question, Redis caches (remembers) the answer in memory for quick retrieval. A site that loads in 50ms vs 500ms often has Redis in the middle.

Redis on a Java résumé signals performance-conscious engineering. It's used for session management, leaderboards, caching API responses, and real-time features. Look for it on mid-to-senior level candidates working on high-traffic apps.

🚀

DevOps & Tooling

How developers test, package, deploy, and maintain applications

Git / GitHub Core
Version Control System
🗣️ In plain EnglishGit is the "track changes" feature for code, but infinitely more powerful. Every developer saves a history of every change they've made. If something breaks, they can rewind to any earlier version. GitHub is where code is stored online and teams collaborate. Not knowing Git is a dealbreaker at any level.

Git is non-negotiable on every developer résumé at every experience level. Candidates should know branching, merging, pull requests, and resolving merge conflicts. GitHub is the most common platform; GitLab and Bitbucket are alternatives used in enterprise settings.

Docker DevOps
Container Platform
🗣️ In plain EnglishDocker packages an application and everything it needs (code, libraries, settings) into a single portable "container" — like a shipping container. That container runs identically on any computer, so "it works on my machine" is no longer an excuse. Containers make deploying apps fast, reliable, and consistent.

Docker is now expected at mid-to-senior levels and even many junior full-stack roles. It's used in every DevOps/CI-CD pipeline. When paired with Kubernetes, it signals the candidate works with large-scale, cloud-native systems.

Containers vs. Traditional deployment
Traditional (risky) Docker (safe) Your Computer App v1.2 Server v2.1 ⚠ versions may clash! 🐳 Docker Container App + all its libraries runs the same everywhere ✓
Kubernetes (K8s) DevOps
Container Orchestration
🗣️ In plain EnglishIf Docker is one shipping container, Kubernetes is the entire shipping port that manages thousands of containers — routing them, restarting failed ones, and scaling up when traffic spikes. It's advanced DevOps and signals very senior or cloud-native experience.

Kubernetes (abbreviated K8s) on a résumé signals senior-level, cloud-scale experience. It's typically paired with Docker and cloud platforms (AWS EKS, Google GKE, Azure AKS). Not expected at junior or mid-level unless specifically in a DevOps/Platform Engineering role.

AWS / Cloud Platforms DevOps
Amazon Web Services / Azure / GCP
🗣️ In plain EnglishInstead of buying physical servers, companies rent computing power from AWS (Amazon), Azure (Microsoft), or GCP (Google). Cloud platforms provide servers, databases, storage, and hundreds of services on-demand. Knowing AWS means the developer can deploy and run apps in the cloud without managing physical hardware.

Cloud experience is increasingly expected at mid-to-senior levels. AWS is the most common (32%+ market share). Key services to recognize: EC2 (virtual servers), S3 (file storage), RDS (managed databases), Lambda (serverless functions). An AWS certification on a résumé is a strong plus.

JUnit / Testing Core
Unit & Integration Testing
🗣️ In plain EnglishTesting frameworks (JUnit, Mockito) are the quality-control inspectors of the code. They automatically run hundreds of checks to make sure the code still works correctly after every change — like a spell-check that runs on logic instead of spelling. Professional teams never ship code without tests.

JUnit is the standard Java testing framework. Mockito is used to simulate ("mock") external dependencies so each component can be tested in isolation. Test coverage, TDD (Test-Driven Development), and testing experience signal code quality and professionalism. This is a strong differentiator for senior candidates.

Apache Kafka Advanced
Distributed Message Streaming
🗣️ In plain EnglishKafka is a high-speed conveyor belt for data between services. When millions of events happen per second (like bank transactions or IoT sensor readings), Kafka queues and delivers those events reliably to the right services — even if a service is temporarily down. It's the backbone of real-time data pipelines.

Kafka on a résumé signals the candidate works with high-throughput, event-driven, or real-time systems. Common in fintech, e-commerce, and data engineering. It's an advanced skill — not expected on junior résumés but a major plus for senior back-end or distributed systems roles.

📖

Quick-Reference Glossary

Jargon you'll encounter on résumés and job descriptions — decoded

Term Plain-English Meaning When You See It
OOP / OODObject-Oriented Programming/Design — the foundational style of Java codeCore Java experience
APIThe "waiter" between front-end and back-end; how services talk to each otherAny full-stack or back-end role
JVMJava Virtual Machine — the engine that runs Java programs on any computerJava performance conversations
CI/CDContinuous Integration/Deployment — automatically testing & shipping code changesDevOps maturity; mid/senior roles
ORMObject-Relational Mapping — auto-translation between Java objects and database tablesHibernate, JPA, Spring Data
MVCModel-View-Controller — a popular way to organize web app code into three rolesSpring MVC, Angular
CRUDCreate, Read, Update, Delete — the four basic database operations every app needsAny data-driven application
JWTJSON Web Token — a secure digital "badge" used for logging users in without passwords each timeAuthentication / Spring Security
LTSLong-Term Support — a stable version of software maintained for years (e.g., Java 17, Java 21)Signals candidate is using current, stable Java
DTOData Transfer Object — a simple container to carry data between layers of the appSpring Boot API design
Agile / ScrumA project management style where work is done in short 2-week sprints with daily standupsTeam collaboration; almost universal
TDDTest-Driven Development — writing tests before writing code; signals discipline and qualitySenior engineering culture
IaCInfrastructure as Code — managing servers with code instead of manual setup (Terraform)Senior DevOps / cloud-native roles
MonolithA single large application (vs. microservices) — simpler but harder to scaleArchitecture discussions
SOLID5 design principles for writing clean, maintainable OOP code — signals strong fundamentalsSenior or software architecture focus
💬

Recruiter's Interview Cheat Sheet

Qualifying questions by domain — with what strong, average, and weak answers sound like

📌 How to use this section

Each question below is designed to be asked conversationally — you don't need to understand the technology to evaluate the response quality. Focus on: specificity (do they give real names and versions?), tradeoff thinking (do they know pros/cons?), and depth under follow-up (do details hold up?). Vague answers to technical questions are a red flag regardless of résumé claims.

🔎

General Screening

ALL CANDIDATES
Opener
"Walk me through the layers of the last full-stack application you worked on."
Strong: Names all three layers — front-end (React/Angular), back-end (Spring Boot/Java), and database (MySQL/Postgres) — and describes what each does and how they connect via REST APIs.

Average: Can describe the layers but is vague about the connecting technology.

Weak: Only describes one layer or says "I just did the front-end / back-end part."
Self-Assessment
"On a scale from 1–10, rate yourself on front-end vs. back-end. Which do you consider your stronger side?"
Strong: Gives honest split (e.g., "7 back-end, 5 front-end") and explains why — preference, project history, or learning trajectory. Shows self-awareness.

Average: Claims equal strength in both without explanation.

Weak: Claims 9–10 in everything with no nuance. True full-stack experts rarely rate themselves perfect across all layers.
Currency Check
"What version of Java are you currently working with, and have you used any Java 17 or Java 21 features?"
Strong: Java 17 or 21 (current LTS versions); mentions specific features like Records, Sealed Classes, or virtual threads (Project Loom).

Average: Java 11 — still acceptable but older.

Weak: Still on Java 8 with no awareness of newer versions. Signals legacy-only environment or lack of curiosity.
Team Fit
"Describe your team's development workflow — how does code go from your laptop to production?"
Strong: Describes Git branching → pull request → code review → CI/CD pipeline (GitHub Actions, Jenkins) → automated tests → deployment to cloud/container. Shows end-to-end awareness.

Average: Knows Git and has some CI/CD awareness but unclear on deployment details.

Weak: "I just push my code and someone else deploys it." No pipeline awareness.
🖥️

Front-End Questions

HTML · CSS · JS · REACT · ANGULAR
Framework Depth
"Which front-end framework do you use most — React or Angular — and why do you prefer it?"
Strong: Articulates real tradeoffs — "React is more flexible, Angular gives more structure for large teams." Names specific features they use (React Hooks, Angular Services/RxJS).

Average: Knows one framework well but limited reasoning for the choice.

Weak: Lists both on résumé but can only describe one shallowly; or says "I just used what the company chose."
State Management
"How do you manage shared data (state) across components in a React application?"
Strong: Explains that state is "shared memory" in an app. Mentions useState for local state, Context API for app-wide state, or Redux/Zustand for complex apps — and when to use each.

Average: Knows useState and maybe Context but no awareness of Redux or when to escalate.

Weak: Can't explain what state management is or why it's needed.
API Integration
"How does your front-end communicate with the Java back-end?"
Strong: Describes HTTP calls via fetch() or Axios to REST API endpoints; mentions JSON as the data format; may reference CORS (the browser security rule that controls which servers a page can talk to).

Average: Knows they "call an API" but unclear on mechanism.

Weak: Vague — "the data just comes from the server."
Responsive Design
"How do you ensure your UI works on both desktop and mobile screens?"
Strong: Mentions CSS media queries, Flexbox/Grid layouts, mobile-first design, and possibly a UI library like Tailwind CSS, Bootstrap, or Material UI.

Average: "I use Bootstrap" — functional but shows limited CSS knowledge.

Weak: "We didn't really think about mobile" or no CSS knowledge at all.
TypeScript
"Do you use TypeScript or plain JavaScript? What's the practical difference?"
Strong: Uses TypeScript; explains it catches type errors at write-time instead of runtime — like a spell-checker that also checks logic. Mentions interfaces and strict typing.

Average: Has used TypeScript but considers it optional overhead.

Weak: No TypeScript experience; unaware it's now the professional standard for React/Angular projects.
Performance
"Has a web page you built ever been slow? How did you diagnose and fix it?"
Strong: Describes using browser DevTools (Network/Performance tab), mentions lazy loading images, code splitting, reducing API call frequency, or caching. Shows real problem-solving.

Average: Aware of the tools but gives a generic answer.

Weak: "I never had performance issues" or no awareness of diagnostic tools.
⚙️

Back-End Questions

JAVA · SPRING BOOT · REST · SECURITY
Spring Boot Core
"Explain what Spring Boot does that plain Java doesn't — why use it?"
Strong: Explains auto-configuration (Spring Boot sets up boilerplate automatically), embedded server (Tomcat is built in — no separate install), and starter packages (pre-bundled dependencies). "It saves hours of setup on every project."

Average: "It makes Java development faster" — correct but surface-level.

Weak: Can't explain the difference between Spring and Spring Boot.
API Design
"If you're building a REST API for a user management system, what endpoints would you create?"
Strong: Immediately thinks in CRUD terms — GET /users (list all), GET /users/{id} (get one), POST /users (create), PUT /users/{id} (update), DELETE /users/{id} (delete). May mention versioning (/api/v1/) and error response codes (200, 201, 404, 500).

Average: Gets the main CRUD endpoints but misses HTTP status codes.

Weak: Designs awkward URLs or doesn't know standard HTTP verbs.
Security
"How do you secure a Spring Boot API so only logged-in users can access it?"
Strong: Describes Spring Security with JWT (JSON Web Tokens) — user logs in, receives a token (like a digital ID badge), and sends it with every subsequent request. May mention OAuth2 or role-based access control.

Average: Knows Spring Security exists and has used it but can't explain the mechanism clearly.

Weak: "We didn't really have authentication" or no awareness of Spring Security.
Exception Handling
"What happens when something goes wrong in your API — how do you handle errors gracefully?"
Strong: Describes a global exception handler (@ControllerAdvice in Spring) that catches errors and returns consistent, user-friendly JSON error responses with the correct HTTP status code instead of exposing raw Java stack traces.

Average: Uses try/catch blocks per endpoint but no global strategy.

Weak: "Errors just return 500" — no structured error handling.
Performance
"Has a Java API you built ever been slow under load? What did you do?"
Strong: Describes profiling the bottleneck (slow SQL query? missing index? N+1 query problem?), adding caching with Redis, pagination for large datasets, or async processing. Shows systematic diagnosis.

Average: Aware of performance concerns but gives generic answers ("I optimized my queries").

Weak: "I never had performance issues" — unrealistic for any production system.
Async Processing
"Have you ever needed to run a task in the background without making the user wait?"
Strong: Describes asynchronous processing — @Async in Spring, message queues (Kafka/RabbitMQ), or scheduled jobs (@Scheduled). Gives a real example: "Sending confirmation emails after a purchase — we queue it so the user doesn't wait."

Average: Aware of async concepts but limited hands-on experience.

Weak: No awareness of async patterns — everything is synchronous.
🗄️

Database Questions

SQL · JPA · NoSQL · SCHEMA DESIGN
SQL vs NoSQL
"When would you choose a SQL database vs. a NoSQL database like MongoDB?"
Strong: SQL for structured, relational data where consistency matters (banking, e-commerce orders, user accounts). MongoDB for flexible, document-style data or when schema changes frequently (user preferences, logs, product catalogs with varying attributes).

Average: Knows both exist but gives a vague preference without real criteria.

Weak: Only knows one type and can't discuss tradeoffs.
ORM vs Raw SQL
"Do you prefer JPA/Hibernate or writing raw SQL? When does each make sense?"
Strong: JPA is great for standard CRUD and reduces boilerplate. Raw SQL wins for complex reports, bulk operations, or performance tuning. Knows that JPA can generate inefficient queries (N+1 problem) if misused.

Average: Defaults to JPA without understanding when it breaks down.

Weak: Has only ever used one approach and doesn't know the N+1 problem exists.
Schema Design
"How would you design a database for an e-commerce site with customers, orders, and products?"
Strong: Describes separate tables for each entity, joined by foreign keys (an order belongs to one customer, an order contains many products via an order_items table). Mentions normalization — avoiding duplicate data.

Average: Gets the main tables right but may not handle the many-to-many (orders↔products) relationship correctly.

Weak: Puts everything in one table or can't describe relationships between tables.
Query Optimization
"A database query that was fast is now slow after the table grew to 5 million rows. What would you do?"
Strong: First step: run EXPLAIN to see the query execution plan. Check for a missing index on the column being searched (an index is like a book's table of contents — speeds up lookups dramatically). Consider caching repeated queries in Redis.

Average: Knows indexes help but unsure how to diagnose.

Weak: No awareness of indexes or query analysis tools.
Migrations
"When you need to change a database table in production (add a column, rename something), how do you do that safely?"
Strong: Uses a database migration tool — Flyway or Liquibase — which tracks and applies schema changes in version-controlled, reversible steps, just like Git for code. Never modifies production databases manually.

Average: Aware of migration tools but applies changes manually in some environments.

Weak: "I just run ALTER TABLE directly." Manual production changes are a serious risk.
Transactions
"If your app transfers money between two accounts, what makes sure both the debit AND credit succeed or neither does?"
Strong: Describes database transactions (@Transactional in Spring) — a transaction is an "all or nothing" operation. If step 2 fails, step 1 is automatically rolled back. The account can never be debited without also being credited.

Average: Knows @Transactional exists and uses it but can't explain the underlying guarantee.

Weak: No awareness of transactions — a serious gap for any financial or e-commerce system.
🚀

DevOps & Deployment Questions

GIT · DOCKER · CI/CD · CLOUD
Git Workflow
"Describe how your team uses Git. How do multiple developers work on the same codebase without overwriting each other?"
Strong: Describes feature branching (each dev works on their own branch), pull requests with code review before merging, and a main/release branch that's always deployable. Mentions resolving merge conflicts.

Average: Uses branches but limited knowledge of team workflows or code review processes.

Weak: "We all push directly to main." A major red flag for any team environment.
Docker
"What is a Docker container, and why would you containerize a Spring Boot application?"
Strong: A container packages the app and all its dependencies so it runs identically on any machine — dev laptop, test server, or cloud. Eliminates "works on my machine" problems. Mentions Dockerfile and docker-compose for running multi-service apps locally.

Average: Uses Docker but can't clearly explain why beyond "it's what we do."

Weak: No Docker experience — increasingly a gap for mid/senior roles in 2025.
CI/CD
"Walk me through what happens automatically when you merge code into the main branch."
Strong: Describes a CI/CD pipeline: merge triggers automated tests → if tests pass, build a Docker image → push to image registry → deploy to staging → (sometimes) auto-deploy to production. Tools: GitHub Actions, Jenkins, GitLab CI.

Average: Has a pipeline but only handles testing, not full deployment automation.

Weak: "We deploy manually on Fridays." No automation — a significant process maturity gap.
Cloud Basics
"Which AWS (or Azure/GCP) services have you used, and for what purpose?"
Strong: Names specific services with real use cases — EC2 (virtual server for the app), RDS (managed database), S3 (file/image storage), SQS (message queue), Lambda (serverless functions for small tasks). May have certifications.

Average: Has deployed to EC2 or uses S3 but limited broader cloud knowledge.

Weak: "I've heard of AWS" — zero hands-on experience. Acceptable for juniors, a gap for mid/senior.
Monitoring
"How do you know if your application is having problems in production right now?"
Strong: Describes monitoring tools — application logs (Splunk, ELK Stack, CloudWatch), health-check dashboards, alerting on error rate spikes or high response times. "I'd get a PagerDuty alert if error rate exceeds 1%."

Average: Uses logs but reactive (checks when a user complains).

Weak: "Users tell us." No proactive monitoring — a major gap for production systems.
Environments
"How do you manage different configurations for development, testing, and production environments?"
Strong: Spring Boot Profiles (@Profile, application-dev.yml, application-prod.yml) or environment variables injected at runtime. Production secrets stored in a secrets manager (AWS Secrets Manager, Vault) — never hardcoded in code.

Average: Uses Spring Profiles but may hardcode non-sensitive config.

Weak: Hardcodes database passwords or API keys in code/config files — a serious security vulnerability.
🏛️

Architecture & System Design Questions

MID–SENIOR · DESIGN PATTERNS · SCALABILITY
Monolith vs Microservices
"When would you build a monolith vs. microservices? What are the tradeoffs?"
Strong: Monolith for small teams, early-stage products, or simple domains — simpler to develop, test, and deploy. Microservices for large teams, complex domains needing independent scaling, or when different parts need different technology. Notes microservices introduce network complexity, distributed tracing, and deployment overhead.

Average: "Microservices are better" — oversimplified. Shows trend-following over judgment.

Weak: No awareness of when monoliths are appropriate.
Design Patterns
"Can you give me an example of a design pattern you've used in Java and why you chose it?"
Strong: Names a specific pattern with a real scenario — "I used the Factory pattern when we needed to create different payment processors depending on the payment type. It kept the business logic clean and made adding new payment methods easy."

Average: Can name patterns (Singleton, Observer) but struggles to connect them to real decisions.

Weak: "I've heard of design patterns." Acceptable for junior; a gap at senior level.
Scalability
"Your app gets 10× more users overnight. How does your architecture handle that?"
Strong: Describes horizontal scaling (add more server instances behind a load balancer), stateless back-end design (no sticky sessions), database read replicas, caching hot data in Redis, and CDN for static assets. Mentions auto-scaling groups in AWS.

Average: "We'd scale up the server" — vertical scaling only, which has a ceiling.

Weak: No answer or "the cloud handles that." Shows no scalability thinking.
API Versioning
"How do you change an API endpoint without breaking existing users who depend on the old version?"
Strong: API versioning — keep the old /api/v1/endpoint running and introduce /api/v2/endpoint with the changes. Deprecate v1 with advance notice. May mention backward-compatible changes (adding optional fields is safe; removing required fields is breaking).

Average: Aware of versioning but unclear on the strategy.

Weak: "I'd just update it" — breaking backward compatibility is a professional red flag.
SOLID Principles
"What does the 'S' in SOLID stand for, and can you give a real example of applying it?"
Strong: Single Responsibility Principle — each class should do one thing. "I refactored a UserService that was doing authentication, email sending, and profile updates into three separate services. Each one had one reason to change."

Average: Can define it but struggles to give a concrete example.

Weak: Doesn't know SOLID — concerning for senior candidates claiming strong Java/OOP skills.
Failure Handling
"In a microservices system, what happens if one service goes down — does your whole application crash?"
Strong: Describes resilience patterns — Circuit Breaker (using Resilience4j or Spring Cloud Circuit Breaker) that "trips" when a downstream service fails and returns a fallback response instead of cascading failure. Also mentions timeouts, retries with backoff, and health checks.

Average: "We'd get an error" — aware of the risk but no mitigation strategy.

Weak: "Yes, the whole thing crashes" with no awareness this is solvable. A major gap for distributed system roles.

🚩 Universal Red Flags — Across All Domains

Buzzword inflation Lists 20+ technologies at "expert" level. True full-stack Java specialists go deep on Spring Boot + one front-end + SQL, not wide on everything.
No versioning awareness Can't state which version of Java, Spring Boot, or their front-end framework they use. Current developers always know their tools' versions.
Zero testing experience "We don't write tests" or "QA handles testing." Unacceptable for any senior or mid-level role on a professional team.
Hardcoded secrets Stores database passwords or API keys directly in code. A basic security failure that shows a lack of professional environment experience.
Claims microservices but can't explain them Microservices is a complex pattern. If they can't describe service boundaries, failure handling, and inter-service communication, they've only observed it.
Solo developer only All experience is on personal projects with no team collaboration. No pull requests, no code reviews, no Git branching strategy — gaps emerge quickly in team settings.