Few job titles stretch as far as "full stack developer". At one company it means a React developer who sometimes edits an API; at another, the person who designs the tables, writes the services, builds the screens, runs the pipeline and gets the alert when checkout breaks. Work out which version a posting describes before you prepare, because the two jobs run very different interviews.
What the job looks like in an ordinary week
Take a realistic ticket: customers want to download GST invoices from their order history. At a mid-sized product company, one full stack developer would carry all of it:
- a migration for invoice numbers that can never repeat, even when two orders complete at the same moment;
- a background job that builds the PDF, because doing it inside the request can time out on large orders;
- an endpoint that returns a download link or a "still generating" status;
- the button, with loading, failure and empty states (old orders have no invoice);
- a feature-flagged release, a day of watching the error tracker, and a fix for dates printed in UTC instead of IST.
Nobody waits for a hand-off, and that is the case for the role: the API is shaped by someone who knows what the screen needs, and when the page is slow, one person can tell whether the browser, the query or the network is to blame. A frontend developer goes deeper into rendering performance, accessibility and design systems; a backend developer into data modelling at scale, queues and how distributed systems fail. Strong full stack developers are usually one-and-a-half stack developers: properly deep on one side, dependable on the other, and fluent in the plumbing between them, such as HTTP, authentication, caching and deployment.
The stacks Indian postings name, and the skills underneath
Indian postings often put a prefix on the title, and the prefix predicts most of the technical rounds:
- MERN or MEAN (MongoDB, Express, React or Angular, Node.js): common at startups and agencies. Expect JavaScript depth (closures, the event loop, promises) and a question on when a document database is the wrong choice.
- Next.js with Node.js, usually in TypeScript: server rendering, route handlers and server actions absorb work a separate API used to do, so expect questions on what runs where, caching and hydration errors.
- Java full stack (Spring Boot with React or Angular): common at services companies and at GCCs in banking and insurance. Core Java, Spring Boot, JPA and SQL usually get the hardest questions.
- Python full stack (Django or FastAPI with React) and .NET full stack (ASP.NET Core with Angular or React) are tested the same way: the framework in depth, ORM pitfalls such as N+1 queries, and a working frontend.
| Layer | Expected of everyone | What gets you remembered |
|---|---|---|
| Browser | Semantic HTML, flexbox and grid, component state, forms, loading and error states | Accessibility, rendering performance, a design system you maintained |
| API | REST conventions, validation, authentication, pagination, consistent errors | Idempotency keys, rate limiting, versioning, GraphQL where the posting names it |
| Data | SQL joins, indexes, transactions, one ORM, migrations | Reading query plans, zero-downtime migrations, caching with a clear invalidation rule |
| Delivery | Git, Docker, CI on pull requests, one cloud's basics, reading logs | Feature flags, preview environments, error tracking and tracing |
The middle column is enough to finish a ticket alone. The last column is what makes a panel comfortable handing you work that touches payments, personal data or a live migration. To choose a second framework, check the live numbers above, which show the share of current full stack postings in India that mention each skill.
What "full stack" means at different employers and levels
| Employer | What the title usually means | What to show |
|---|---|---|
| Early-stage startup | Every layer of a feature, plus the cloud account, the pipeline and informal on-call | Shipped work and judgement about what to leave out |
| Product company | One product area across layers; platform and design-system teams own the shared pieces | Depth on one side, clean API contracts, tests |
| GCC | Product-style work inside a global organisation with formal review, security and release gates | Enterprise stacks, clear writing, work across time zones |
| IT services company | The stack a client project names; you may sit mostly on one layer for months | An exact match to the requirement, client communication |
Seniority then sets the scope:
- 0–2 years (SDE I, Associate Software Engineer): well-scoped tickets across layers, with review. Panels want clean code in one language, SQL written without an ORM, and one complete project you can explain line by line.
- 3–5 years (SDE II, Senior Software Engineer): you own features end to end, including the migration plan, the rollout and what you watch afterwards, and you defend your API and schema choices.
- 6+ years (SDE III, Lead, Staff, or Technical Lead and Architect at services firms): you shape how a product area is built, from service boundaries to frontend architecture and release practice. Titles here often drop "full stack"; the range shows in your decisions.
How the hiring rounds usually run
- Screening: a recruiter call on stack, notice period and location, sometimes followed by an online coding or JavaScript and SQL test.
- Machine coding, typically 60 to 120 minutes: a working component or small app in your framework, often against a mock API. Interviewers watch component and state structure, the edge cases you handle unprompted, and whether it runs at the end.
- API and database design: endpoints, payloads, tables and indexes for one feature. They check that your API serves the screen you would build.
- Small system design, generally for candidates with three or more years: notifications, bookings or file uploads, covering client, API, storage, background jobs and deployment.
- Hiring manager: a feature you owned end to end and a production bug you caused, with what you changed afterwards.
Some product companies add a data structures round; others swap machine coding for a take-home (see how to scope, build and present a take-home assignment).
Interview questions that cross the stack
Each of these probes the seam between two layers, which is where full stack candidates get tested. Practise them aloud, with code where it applies.
- Build a search-as-you-type box against a slow API. Debounce input, stop an older response from overwriting a newer one (an AbortController or a request counter), and handle loading, empty and error states.
- Build nested comments with an optimistic "like" that rolls back cleanly when the request fails.
- Design the API for an orders page with filters, sorting and infinite scroll. Why cursor pagination rather than offset, and what must each item carry so the client never calls again per row?
- Design tables for clinic appointments so two patients can never take the same doctor's slot, even when both click at once. A unique constraint covers fixed slots; variable slots need a locking transaction or a PostgreSQL exclusion constraint.
- Where should a web app keep its session token? Compare an httpOnly cookie with localStorage for XSS and CSRF risk, and explain where SameSite fits.
- The React app calls an API on another subdomain and the console shows a CORS error. Why did the browser block it, when does a preflight happen, and what must the server send?
- Rename a column that a live API reads, with no downtime. The expected shape is expand and contract: add, dual-write, backfill, switch reads, drop later.
- A dashboard takes eight seconds to load. Find out whether the time goes in the browser, network, API or database, using the network waterfall, server timings, the slow query log and
EXPLAIN ANALYZE. - Design uploads of files up to 500 MB: pre-signed URLs to object storage, multipart upload with progress, a status column and background virus scanning.
Resume: features you carried, not frameworks you touched
Reviewers look first for proof that you shipped something across layers and that it held up in production. A strong bullet names the layers, uses the posting's words for the tools, and ends with a result. Numbers in these examples are illustrative.
- Example: Built supplier onboarding end to end (React multi-step form, Node.js and Express APIs, PostgreSQL schema, S3 document uploads) behind a feature flag; median onboarding time fell from four days to one.
- Example: Moved a Next.js storefront's category pages from client-side to server rendering with cached data fetching, cutting Largest Contentful Paint on mid-range Android phones from 4.2 s to 2.1 s.
- Example: Added GitHub Actions checks, preview deployments for every pull request and gated database migrations; releases went from fortnightly to several a week without a rollback that quarter.
Three mistakes come up again and again:
- A skills line with seven frameworks across three languages. It reads like a course syllabus; list the stack you would happily be grilled on.
- Bullets that hide which layer you owned. "Worked on the payments module" could mean a button or the ledger.
- Tutorial clones of a streaming or shopping site with no authentication edge cases, tests or deployment. A smaller project with real constraints reads better.
Getting there from frontend, backend, or campus
- From frontend: learn one backend framework in a language you already write (Express or NestJS for JavaScript developers), then SQL properly before leaning on an ORM. Deploy something with Docker and read its logs when it breaks.
- From backend: learn React past the tutorials: state ownership, effects and their cleanup, forms, CSS layout and keyboard access.
- As a fresher: pick the stack that postings in your target city name most and finish one complete project rather than three half-built ones.
Not sure which side to go deep on? Ask what you would rather debug late at night: a race condition in a payment ledger, or a layout that breaks on a 360-pixel-wide phone. Go deep there, and hold the other side at the "expected of everyone" column of the skills table.
Projects that invite follow-up questions:
- A shared-expenses app for a flat or a trip: authentication, groups, settle-up maths, a weekly summary email from a background job, CSV export, CI and a seeded demo login.
- A clinic booking system with double-booking prevention, IST and UTC handled correctly, mocked reminders, an admin view and an audit log.
- A status page with scheduled uptime checks, an incident timeline and a public page that loads quickly on a slow phone, covering background jobs, data retention and frontend performance in one codebase.
The role also opens sideways moves: a generalist software engineer role at a product company, the frontend or backend specialism you enjoyed more, or DevOps if the pipeline work turned out to be the best part.
Five things to do before you apply
- Read ten current postings across the Bengaluru, Pune, Hyderabad, India-wide and remote full stack pages, and note each one's prefix and which layer it leans towards.
- Mark which requirements in each posting are deal-breakers (How to Read a Software Job Description helps), and drop postings built on a stack you would not want to be interviewed on.
- Rewrite your three strongest bullets so each names the layers you touched and a result.
- Prepare one end-to-end story: requirement, schema, API, UI, release, and what broke afterwards.
- Put your best project on GitHub with an architecture note and a demo login (see what to put on GitHub and in a portfolio), then time yourself building the search box from the question list in 90 minutes.