Indra · Software Engineer
Updated · 2026-10-02

Indra Software Engineer
Interview Guide

THE 60-SECOND BRIEF

As a Software Engineer at Indra, you are at the intersection of complex systems engineering and large-scale digital transformation. You will be responsible for developing, maintaining, and scaling solutions that power critical infrastructure, ranging from Air Traffic Management (ATM) and defense systems to advanced transportation and energy grids. Your work directly impacts the reliability and efficiency of services that millions of people rely on daily. This role requires a blend of rigorous technical problem-solving and the ability to operate within highly structured environments. You will often collaborate with cross-functional teams, including domain experts, project managers, and sometimes external clients.

This guide is scoped to a Software Engineer candidate at Indra.

Indra candidates report 4 rounds over 3-5 weeks. The stages below are what candidates describe, not a published process.

JavaLive CodingCore Java Interview Questions

21 min read

Browse Software Engineer questions

See the practice prompts

16Practice promptsAcross five skill areas

As a Software Engineer at Indra, you are at the intersection of complex systems engineering and large-scale digital transformation. You will be responsible for developing, maintaining, and scaling solutions that power critical infrastructure, ranging from Air Traffic Management (ATM) and defense systems to advanced transportation and energy grids. Your work directly impacts the reliability and efficiency of services that millions of people rely on daily. This role requires a blend of rigorous technical problem-solving and the ability to operate within highly structured environments. You will often collaborate with cross-functional teams, including domain experts, project managers, and sometimes external clients. Because Indra operates in high-stakes sectors, your contributions are not just about writing code; they are about building resilient, secure, and performant software that meets stringent industry requirements. ##### Tip While technical proficiency is essential, Indra places a high value on your ability to learn new technologies—such as specialized legacy systems or proprietary industry tools—and your willingness to adapt to project-specific requirements.

01

Screening Call

reported

Initial call to align on your background and the role’s expectations.

What to demonstrate

  • Initial call to align on your background and the role’s expectations
  • Depth in Java

How to prepare

  • Be able to walk your CV end to end in two minutes, and say why this company specifically.
  • Have your salary expectations, notice period and location constraints ready, and ask for the rest of the loop in writing.
Indra Software Engineer candidate reports ↗
02

Technical Assessment

reported

Evaluation of technical skills, which may include a coding test.

What to demonstrate

  • Evaluation of technical skills, which may include a coding test
  • Depth in Java

How to prepare

  • Answer aloud and timed: How would you approach a situation where you need to transition to a legacy language like ADA for a project?
  • Answer aloud and timed: Can you describe your experience with Azure or other cloud infrastructure components?
Indra Software Engineer candidate reports ↗
03

Team Interviews

reported

Interviews with the team you would be joining to assess competency and fit.

What to demonstrate

  • Interviews with the team you would be joining to assess competency and fit
  • Depth in Java

How to prepare

  • Answer aloud and timed: What is your experience with RF systems or simulation software like HFSS or CST?
  • Answer aloud and timed: Describe a time you faced a significant technical challenge; how did you structure your solution?
Indra Software Engineer candidate reports ↗
04

Potential Evaluations

reported

May include a technical test or psychometric evaluation for logical reasoning.

What to demonstrate

  • May include a technical test or psychometric evaluation for logical reasoning
  • Depth in Java

How to prepare

  • Answer aloud and timed: How do you communicate technical constraints to non-technical stakeholders or clients?
  • Answer aloud and timed: Tell us about a project where you had to work with a large codebase; how did you manage the complexity?
Indra Software Engineer candidate reports ↗

PracHub editorial advice for the preparation topics above.

01

Review your CV in detail

Be ready to explain every project you have listed. You will likely be asked to dive deep into the specific architecture and challenges you faced.

02

Understand the "Why

Don't just explain how you used a technology; explain why it was the right choice for that specific project.

03

Be prepared for behavioral questions

Use the STAR method (Situation, Task, Action, Result) to structure your answers to behavioral prompts.

04

Ask informed questions

Use the end of the interview to ask about the team’s daily challenges, the project’s architecture, or the company’s professional development plans.

