← Internshala Interview Insights

Internshala·Software Engineer·Onsite - Multi Round·Junior

JuniorRejected
Jun 2026Gurugram

Summary

Four rounds deep into an SDE intern process at Internshala, including an in-office VP session, only to get a generic 'skills mismatch' rejection that pretty clearly had nothing to do with skills. The whole thing fell apart in the HR round over exam leave logistics, and the automated rejection email afterwards felt like a slap after all that effort.

Questions Asked (5)

Q1

Walk me through your resume projects and explain the web technologies you used.

Technical Trade-offsAPI & Integrations
Author's notes

First round, first ever formal interview.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Select 2-3 projects that best demonstrate your full-stack skills and relevance to the role, and for each, briefly state the problem, your solution, and the web technologies used. Focus on explaining why you chose those technologies and the trade-offs involved, rather than just listing them.

Pro tip: Tie every technology choice back to a concrete benefit or constraint (e.g., 'We used Node.js because it allowed us to share code between client and server, reducing development time'). This shows you think in terms of trade-offs, not just tools.

1. Set the context

Start with a brief overview of your resume projects, highlighting the ones most relevant to the role and the technologies you'll discuss.

2. Describe the project and problem

For each selected project, explain what it does, the problem it solves, and your specific role and contributions.

3. Detail the web technologies used

List the key web technologies (frontend, backend, database, APIs) and briefly explain how they were used in the project.

4. Explain trade-offs and decisions

Discuss why you chose those technologies over alternatives, including any trade-offs in performance, scalability, or development speed.

5. Summarize impact and learnings

Conclude with the project's outcome, what you learned, and how it prepares you for the challenges of this role.

Key Points to Mention

  • Specific web technologies (e.g., React, Node.js, Express, MongoDB, REST APIs)
  • Reasons for choosing each technology (e.g., performance, developer productivity, ecosystem)
  • Trade-offs made (e.g., SQL vs NoSQL, monolithic vs microservices)
  • Integration with third-party APIs or services
  • Challenges faced and how you overcame them
  • Measurable impact or results (e.g., reduced load time, increased user engagement)

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q2

Build a basic Todo app live and explain how event handling works in your implementation.

Algorithms & Data StructuresTechnical Trade-offs
Author's notes

Live coding is a different beast from grinding problems solo.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying requirements and choosing a simple tech stack (e.g., vanilla JS or React). Build the app incrementally, explaining each step and how event handling is wired up. Emphasize the event flow: from user action to event listener to state update to UI re-render.

Pro tip: While coding, narrate your thought process and trade-offs (e.g., event delegation vs. direct binding) to showcase your problem-solving and communication skills. Also, mention how you would test event handling to ensure reliability.

1. Clarify Requirements and Choose Stack

Ask clarifying questions about features (add, delete, mark complete) and constraints. Choose a simple stack (e.g., HTML/CSS/JS or React) and explain your choice.

2. Set Up Basic Structure

Create the HTML skeleton with an input field, add button, and a list container. Briefly explain the purpose of each element.

3. Implement Event Handling

Attach event listeners to the add button (click) and list items (click for delete/toggle). Explain the event object, event type, and how you update the DOM or state.

4. Explain Event Flow and Delegation

Describe how events propagate (bubbling) and why you might use event delegation for dynamic elements. Mention performance and maintainability benefits.

5. Test and Summarize

Walk through a quick test (e.g., add a todo, mark it complete, delete it). Summarize how event handling drives the app's interactivity.

Key Points to Mention

  • Event listeners: addEventListener vs. inline handlers, and when to use each.
  • Event object: properties like target, type, and preventDefault.
  • Event delegation: attaching a single listener to a parent to handle events from multiple children.
  • State management: how events trigger state changes and UI updates (e.g., re-rendering the list).
  • Trade-offs: direct binding vs. delegation, performance considerations, and code readability.
  • Accessibility: ensuring keyboard events (e.g., Enter key) work for adding todos.

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q3

Convert existing components into React-based logic during a live session.

Technical Trade-offsAPI & Integrations
Author's notes

This was back-to-back with the Todo app portion.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the scope and constraints of the conversion, then walk through a structured plan: identify the component's current behavior, design the React component tree with state and props, and implement incrementally while explaining trade-offs. Emphasize maintainability, performance, and testing throughout the live session.

Pro tip: Narrate your thought process and explicitly call out trade-offs (e.g., controlled vs uncontrolled components, local vs lifted state) to show senior-level decision-making. Also, keep the conversion incremental and testable, so you can validate each step before moving on.

1. Clarify Requirements and Constraints

Ask questions to understand the existing component's functionality, the target React version, state management expectations, and any integration points. Confirm whether the conversion should be a direct port or an opportunity to improve.

2. Analyze the Existing Component

