Iti Engineering · Software Engineer
Updated · 2026-10-02

Iti Engineering Software Engineer
Interview Guide

THE 60-SECOND BRIEF

As a Software Engineer at Iti Engineering, you will play a crucial role in building and maintaining the digital backbone of one of India's pioneering public sector electronics and telecommunications enterprises. The company operates at the intersection of defense communications, secure networking, public infrastructure, and large-scale manufacturing systems. Your work will directly impact national security frameworks, public utility networks, and enterprise-grade software deployments that keep critical industries running smoothly. Unlike standard consumer-tech companies, the engineering environment here is deeply integrated with physical systems, hardware manufacturing, and telecommunications protocols.

This guide is scoped to a Software Engineer candidate at Iti Engineering.

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

System ArchitectureC / C++Secure Systems / Secure Communications

25 min read

Browse Software Engineer questions

See the practice prompts

21Practice promptsAcross five skill areas

As a Software Engineer at Iti Engineering, you will play a crucial role in building and maintaining the digital backbone of one of India's pioneering public sector electronics and telecommunications enterprises. The company operates at the intersection of defense communications, secure networking, public infrastructure, and large-scale manufacturing systems. Your work will directly impact national security frameworks, public utility networks, and enterprise-grade software deployments that keep critical industries running smoothly. Unlike standard consumer-tech companies, the engineering environment here is deeply integrated with physical systems, hardware manufacturing, and telecommunications protocols. Software engineers write code that interfaces with complex hardware, manage secure data transmission pipelines, and design robust systems that prioritize reliability and longevity over rapid, experimental iterations. You will join a highly experienced engineering team where collaboration across hardware, electrical, and systems divisions is the norm. Navigating this cross-disciplinary landscape requires a strong appreciation for core engineering principles, a structured approach to problem-solving, and a commitment to maintaining rigorous public-sector standards.

01

CV Shortlisting

reported

Candidates' CVs are rigorously reviewed to determine eligibility for the next phase.

What to demonstrate

  • Candidates' CVs are rigorously reviewed to determine eligibility for the next phase
  • Depth in System Architecture

How to prepare

  • Answer aloud and timed: Explain the difference between high voltage engineering and standard power distribution systems.
  • Answer aloud and timed: What are the primary functions of switchgear and protection systems in electrical engineering?
Iti Engineering Software Engineer candidate reports ↗
02

Document Verification

reported

Comprehensive verification of documents and certificates is conducted before the panel interview.

What to demonstrate

  • Comprehensive verification of documents and certificates is conducted before the panel interview
  • Depth in System Architecture

How to prepare

  • Answer aloud and timed: How do you minimize signal attenuation and noise in high-frequency telecommunications lines?
  • Answer aloud and timed: Explain the basic principles of an electromagnetic relay.
Iti Engineering Software Engineer candidate reports ↗
03

Personal Panel Interview

reported

A panel of three to four experts assesses candidates' technical knowledge and professional alignment.

What to demonstrate

  • A panel of three to four experts assesses candidates' technical knowledge and professional alignment
  • Depth in System Architecture

How to prepare

  • Answer aloud and timed: What is the significance of modulation in telecommunication, and how does digital modulation differ from analog modulation?
  • Answer aloud and timed: How would you implement a secure communication protocol between a software application and a hardware controller?
Iti Engineering Software Engineer candidate reports ↗

PracHub editorial advice for the preparation topics above.

01

Brush up on ECE basics

Even if you are a Computer Science graduate, spend time reviewing basic electronics, telecommunications, and electrical systems. The panel expects all engineers to have a shared foundational language.

02

Know your project inside out

Be ready to defend every line of code and architectural decision in your final-year project. Do not include project details on your resume that you cannot explain in depth.

03

Maintain formal body language

The panel evaluates your posture, eye contact, and overall presentation. Enter the room confidently, greet each member of the panel, and maintain a calm, professional demeanor throughout the session.

04

The panel environment is highly professional but calm

Take advantage of the provided amenities and use the waiting time to mentally rehearse your final-year project walkthrough.

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