Choose a category, try a prompt, then open its approach, worked solution or follow-up when you need it.

8 technical prompts0 include a worked solution

Tell us about a project where you had to work with a large codebase; how did you manage the complexity?

medium
Behavioral & Problem-Solving

Tell us about a project where you had to work with a large codebase; how did you manage the complexity?

Approach
  1. Restate the input: its shape, its size, and what is guaranteed about it.
  2. Name the brute-force solution and its complexity before improving on it.
  3. Choose the data structure from the access pattern, not from familiarity.
  4. State the target complexity and say which constraint rules the naive version out.
Follow-up
  • How does this change if the input no longer fits in memory?
  • What is the worst case, and how likely is it on real data?

Find overlapping job attempts and peak concurrency from lease records

medium
sweep lineintervalsleases

A day of job_run history yields about 50,000,000 attempt records: (job_run_id, job_type, attempt, started_at, finished_at which is NULL when the worker died, lease_expires_at). Leases expire on a clock, so a job that outran its lease ran twice. Produce (a) every job_run_id whose attempts overlapped in wall-clock time and (b) the peak number of simultaneously running attempts per job_type with the minute it occurred. Target O(n log n). State how you treat a NULL finished_at and what clock skew does to your answer.

Approach
  1. Define the interval before sorting anything: an attempt occupies [started_at, COALESCE(finished_at, lease_expires_at)). finished_at is observed and lease_expires_at is only a promise, so every attempt without a finish contributes an estimate and the whole result is a lower bound on overlap rather than an exact count.
  2. For peak concurrency, sweep: emit 2n endpoints, sort by (timestamp, kind) with ends ordered before starts at equal timestamps, then walk the sequence maintaining a counter per job_type and record each type's maximum with its timestamp. O(n log n) dominated by the sort, O(n) space, or O(1) extra if the sort is external and the walk streams.
  3. For overlap detection, do not compare attempts pairwise. A single global sort by (job_run_id, started_at) gives both the grouping and the order; within a group, keep the maximum end seen so far and report an overlap exactly when the next start is less than that running maximum, which is one linear pass after the sort.
  4. Half-open intervals matter and are easy to get wrong: with closed intervals an attempt ending at the same millisecond another begins reads as concurrency two, and across 50,000,000 records that artefact swamps the real signal.
Follow-up
  • A handler is not idempotent and you have found 400 overlapping jobs. Which of them actually caused damage, and what would you query to find out?
  • Peak concurrency for one job_type is 4 against a configured cap of 4. Is the cap working, or is the data hiding attempts that never started?

Identify the heaviest tenants in a five-minute window under memory pressure

medium
top-kheavy hittersstreaming

The edge service handles about 3,000 requests per second across roughly 50,000 tenants, peaking near 9,000. Expose the 50 heaviest tenants by request count over the trailing five minutes so limits can be tightened before one tenant's backfill starves the fleet. You may not retain five minutes of raw records. Give the exact solution and its memory, then the bounded-memory approximation with its error stated as a formula, and say which you would ship and at what tenant cardinality that choice changes.

Approach
  1. Do the exact version first, because it is affordable at this cardinality: a ring of 300 one-second counters per tenant, advanced lazily, is 1,200 bytes of counters per tenant and roughly 60 to 90 MB for 50,000 tenants with overhead. Carry a running total and subtract the bucket you overwrite so a window read is O(1) rather than 300 adds.
  2. Extract the top 50 with a size-k min-heap over the tenant sums: O(d log k) for d tenants, against O(d log d) to sort them all. Maintaining the heap continuously instead of on query requires a tenant-to-heap-index map, because incrementing a count already inside the heap means sifting from a known position, and without that map you rebuild the heap on every request.
  3. State the approximation precisely rather than gesturing at sketches. Misra-Gries with m counters retains every item whose true count exceeds N/(m+1), and each retained count underestimates the truth by at most N/(m+1). With m = 1,000 and N = 900,000 requests in the window the error is roughly 900 requests, which is fine for spotting a tenant sending 50,000 and useless for ranking two tenants 200 apart.
  4. Say what breaks when the window slides: Misra-Gries and Space-Saving are insert-only and cannot be decremented as records age out. The workable construction is one summary per sub-window, say ten seconds, with 30 summaries merged at query time, and the merged error is the sum of the per-summary errors, so the bound degrades linearly in the number of sub-windows.