Break down the component into its UI structure, internal state, lifecycle behaviors, and external dependencies. Identify which parts map naturally to React concepts like props, state, and effects.

3. Design the React Component Tree

Sketch the component hierarchy, deciding on functional vs class components, where state should live, and how data flows via props and callbacks. Consider using hooks for state and side effects.

4. Implement Incrementally with Testing

Convert the component piece by piece, starting with static markup, then adding state and event handlers, and finally integrating with APIs or external logic. Write or run tests after each step to ensure correctness.

5. Review and Optimize

Refactor for readability and performance (e.g., memoization, avoiding unnecessary re-renders). Discuss trade-offs made and how you would handle edge cases or future extensions.

Key Points to Mention

  • Component decomposition and separation of concerns
  • State management: local vs lifted state, useState/useReducer
  • Lifecycle methods vs useEffect for side effects
  • Performance optimization: React.memo, useCallback, useMemo
  • Testing strategy: unit tests for components and integration tests
  • Trade-offs between controlled and uncontrolled components

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q4

Design the complete architecture for a real-time chat application, explained on a whiteboard or notepad.

System DesignTechnical Trade-offsData Modeling
Author's notes

This is where it got interesting.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying requirements and scale (e.g., number of users, message volume, latency needs). Then sketch a high-level architecture with core components (clients, servers, databases, caches) and dive into key design decisions like real-time protocol, data storage, and scaling. Finally, discuss trade-offs and potential bottlenecks.

Pro tip: Always tie your design choices back to the specific requirements and constraints you gathered; this shows you can tailor solutions rather than reciting generic architectures.

1. Clarify Requirements and Scope

Ask questions to understand functional (1:1, group chat, presence, history) and non-functional (scale, latency, consistency) requirements. Define assumptions if needed.

2. High-Level Architecture

Draw the main components: clients (web/mobile), load balancers, chat servers, message queues, databases, caches, and notification services. Explain data flow for sending and receiving messages.

3. Deep Dive into Key Components

Elaborate on real-time communication (WebSockets vs. long polling), message storage (SQL vs. NoSQL, schema), and scaling strategies (horizontal scaling, sharding, replication).

4. Address Trade-offs and Bottlenecks

Discuss trade-offs like consistency vs. availability, latency vs. cost, and identify potential bottlenecks (e.g., database writes, fan-out). Propose solutions.

5. Summarize and Wrap Up

Recap the design, highlighting how it meets the requirements. Mention any future improvements or monitoring considerations.

Key Points to Mention

  • Use WebSockets for real-time bidirectional communication; fallback to long polling if needed.
  • Choose a database: e.g., Cassandra for high write throughput, or PostgreSQL with sharding for structured data.
  • Implement message queues (e.g., Kafka, RabbitMQ) for asynchronous processing and decoupling.
  • Consider caching (Redis) for recent messages and user sessions to reduce database load.
  • Design for scalability: horizontal scaling of chat servers, sharding by user or conversation ID, and using CDNs for media.
  • Ensure security: authentication (JWT), encryption (TLS), and rate limiting to prevent abuse.

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q5

Solve complex algorithmic puzzles and DSA problems in a 1.5-hour session with the VP of Engineering.

Algorithms & Data Structures
Author's notes

A brutal 90 minutes.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Treat the session as a collaborative problem-solving exercise: clarify the problem, discuss brute force, then optimize with appropriate data structures. Communicate your thought process continuously, write clean code, and test with edge cases. If stuck, ask for hints and iterate.

Pro tip: Verbalize your reasoning even when unsure—interviewers value how you think and respond to feedback more than instant correct answers. Also, manage time: spend ~5-10 minutes on approach, ~20-30 minutes coding, and the rest on testing and follow-ups.

1. Understand and Clarify

Restate the problem in your own words, ask clarifying questions about input constraints, expected output, and edge cases. Confirm assumptions before proceeding.

2. Explore Approaches

Discuss a brute-force solution first, then analyze time/space complexity. Propose optimizations using appropriate data structures or algorithms, and compare trade-offs.

3. Plan and Code

Outline your chosen approach step-by-step, then write clean, modular code. Use meaningful variable names and handle edge cases as you go.

4. Test and Debug

Walk through your code with sample inputs, including edge cases. If bugs arise, debug systematically and explain your fixes.

5. Reflect and Optimize

Summarize the solution's complexity, discuss potential improvements or alternative approaches, and ask for feedback if time permits.

Key Points to Mention

  • Time and space complexity analysis for each approach
  • Trade-offs between different data structures (e.g., hash maps vs. arrays)
  • Edge cases such as empty inputs, large inputs, duplicates, and negative numbers
  • Code readability and modularity
  • Testing strategy including unit tests and manual walkthroughs
  • Ability to adapt based on interviewer hints and feedback

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.