Information Tech Consultants · Software Engineer
Updated · 2026-10-02

Information Tech Consultants Software Engineer
Interview Guide

THE 60-SECOND BRIEF

As a Software Engineer at Information Tech Consultants, you will play a pivotal role in bridging the gap between cutting-edge technology and real-world client solutions. The company operates on a specialized training-and-deployment model, recruiting promising developers and equipping them with the practical skills required to excel on high-impact client projects. Your work will directly influence how major external clients deploy, scale, and maintain their software infrastructure, making this role both highly dynamic and strategically vital. In this position, you will contribute to diverse codebases, ranging from modern mobile applications to robust backend systems. Depending on your team alignment, you may find yourself building responsive user interfaces for Android applications using Kotlin and Jetpack Compose, or developing scalable data pipelines and APIs using Python.

This guide is scoped to a Software Engineer candidate at Information Tech Consultants.

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

KotlinAndroid Application DevelopmentRESTful APIs

16 min read

Browse Software Engineer questions

See the practice prompts

15Practice promptsAcross five skill areas

As a Software Engineer at Information Tech Consultants, you will play a pivotal role in bridging the gap between cutting-edge technology and real-world client solutions. The company operates on a specialized training-and-deployment model, recruiting promising developers and equipping them with the practical skills required to excel on high-impact client projects. Your work will directly influence how major external clients deploy, scale, and maintain their software infrastructure, making this role both highly dynamic and strategically vital. In this position, you will contribute to diverse codebases, ranging from modern mobile applications to robust backend systems. Depending on your team alignment, you may find yourself building responsive user interfaces for Android applications using Kotlin and Jetpack Compose, or developing scalable data pipelines and APIs using Python. Because the company services a wide array of corporate clients, the software you build and support will be utilized by thousands of end-users across the United Kingdom. This role offers a unique dual experience: intensive initial upskilling followed by direct onsite deployment at client offices. It requires a high level of adaptability, technical curiosity, and professional resilience. You will be expected to transition smoothly from structured internal training to active engineering teams, solving complex technical challenges while representing the technical standards of Information Tech Consultants.

01

Technical Assessment

reported

Initial assessment to gauge baseline coding and problem-solving abilities.

What to demonstrate

  • Initial assessment to gauge baseline coding and problem-solving abilities
  • Depth in Kotlin

How to prepare

  • Answer aloud and timed: Explain the difference between MVVM and MVI architectural patterns, and when you would choose one over the other.
  • Answer aloud and timed: How do you manage asynchronous data streams in Android using Coroutines and Flow?
Information Tech Consultants Software Engineer candidate reports ↗
02

Casual Conversation

reported

Discussion with a recruiter or hiring manager about background, career goals, and training program.

What to demonstrate

  • Discussion with a recruiter or hiring manager about background, career goals, and training program
  • Depth in Kotlin

How to prepare

  • Answer aloud and timed: Describe your experience with Jetpack Compose. How does declarative UI design differ from traditional XML layouts?
  • Answer aloud and timed: How does dependency injection with Hilt or Dagger improve the testability of an Android application?
Information Tech Consultants Software Engineer candidate reports ↗
03

Recorded Video Interview

reported

Structured video interview where candidates answer questions to assess communication and presentation skills.

What to demonstrate

  • Structured video interview where candidates answer questions to assess communication and presentation skills
  • Depth in Kotlin

How to prepare

  • Answer aloud and timed: What is your approach to handling network requests and parsing JSON payloads using Retrofit?
  • Answer aloud and timed: How do you manage memory and optimize performance when processing large datasets in Python?
Information Tech Consultants Software Engineer candidate reports ↗

PracHub editorial advice for the preparation topics above.

01

Prepare for Speed

Because the interview stages can happen sequentially on the same day, ensure you are fully rested, focused, and have your technical setup tested and ready before the first call.

02

Clarify the Training Curriculum

During the casual conversation stage, ask specific questions about the training modules, the technologies covered, and how they align with current client demands. This shows proactive engagement and career focus.

03

Understand Your CV Representation

Be prepared to discuss how your skills and experiences will be presented to clients. The company focuses heavily on positioning you as a highly capable asset to external teams, so be ready to articulate your technical strengths clearly.

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

10 technical prompts0 include a worked solution

How do you manage asynchronous data streams in Android using Coroutines and Flow?

medium
Android & Mobile Architecture

How do you manage asynchronous data streams in Android using Coroutines and Flow?

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?

How do you manage memory and optimize performance when processing large datasets in Python?

medium
Backend & Systems Engineering

How do you manage memory and optimize performance when processing large datasets in Python?

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?

Archive a resource graph without breaking live references or recursing

medium
graph traversaltopological ordertenant isolation

Resources reference other resources within a tenant; for the largest tenant the reference table holds up to 2,000,000 nodes and 8,000,000 edges. Archiving a resource must archive everything reachable from it that nothing outside the set still references, refuse when a live external referrer exists, and terminate when references form cycles, which they legitimately do. Produce the archive order and the refusal list, targeting O(V+E). Say what stops the traversal crossing a tenant boundary, and why recursion is the wrong control structure at this size.