Follow-up
  • The heaviest tenant is heavy because of one export job rather than user traffic. Should the limiter treat those as the same tenant?
  • Two tenants sit tied at the boundary of the top 50. Does your answer flap, and does the flapping matter?

Built from the rounds and topics Indra candidates report.

Small steps. Visible outcomes.0 / 7 completed
ONE WEEK · YOUR PACE

Prepare, practise & reflect

One practical outcome each day. Spend longer where you need it.

0 / 7 done
01Map the Indra loop
  • Write out the reported sequence: Screening Call, Technical Assessment, Team Interviews, Potential Evaluations.
  • For each round, write one sentence on what it is judging, from the description above, and mark the one you are least ready for.

Deliverable: A one-page map of the 4 reported rounds, with the weakest marked.

02Work Java
  • Spend the session on Java, which Indra candidates report being tested on.
  • Write one worked example in Java and time yourself on it.

Deliverable: One timed worked example in Java.

03Work Live Coding
  • Spend the session on Live Coding, which Indra candidates report being tested on.
  • Write one worked example in Live Coding and time yourself on it.

Deliverable: One timed worked example in Live Coding.

04Work Core Java Interview Questions
  • Spend the session on Core Java Interview Questions, which Indra candidates report being tested on.
  • Write one worked example in Core Java Interview Questions and time yourself on it.

Deliverable: One timed worked example in Core Java Interview Questions.

05Answer out loud: Technical & Domain Expertise
  • Answer aloud, timed: How do you handle polymorphism and access specifiers in C++?
  • Answer aloud, timed: Explain your experience with Java frameworks and database management systems (SQL/NoSQL).

Deliverable: Spoken answers to 2 reported Technical & Domain Expertise question(s), under time.

06Answer out loud: Behavioral & Problem-Solving
  • Answer aloud, timed: Describe a time you faced a significant technical challenge; how did you structure your solution?
  • Answer aloud, timed: How do you communicate technical constraints to non-technical stakeholders or clients?

Deliverable: Spoken answers to 2 reported Behavioral & Problem-Solving question(s), under time.

07Dry run for Indra
  • Run one full mock under time, then write down the two questions you most want to ask your interviewers.

Deliverable: A completed timed mock and two questions to ask.

Expand any day for tasks and deliverables. Your progress is saved on this device.

Behavioural rounds judge the decision you made and what it cost.

How do you handle polymorphism and access specifiers in C++?

medium
Technical & Domain Expertise

How do you handle polymorphism and access specifiers in C++?

Approach
  1. Pick a story where you made the decision, not one where you watched it.
  2. State the situation in two sentences and spend the rest on the reasoning.
  3. Give the blast radius: what could have broken, and what you measured.
  4. Name the disagreement and how you resolved it with evidence.
Follow-up
  • What would you do differently if you ran that again?
  • How did you know your change caused the improvement?

Explain your experience with Java frameworks and database management systems (SQL/NoSQL).

medium
Technical & Domain Expertise

Explain your experience with Java frameworks and database management systems (SQL/NoSQL).

Approach
  1. Pick a story where you made the decision, not one where you watched it.
  2. State the situation in two sentences and spend the rest on the reasoning.
  3. Give the blast radius: what could have broken, and what you measured.
  4. Name the disagreement and how you resolved it with evidence.
Follow-up
  • What would you do differently if you ran that again?
  • How did you know your change caused the improvement?

Can you describe your experience with Azure or other cloud infrastructure components?

medium
Technical & Domain Expertise

Can you describe your experience with Azure or other cloud infrastructure components?

Approach
  1. Pick a story where you made the decision, not one where you watched it.
  2. State the situation in two sentences and spend the rest on the reasoning.
  3. Give the blast radius: what could have broken, and what you measured.
  4. Name the disagreement and how you resolved it with evidence.
Follow-up
  • What would you do differently if you ran that again?
  • How did you know your change caused the improvement?