18 technical prompts0 include a worked solution

Explain the concept of multi-threading. How do you handle race conditions in a low-level programming environme

medium
Software & Systems Engineering

Explain the concept of multi-threading. How do you handle race conditions in a low-level programming environment?

Approach
  1. Say what the runtime actually does before reasoning about the code.
  2. Name what is shared across threads and what owns each piece of state.
  3. Identify the window where an invariant is briefly untrue.
  4. Distinguish a value from a reference to it, and say which one you handed out.
Follow-up
  • What happens if two callers reach this at the same time?
  • Where could this allocate more than you expect?

What is the role of an operating system kernel, and how does it manage memory allocation for running processes

medium
Software & Systems Engineering

What is the role of an operating system kernel, and how does it manage memory allocation for running processes?

Approach
  1. Say what the runtime actually does before reasoning about the code.
  2. Name what is shared across threads and what owns each piece of state.
  3. Identify the window where an invariant is briefly untrue.
  4. Distinguish a value from a reference to it, and say which one you handed out.
Follow-up
  • What happens if two callers reach this at the same time?
  • Where could this allocate more than you expect?

Collapse a redelivered event batch into per-aggregate high-water marks

easy
hashingat-least-onceaggregation

You drain a batch of up to 5,000,000 events, each (aggregate_id BIGINT, aggregate_version INT, event_type, payload). The log guarantees order within one aggregate only; the batch merges 64 partitions, and a relay failover has redelivered a range, so an older version for an aggregate can appear after a newer one. Given a map of last_applied_version per aggregate, produce the events worth applying, at most one per (aggregate_id, version), plus the count discarded. Target O(n) time. State the memory for 2,000,000 distinct aggregates and what you do when it does not fit.

Approach
  1. One pass, one hash map from aggregate_id to the highest version kept, and a discard counter. An event whose version is at or below last_applied_version for its aggregate is dropped without further work, which is the whole reason the event carries its version rather than a delta. O(n) expected time, O(d) space in distinct aggregates.
  2. Keep the maximum, never the last occurrence. The redelivered range means the final appearance of an aggregate in the batch can be an older version than one seen earlier in the same batch, so last-wins applies stale state over newer state and the projection regresses with no error anywhere.
  3. Cost the memory instead of calling it large: an 8-byte key plus a 4-byte version is 12 bytes of payload, and an open-addressed table held at a 0.7 load factor costs roughly 17 bytes per entry before per-slot metadata, so 2,000,000 aggregates is tens of megabytes in a native layout and several times that in a runtime that boxes both key and value.
  4. If the distinct set exceeds memory, partition on hash(aggregate_id) mod P and reduce each partition independently. Every event for one aggregate hashes to the same partition, so the per-partition result is exact and the merge is concatenation rather than a second reduction.
Follow-up
  • The payload is a patch rather than a snapshot, so applying only the highest version loses the intermediate changes. What changes in your reduction?
  • How do you detect that version 7 arrived while version 6 was never delivered, and what should the consumer do about the gap?

Built from the rounds and topics Iti Engineering 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 Iti Engineering loop
  • Write out the reported sequence: CV Shortlisting, Document Verification, Personal Panel Interview.
  • 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 3 reported rounds, with the weakest marked.

02Work System Architecture
  • Spend the session on System Architecture, which Iti Engineering candidates report being tested on.
  • Write one worked example in System Architecture and time yourself on it.

Deliverable: One timed worked example in System Architecture.

03Work C / C++
  • Spend the session on C / C++, which Iti Engineering candidates report being tested on.
  • Write one worked example in C / C++ and time yourself on it.

Deliverable: One timed worked example in C / C++.

04Work Secure Systems / Secure Communications
  • Spend the session on Secure Systems / Secure Communications, which Iti Engineering candidates report being tested on.
  • Write one worked example in Secure Systems / Secure Communications and time yourself on it.

Deliverable: One timed worked example in Secure Systems / Secure Communications.

05Answer out loud: Core Engineering & Electronics
  • Answer aloud, timed: Explain the difference between high voltage engineering and standard power distribution systems.
  • Answer aloud, timed: What are the primary functions of switchgear and protection systems in electrical engineering?

