SarthiQ

SarthiQ

Interview Preparation Guide

Backend Developer
Questions & Answers

A comprehensive, expert-curated list of real interview questions to help you prepare effectively and land your dream job.

Document Details

Topic / Subject
Backend Developer
Content Length
216 Curated Q&A
Generated On
October 4, 2026
Provided By
SarthiQ.com
Want to explore more questions & mock interviews? Click on 👉www.sarthiq.com
© 2026 SarthiQ Platform. All rights reserved.
www.sarthiq.com
Resume Upload Get Job in 90 Days Resume Builder AI Interview Coach Interview Questions Placement Committee Self Assessment Get Internship

Need Help?

[email protected]

Top Backend Developer Interview Questions

NETFLIX
ORACLE
Adobe
NVIDIA
meta
IBM
wipro
TCS
cisco
intel
SAP
Uber

Backend Developer Interview Questions

Practice with real Backend Developer interview questions

01
A Backend Developer was asked
SarthiQ Backend Developer
Medium
Asked in 2024
Q. Explain how microservices architecture can be designed to handle authentication and authorization effectively.
Ans. In a microservices architecture, handling authentication and authorization involves several strategies to ensure security and efficiency. Commonly, a token-based approach using OAuth 2.0 and OpenID Connect is employed. 1. Authentication Gateway: - Use an API Gateway to handle all incoming requests. The gateway will authenticate requests using tokens (e.g., JWT tokens) and delegate them to respective microservices. 2. Token-Based Authentication: - Implement OAuth 2.0 for issuing access tokens. An Identity Provider (IdP) will authenticate the user and issue tokens, which include user claims and expiration details. 3. Service-to-Service Authentication: - Use mutual TLS or token-based authentication for secure communication between microservices. Each request between services should include a token that verifies the identity of the calling service. 4. Role-Based Access Control (RBAC): - Implement RBAC within microservices to manage authorization. Each service checks the token for roles and permissions before processing a request. 5. Centralized User Service: - Maintain a user service responsible for user management and authentication. This service integrates with the IdP to manage user states and permissions. Example Code: JWT Verification in Node.js:
javascript
const jwt = require('jsonwebtoken');

function verifyToken(req, res, next) {
    const token = req.headers['authorization'];
    if (!token) return res.status(403).send('Token missing.');

    jwt.verify(token, process.env.JWT_SECRET, (err, decoded) => {
        if (err) return res.status(500).send('Failed to authenticate token.');
        req.userId = decoded.id;
        next();
    });
}
This function checks for a JWT token in the request headers, verifies it using a secret key, and then allows or denies access based on the token's validity.
Backend DeveloperCore Concept
02
A Backend Developer was asked
SarthiQ Backend Developer
Medium
Asked in 2025
Q. Explain how you would design a microservices architecture for an e-commerce platform. What key components would you include and how would they communicate?
Ans. In designing a microservices architecture for an e-commerce platform, the following components are essential: 1. User Service: Manages user registration, authentication, and profile details. 2. Product Service: Manages product listings, inventory, and details. 3. Order Service: Handles order placement, tracking, and order history. 4. Payment Service: Manages payment processing and transaction history. 5. Notification Service: Sends notifications (emails, SMS) to users for order confirmation, shipping updates, etc. Communication: Microservices can communicate through REST APIs or messaging queues (e.g., RabbitMQ, Kafka) for asynchronous processing. Each service can be independently deployed, scaled, and updated. Here’s a basic API endpoint example for the Order Service:
python
from flask import Flask, jsonify, request

app = Flask(__name__)

orders = []

@app.route('/orders', methods=['POST'])
**def create_order():**
    order = request.json
    orders.append(order)
    return jsonify(order), 201

@app.route('/orders', methods=['GET'])
**def get_orders():**
    return jsonify(orders)

**if __name__ == '__main__':**
    app.run(debug=True)
Backend DeveloperCore Concept
03
Backend Developer
SarthiQ Backend Developer
Hard

Question:

How would you design a scalable system for XYZ...

04
Backend Developer
SarthiQ Backend Developer
Hard

Question:

How would you design a scalable system for XYZ...