What is your experience with RF systems or simulation software like HFSS or CST?

medium
Technical & Domain Expertise

What is your experience with RF systems or simulation software like HFSS or CST?

Approach
  1. Pick a story where you made the decision, not one where you watched it.
  2. State the situation in two sentences and spend the rest on the reasoning.
  3. Give the blast radius: what could have broken, and what you measured.
  4. Name the disagreement and how you resolved it with evidence.
Follow-up
  • What would you do differently if you ran that again?
  • How did you know your change caused the improvement?

Describe a time you faced a significant technical challenge; how did you structure your solution?

medium
Behavioral & Problem-Solving

Describe a time you faced a significant technical challenge; how did you structure your solution?

Approach
  1. Pick a story where you made the decision, not one where you watched it.
  2. State the situation in two sentences and spend the rest on the reasoning.
  3. Give the blast radius: what could have broken, and what you measured.
  4. Name the disagreement and how you resolved it with evidence.
Follow-up
  • What would you do differently if you ran that again?
  • How did you know your change caused the improvement?

How do you communicate technical constraints to non-technical stakeholders or clients?

medium
Behavioral & Problem-Solving

How do you communicate technical constraints to non-technical stakeholders or clients?

Approach
  1. Pick a story where you made the decision, not one where you watched it.
  2. State the situation in two sentences and spend the rest on the reasoning.
  3. Give the blast radius: what could have broken, and what you measured.
  4. Name the disagreement and how you resolved it with evidence.
Follow-up
  • What would you do differently if you ran that again?
  • How did you know your change caused the improvement?

How do you prioritize tasks when working on multiple project streams?

medium
Behavioral & Problem-Solving

How do you prioritize tasks when working on multiple project streams?

Approach
  1. Pick a story where you made the decision, not one where you watched it.
  2. State the situation in two sentences and spend the rest on the reasoning.
  3. Give the blast radius: what could have broken, and what you measured.
  4. Name the disagreement and how you resolved it with evidence.
Follow-up
  • What would you do differently if you ran that again?
  • How did you know your change caused the improvement?

Why are you interested in working on the specific industry sectors that Indra serves?

medium
Behavioral & Problem-Solving

Why are you interested in working on the specific industry sectors that Indra serves?

Approach
  1. Pick a story where you made the decision, not one where you watched it.
  2. State the situation in two sentences and spend the rest on the reasoning.
  3. Give the blast radius: what could have broken, and what you measured.
  4. Name the disagreement and how you resolved it with evidence.
Follow-up
  • What would you do differently if you ran that again?
  • How did you know your change caused the improvement?
  • 01

    How do you handle polymorphism and access specifiers in C++?

  • 02

    Explain your experience with Java frameworks and database management systems (SQL/NoSQL).

  • 03

    Can you describe your experience with Azure or other cloud infrastructure components?

  • 04

    What is your experience with RF systems or simulation software like HFSS or CST?

PracHub preparation framework ↗
How difficult is the technical interview?

The difficulty is generally considered average. It focuses on your ability to explain your past work and solve logic-based problems rather than purely algorithmic "trick" questions.

Indra Software Engineer candidate reports ↗
How long does the hiring process take?

It varies significantly, but a typical process can take anywhere from two weeks to a month. Be prepared for potential delays and feel free to follow up if you haven't heard back within the expected timeframe.

Indra Software Engineer candidate reports ↗
Will there be a live coding test?

It depends on the team. Some roles involve live coding or take-home exercises, while others focus on deep-dive conversations about your previous technical projects.

Indra Software Engineer candidate reports ↗
Is the company culture very formal?

It is professional and structured, given the nature of the industries Indra serves. You should expect an environment that values reliability, clear communication, and technical rigor.

Indra Software Engineer candidate reports ↗
What topics does Indra test in interviews?

Indra interviews most often cover Java, Communication Skills, Object-Oriented Programming (OOP), JavaScript, and SQL. The exact emphasis depends on the specific role you apply for.

Indra Software Engineer candidate reports ↗
Sources & methodology 3 sources ↗

No official company page is cited. Rounds and questions come from candidate reports and PracHub editorial material; each source shows the date it was read.