Approach
  1. Load the subgraph with the tenant predicate on both endpoints of the edge, not only on the side you started from. Scoping the left table alone is the classic cross-tenant leak: one mis-entered edge then pulls another tenant's resources into the traversal and, worse, into the archive.
  2. Traverse iteratively with an explicit stack. A 2,000,000-node graph can hold a chain deep enough to exhaust a native stack in the low tens of thousands of frames, and that failure is a process crash rather than an error you can return.
  3. Treat cycles as data rather than corruption: compute strongly connected components with Tarjan in O(V+E) using its own explicit stack, then condense. The condensation is a DAG, so a topological order over it gives the archive order, and every member of a component archives in one transaction because no order within a cycle is valid.
  4. Decide refusals with reverse edges. A candidate is archivable only if every in-edge originates inside the candidate set, so build the transpose or count in-degrees restricted to the visited set, and emit each blocked resource with the id of the external referrer, which is the only part of the answer an operator can act on.
Follow-up
  • The graph is read in one query and the archive writes a minute later. What can change in between, and how do you make the write safe?
  • The candidate set is 400,000 resources. Is that one transaction, and if not, what does a half-finished archive look like to a reader?

Built from the rounds and topics Information Tech Consultants 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 Information Tech Consultants loop
  • Write out the reported sequence: Technical Assessment, Casual Conversation, Recorded Video 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 Kotlin
  • Spend the session on Kotlin, which Information Tech Consultants candidates report being tested on.
  • Write one worked example in Kotlin and time yourself on it.

Deliverable: One timed worked example in Kotlin.

03Work Android Application Development
  • Spend the session on Android Application Development, which Information Tech Consultants candidates report being tested on.
  • Write one worked example in Android Application Development and time yourself on it.

Deliverable: One timed worked example in Android Application Development.

04Work RESTful APIs
  • Spend the session on RESTful APIs, which Information Tech Consultants candidates report being tested on.
  • Write one worked example in RESTful APIs and time yourself on it.

Deliverable: One timed worked example in RESTful APIs.

05Answer out loud: Android & Mobile Architecture
  • Answer aloud, timed: Explain the difference between MVVM and MVI architectural patterns, and when you would choose one over the other.
  • Answer aloud, timed: How do you manage asynchronous data streams in Android using Coroutines and Flow?

Deliverable: Spoken answers to 2 reported Android & Mobile Architecture question(s), under time.

06Answer out loud: Backend & Systems Engineering
  • Answer aloud, timed: How do you manage memory and optimize performance when processing large datasets in Python?
  • Answer aloud, timed: Explain how you would design and secure a RESTful API for integration with a mobile frontend.

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

07Answer out loud: Behavioral & Commitment
  • Answer aloud, timed: Why are you interested in a consulting career that involves direct deployment to external client sites?
  • Answer aloud, timed: How do you handle situations where a client requests a technical solution or technology stack that you are not familiar with?

Deliverable: Spoken answers to 2 reported Behavioral & Commitment 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.

Describe your experience with Jetpack Compose. How does declarative UI design differ from traditional XML layo

medium
Android & Mobile Architecture

Describe your experience with Jetpack Compose. How does declarative UI design differ from traditional XML layouts?

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 a consulting career that involves direct deployment to external client sites?

medium
Behavioral & Commitment

Why are you interested in a consulting career that involves direct deployment to external client sites?

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 handle situations where a client requests a technical solution or technology stack that you are not

medium
Behavioral & Commitment

How do you handle situations where a client requests a technical solution or technology stack that you are not familiar with?

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 when you had to work under a tight deadline. How did you prioritize your tasks to ensure deliv

medium
Behavioral & Commitment

Describe a time when you had to work under a tight deadline. How did you prioritize your tasks to ensure delivery?

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 approach feedback during code reviews, especially when adapting to a client's specific style guide?

medium
Behavioral & Commitment

How do you approach feedback during code reviews, especially when adapting to a client's specific style guide?

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

    Describe your experience with Jetpack Compose. How does declarative UI design differ from traditional XML layouts?

  • 02

    Why are you interested in a consulting career that involves direct deployment to external client sites?

  • 03

    How do you handle situations where a client requests a technical solution or technology stack that you are not familiar with?

  • 04

    Describe a time when you had to work under a tight deadline. How did you prioritize your tasks to ensure delivery?

PracHub preparation framework ↗
What is the difficulty level of the interview process?

Candidates generally report that the technical questions are of average difficulty, focusing on core programming concepts, basic algorithms, and framework fundamentals. The rapid pace of the interview process is often cited as the most challenging aspect.

Information Tech Consultants Software Engineer candidate reports ↗
How does the client deployment process work?

Following your initial onboarding and training, the company matches your skill set with active client requirements. You will then be deployed to work directly with the client's engineering team, often onsite at their offices in London, Bournemouth, or Scotland.

Information Tech Consultants Software Engineer candidate reports ↗
What are the details of the two-year contract commitment?

The company requires a two-year commitment to offset the cost of the initial training and placement services.

Information Tech Consultants Software Engineer candidate reports ↗
Can I work remotely in this role?

While some client assignments may offer hybrid arrangements, the default expectation for this role is onsite work at the designated client or company offices. You should be prepared for regular onsite attendance.

Information Tech Consultants Software Engineer candidate reports ↗
What topics does Information Tech Consultants test in interviews?

Information Tech Consultants interviews most often cover Kotlin, Python, DevOps Engineering, Big Data coding assessments, and Android Application Development. The exact emphasis depends on the specific role you apply for.

Information Tech Consultants 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.