Deliverable: Spoken answers to 2 reported Core Engineering & Electronics question(s), under time.

06Answer out loud: Software & Systems Engineering
  • Answer aloud, timed: How would you implement a secure communication protocol between a software application and a hardware controller?
  • Answer aloud, timed: What are the differences between TCP and UDP, and in what scenarios would you choose one over the other for real-time data streaming?

Deliverable: Spoken answers to 2 reported Software & Systems Engineering question(s), under time.

07Answer out loud: Academic & Project Defense
  • Answer aloud, timed: Walk us through the architecture of your final-year project. What was your specific contribution?
  • Answer aloud, timed: What were the main technical challenges you faced during the implementation of your project, and how did you resolve them?

Deliverable: Spoken answers to 2 reported Academic & Project Defense question(s), under time.

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.

Turn a code review disagreement into a decision

easy
code reviewoptimistic concurrencycommunication

A colleague's change updates a row with UPDATE resource SET version = version + 1 WHERE resource_id = $1 AND version = $2 and treats an affected-row count of zero as a successful no-op. You read that as a silently lost update; they think returning 200 is friendlier to clients than returning a conflict. Describe how you have handled a review disagreement of this shape: what goes in the comment, when you leave the thread, and who decides. Then write the comment you would leave here, in under 80 words.

Approach
  1. Sort the disagreement before writing anything. A silently discarded write is a correctness claim about data; the choice between 409 and 412 is taste. Only the first justifies blocking a merge, and saying which one you are doing is most of the value of the comment.
  2. Make the claim reproducible in the comment itself with an interleaving rather than a principle: A reads version 7, B reads version 7, B commits version 8, A's predicate matches zero rows, A is told it succeeded and A's edit is gone.
  3. Offer the alternative with its cost attached: return 409 carrying the current version and the revision that won, so the client can re-read and re-apply. Note that automatic retry is not the fix, because a retry re-reads the winner's state and reapplies an intent formed against data that no longer exists.
  4. Apply an escalation rule you can state: two round trips on the thread, then a call, and the service's owner decides rather than the reviewer. A reviewer who cannot be overruled is a bottleneck with extra steps.
Follow-up
  • Where would you put the test that fails if someone reintroduces the swallowed zero rowcount?
  • The author says clients cannot handle a 409. How do you check whether that is true?

Estimate work you have never done and defend the range

hard
estimationbackfillsexpand-contract

You are asked to estimate a change you have never attempted: add a column to a 100-million-row table, populate it, move reads across, and drop the old shape. Give a range with the assumptions that generate it, including batch size, the signal your backfill throttles on, and wall-clock hours, and name the three unknowns that would move the number most. Then describe a real estimate you gave under comparable ignorance: how you expressed its uncertainty, what you committed to, and how wrong you turned out to be.

Approach
  1. Decompose into independently deployable steps before estimating anything: add the column nullable, write both shapes, backfill in batches, verify, move reads, stop writing the old shape, drop it. That is four deploys spread over days, and the calendar estimate is dominated by them rather than by the loop's runtime.
  2. Do the arithmetic aloud for the part that has arithmetic in it: batch size times number of batches times per-batch duration, at a write rate the primary can absorb alongside roughly 1.2k writes per second of production traffic. The loop is throttled by replication lag and lock waits, not by how fast it can issue statements.
  3. Price the schema step by its lock rather than its statement duration. In PostgreSQL an ALTER TABLE taking ACCESS EXCLUSIVE waits for every open transaction on that table while later queries queue behind it, so a millisecond change issued during a thirty-second analytics query stalls that table for thirty seconds. Adding a nullable column with a non-volatile default avoids a rewrite from version 11; a new index wants CREATE INDEX CONCURRENTLY, which cannot run inside a transaction block and leaves an invalid index behind if it fails.
  4. Express the answer as a range whose endpoints each trace to a stated assumption, then name the cheapest experiment that collapses it, which is almost always running one real batch against the real table and multiplying.
Follow-up
  • How do you verify the backfill genuinely finished, given rows written by production traffic while it ran?
  • Where does the backfill resume from after a worker is killed mid-batch, and what makes that resume point trustworthy?

Tell callers you do not own that their integration breaks

medium
deprecationcompatibilitystakeholders

A field in a write endpoint's response must change shape. You own the endpoint; you do not own the four internal callers or the outbound webhook consumers who read it. Describe a deprecation you were responsible for: what you shipped first, how you established who was actually reading the field, the window you gave and what set its length, what you did about the consumer who never moved, and how you decided removal was safe. Name the signal you used, not the announcement you sent.

Approach
  1. Establish the reader set empirically rather than from a wiki of owners: per-field usage counters keyed by principal, or access logs attributed to a consumer. State the blind spot of whichever you pick, since a consumer that reads the field only on a monthly job will not appear in a week of logs.
  2. Ship additive first. Populate the new field alongside the old one so no reader is forced to move, which is also what keeps a rolling deploy safe, because old and new instances answer the same requests at the same time and a rollback must still find the old shape present.
  3. Set the window from the slowest legitimate consumer's release cadence, not from your calendar, and decide separately what to do for a consumer with no release process at all, such as an external webhook endpoint you can only email.
  4. Convert silence into evidence before you rely on it: a short, low-traffic removal window that makes a still-dependent consumer fail visibly and loudly while you are watching, rather than at three in the morning after you have moved on.
Follow-up
  • How would you detect a consumer that reads the field only during a monthly export?
  • One caller refuses to move and has a commercial relationship behind it. What changes in your plan and what does not?
  • 01

    A colleague's change updates a row with UPDATE resource SET version = version + 1 WHERE resource_id = $1 AND version = $2 and treats an affected-row count of zero as a successful no-op. You read that as a silently lost update; they think returning 200 is friendlier to clients than returning a conflict. Describe how you have handled a review disagreement of this shape: what goes in the comment, when you leave the thread, and who decides. Then write the comment you would leave here, in under 80 words.

  • 02

    You are asked to estimate a change you have never attempted: add a column to a 100-million-row table, populate it, move reads across, and drop the old shape. Give a range with the assumptions that generate it, including batch size, the signal your backfill throttles on, and wall-clock hours, and name the three unknowns that would move the number most. Then describe a real estimate you gave under comparable ignorance: how you expressed its uncertainty, what you committed to, and how wrong you turned out to be.

  • 03

    A field in a write endpoint's response must change shape. You own the endpoint; you do not own the four internal callers or the outbound webhook consumers who read it. Describe a deprecation you were responsible for: what you shipped first, how you established who was actually reading the field, the window you gave and what set its length, what you did about the consumer who never moved, and how you decided removal was safe. Name the signal you used, not the announcement you sent.

PracHub preparation framework ↗
How technical is the interview for a Software Engineer role?

The interview is moderately technical but broad. It covers software engineering fundamentals, database concepts, and operating systems, alongside basic electronics and telecommunications concepts. Be prepared for a mix of software and core engineering questions.

Iti Engineering Software Engineer candidate reports ↗
Is a GATE score mandatory for this position?

While some recruitment drives allow entry through written tests or college placements, a valid GATE score is frequently requested by the panel during final selections and can significantly boost your shortlisting chances.

Iti Engineering Software Engineer candidate reports ↗
What is the work environment like at Iti Engineering?

The work environment is stable, collaborative, and highly professional. Unlike fast-paced consumer startups, the focus here is on precision, safety, and long-term reliability of the engineered systems, resulting in a balanced work-life dynamic.

Iti Engineering Software Engineer candidate reports ↗
How should I prepare for the panel interview?

Focus heavily on your final-year project, basic electronics, and computer science fundamentals. Practice delivering concise, direct answers, as panels often prefer rapid-fire, precise communication over long, winding explanations.

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

Iti Engineering interviews most often cover System Architecture, C / C++, Secure Systems / Secure Communications, Technical Leadership, and Embedded Systems. The exact emphasis depends on the specific role you apply for.

Iti Engineering 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.