ASD · Software Engineer
Updated · 2026-10-02

ASD Software Engineer
Interview Guide

THE 60-SECOND BRIEF

Candidates describe ASD as a company whose software engineers design, build and maintain software for its clients. The reports mention specialized engineering tools and large-scale data systems as the kind of work involved, and the reported topic breakdown includes Model-Based Systems Engineering (MBSE) next to data structures and algorithms. Candidates also list SAPUI5 and OpenUI5 as frameworks worth knowing. The reports do not name specific products or customers, so use them to decide what to revise, not to guess at the team you will join.

This guide is for candidates interviewing for a Software Engineer role at ASD. It covers the four reported rounds, every reported question (language proficiency, DSA principles, SAPUI5 versus OpenUI5, database management, performance, a project walk-through, the Traveling Salesman Problem, a manhole-cover brain teaser and the behavioral set), the requirements candidates describe, and a seven-day plan that points at PracHub's practice set where it helps.

Candidates report four rounds over roughly 3-5 weeks: Initial Screening, Technical Assessment, Behavioral Interview and Final Assessment. Which questions land in which round is not reported, so prepare every question type for every stage.

DSA (Data Structures and Algorithms)Data StructuresAlgorithmic Problem Solving

31 min read

Browse Software Engineer questions

See the practice prompts

18Practice promptsAcross five skill areas

Candidates describe the Software Engineer role as owning software from design through testing and deployment, working with product managers, system architects and other engineers, and taking part in code reviews and documentation. The requirements they list are proficiency in core programming languages, a solid grasp of data structures and algorithms, experience across the full software development lifecycle, and the ability to explain technical designs and project challenges. Familiarity with SAPUI5 or OpenUI5, Agile practice, technical documentation and systems engineering is listed as a plus.

The reported questions fall into three groups. Short fundamentals: which languages you are strongest in, the principles of data structures and algorithms, SAPUI5 versus OpenUI5, and how you handle database management. Open-ended problems: how to build software with superb performance, a walk-through of a recent project, the Traveling Salesman Problem and the manhole-cover brain teaser. Behavioral questions: your experience with data structure development, why the company needs you, your previous experience, the business analyst habits you saw, and how you handle work culture and team expectations.

The topic breakdown also lists MBSE, although no reported question names it. Know the one-paragraph definition: models, rather than documents, act as the main record of a system's requirements, structure and behavior. Most of the loop is about your own work, so build preparation around a resume inventory: for every project, the stack, the data structures and storage you chose, a trade-off you made and a bug you tracked down. Then add a DSA refresher with complexity statements you can say without hesitation, and rehearse the brain teaser by reasoning aloud rather than memorizing a verdict.

01

Initial Screening

reported

Candidates describe the first stage as a review of your application against basic qualifications. Nothing more is reported about its format, so treat your resume and your short career narrative as the material. Be ready to say which languages you work in, what you have built with data structures, and why you want this company.

What to demonstrate

  • Match between your resume and the requirements candidates list: core languages, DSA, and the full software development lifecycle
  • A short, structured account of your career path and your interest in ASD
  • Whether your stated language and database experience is specific enough to discuss further

How to prepare

  • Map each resume line to a requirement and write one sentence of evidence for it; every project you list may be discussed in depth
  • Write a present-past-future career narrative and a reason for choosing ASD that refers to the engineering work candidates describe
  • Pick the two languages you will name as strongest and prepare idioms, tooling and a project for each
ASD Software Engineer candidate reports ↗
02

Technical Assessment

reported

Candidates describe coding challenges and technical evaluations. A coding stage tests working code, so expect data structures, algorithms and complexity to be central. The reported technical questions also cover language proficiency, DSA principles, SAPUI5 versus OpenUI5, database management, performance, the Traveling Salesman Problem and a brain teaser; the reports do not say which round asks which, so prepare them all for any technical stage.

What to demonstrate

  • Working code and the complexity of the solution you choose
  • Command of core data structures and algorithms, as the requirements list them
  • How you reason out loud on open-ended problems such as the Traveling Salesman Problem

How to prepare

  • Build a cheat sheet of operation costs for arrays, hash maps, heaps, trees and graphs, then solve the overlapping-attempts and event-batch coding drills in PracHub's practice set aloud
  • Write a ladder answer for the Traveling Salesman Problem: brute force, dynamic programming, then heuristics
  • Prepare a half-page comparison of SAPUI5 and OpenUI5 and a structured answer on how you manage databases
ASD Software Engineer candidate reports ↗
03

Behavioral Interview

reported

Candidates describe interviews with team leads and managers that assess interpersonal skills and fit. The reported questions in this group cover why the company needs you, your previous experience, the business analyst habits you observed, and how you handle work culture and team expectations. This stage is about stories from your own work, told with specific decisions and outcomes.

What to demonstrate

  • Interpersonal skills and team fit, as the stage is described
  • How clearly you explain your own past work and decisions
  • How you work with product, analyst and architect colleagues

How to prepare

  • Write four short stories: a technical decision, a requirement that changed, a disagreement or feedback moment, and a time you adapted to a team norm
  • Rehearse the answers on data structure development, previous experience and business analyst habits with concrete examples, not summaries
  • Prepare an answer about why the company needs you that ties your strongest evidence to the requirements candidates list
ASD Software Engineer candidate reports ↗
04

Final Assessment

reported

Candidates describe the last stage as a review of overall performance before a decision is made. Little else is reported about its format. Use the days before it to close the gaps that surfaced earlier, and keep your project walk-through and career narrative consistent with what you already said.

What to demonstrate

  • Overall performance across the earlier stages, as candidates describe it
  • Whether your account of your own work stays consistent when revisited

How to prepare

  • After each earlier stage, write down the questions that went worst and rework those answers
  • Re-run the project walk-through: technologies used, challenges faced, how you overcame them
  • Prepare questions about the team's software lifecycle, documentation and review practices
ASD Software Engineer candidate reports ↗

PracHub editorial advice for the preparation topics above.

01

Answering the languages question with a list of everything you have touched

Name two languages, then back each with a project, idioms, tooling and one limitation you hit. Be ready for a follow-up on memory model, typing or testing in each.

02

Presenting a Traveling Salesman answer as a single algorithm that solves it efficiently

State that it is NP-hard, then climb the ladder: brute force over permutations is factorial, Held-Karp dynamic programming is O(n^2 * 2^n), and nearest neighbour with 2-opt gives good tours without optimality. Name the input size each suits.

03

Giving a memorized verdict on the manhole-cover brain teaser and stopping

Reason aloud with criteria: a circle cannot fall through its own opening, is easy to roll, and is simple to manufacture. Test each criterion against alternatives such as squares, as the reported guidance suggests process matters more than the riddle's answer.

04

Walking through a recent project as a technology list with no failure or trade-off

Structure it as context, stack, two real challenges, what you tried, what worked and a result. Include one bug and the sequence you followed: reproduce, isolate, hypothesize, fix, add a regression test.

05

Answering the performance and database questions with generic advice

Define a measurable target, profile before optimizing, then discuss data structure choice, indexes, query shapes, caching and I/O with a number from your own work. Practice with the SQL and debugging drills in PracHub's practice set.

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

13 technical prompts0 include a worked solution

What are the fundamental principles of Data Structures and Algorithms (DSA)?

medium
Technical Proficiency and Domain Knowled

What are the fundamental principles of Data Structures and Algorithms (DSA)?

Approach
  1. Open with complexity analysis: Big-O for time and space, worst case versus average versus amortised (a dynamic array append is amortised O(1) because resizes double the capacity).
  2. Map core structures to their operation costs: array O(1) index access; hash map O(1) average and O(n) worst-case lookup; balanced BST O(log n) with ordered traversal; binary heap O(log n) push and pop with O(1) peek; linked list O(1) insert or delete at a known node.
  3. Name the main algorithm patterns and when each applies: two pointers and sliding window on sequences, binary search on sorted data or a monotonic predicate, BFS and DFS on graphs in O(V + E), dynamic programming when subproblems overlap and have optimal substructure, greedy only when an exchange argument proves it.
  4. Know the sorting trade-offs: comparison sorts have an Omega(n log n) lower bound; merge sort is stable with O(n) extra space; quicksort averages O(n log n) but degrades to O(n^2); heapsort is in place but not stable.
  5. Tie it together with the principle of choosing the structure from the access pattern and constraints (input size, memory, ordering needs), then illustrate with one problem you solved that way.
Follow-up
  • When would a balanced BST beat a hash map even though its lookups are slower?
  • How do you prove a greedy algorithm is correct, or show that it fails?
  • Explain why the worst case of hash map lookup is O(n) and how implementations limit it.

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?

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?

The plan follows the four reported rounds and the reported question set: map and inventory first, then DSA and data structures, databases and SAPUI5, performance and project walk-through, the brain teaser and behavioral stories, and a full mock loop.

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 loop and inventory your resume
  • Write the four reported rounds (Initial Screening, Technical Assessment, Behavioral Interview, Final Assessment) with what each is reported to cover
  • For every project on your resume, list the stack, the data stores, one trade-off and one failure
  • Compare against the requirements candidates list (core languages, DSA, lifecycle, communication, plus SAPUI5/OpenUI5, Agile, documentation) and mark the gaps

Deliverable: A one-page loop map and a resume inventory table with gaps marked.

02DSA fundamentals and complexity
  • Write a cheat sheet of operation costs for arrays, hash maps, heaps, stacks, queues, linked lists, trees and graphs, with when each fits
  • Solve the overlapping-attempts and event-batch coding drills in PracHub's practice set aloud, stating complexity at the end of each
  • Write your own answer to what the fundamental principles of DSA are: choosing structures from access patterns, and reasoning about time and space

Deliverable: A cheat sheet, two solved drills with complexity statements and a spoken DSA principles answer.

Practice prompt ↗Practice prompt ↗Practice prompt ↗
03Build structures and answer the Traveling Salesman Problem
  • Implement an LRU cache and a trie from scratch with tests for empty input, duplicates and capacity of one
  • Prepare the data structure experience answer around one of them, with per-operation costs
  • Write the Traveling Salesman ladder: brute force O(n!), Held-Karp O(n^2 * 2^n), nearest neighbour and 2-opt heuristics, and when each applies

Deliverable: Two tested implementations and a half-page Traveling Salesman answer.

Practice prompt ↗Practice prompt ↗Practice prompt ↗
04Languages, databases and SAPUI5
  • Choose your two strongest languages and write the evidence for each: a project, idioms, tooling, one limitation
  • Write a database management answer covering schema design, indexes, transactions, migrations and backups, drawn from your projects
  • Do the index and join fan-out SQL drills in PracHub's practice set
  • Write a half-page SAPUI5 versus OpenUI5 comparison and check it against the current UI5 documentation

Deliverable: A language evidence sheet, a database answer and a SAPUI5 versus OpenUI5 comparison.

Practice prompt ↗Practice prompt ↗Practice prompt ↗Practice prompt ↗Practice prompt ↗
05Performance and the project walk-through
  • Answer how to build software with superb performance: define a target, profile first, then structure choice, queries, caching and I/O
  • Work the listing-latency debugging drill in PracHub's practice set and note your investigation sequence
  • Write the walk-through of your most recent project: technologies, two challenges, how you overcame them, plus one bug story from reproduction to regression test

Deliverable: A performance answer, a debugging sequence and a project walk-through script.

Practice prompt ↗Practice prompt ↗Practice prompt ↗
06Brain teaser and behavioral stories
  • Practice the manhole-cover question aloud by listing criteria and testing alternatives instead of reciting one reason
  • Write STAR stories for business analyst habits and for work culture and team expectations
  • Write your why-you answer from the requirements candidates list, with evidence for two of them, and record your career narrative

Deliverable: A brain-teaser outline, two STAR stories, a why-you answer and a recorded career narrative.

Practice prompt ↗Practice prompt ↗Practice prompt ↗Practice prompt ↗Practice prompt ↗
07Full mock loop
  • Run the stages in order: career narrative, a timed coding drill, then a technical question mix
  • Answer the behavioral set aloud, then the project walk-through again
  • Review the weakest answers and write three questions about the team's lifecycle, documentation and review practice

Deliverable: A scored list of weak answers and a final set of questions to ask.

Practice prompt ↗Practice prompt ↗Practice prompt ↗Practice prompt ↗Practice prompt ↗

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

Candidates describe interviews with team leads and managers covering interpersonal skills and fit. The reported questions ask about your data structure experience, why the company needs you, your previous experience, business analyst habits and work culture. Answer with decisions you made and what came of them.

What is your experience with data structure development?

medium
Technical Proficiency and Domain Knowled

What is your experience with data structure development?

Approach
  1. Choose one structure you built or heavily customized, such as an LRU cache from a hash map and doubly linked list, a trie for prefix lookup, a ring buffer or an interval index, rather than listing structures you have imported from a library.
  2. Tell it as a story: the access pattern, the operations you needed and their target cost, the alternatives you rejected and why, then what you implemented.
  3. State per-operation time and memory overhead, and the invariants you tested: empty input, duplicates, capacity of one, and concurrent access if relevant.
  4. If your experience is mostly library use, say so and describe a choice between built-in structures backed by a benchmark or profile, such as list versus set membership or deque versus list for queues.
  5. Close with the measurable effect on correctness or speed, and avoid reciting textbook definitions.
Follow-up
  • Why not use the standard-library version?
  • How did you test that the structure's invariants always held?
  • How would it behave at a hundred times the data or under concurrent writers?

What makes you think we need you in our company?

medium
Behavioral and Cultural Fit

What makes you think we need you in our company?

Approach
  1. Open with the requirements candidates describe: core languages, DSA, the full software lifecycle and clear communication of designs. Pick the two where you have the strongest proof.
  2. For each, give a claim, one specific piece of evidence from your work, and an outcome you can defend with a number or a concrete result.
  3. Name one area you are still growing in, such as SAPUI5 or MBSE, and show how you have closed a comparable gap before.
  4. Avoid claims about the company's needs that you cannot know, and avoid arguments that you are the best; frame it as the value you would add to the work engineers there do.
  5. End with a bridging sentence about what you would work on first.
Follow-up
  • Which of those strengths would be least useful in your first months?
  • Give an example where that strength did not help.
  • How do you know that is what the team needs?

Can you talk about your previous professional experiences?

medium
Behavioral and Cultural Fit

Can you talk about your previous professional experiences?

Approach
  1. Use a present-past-future structure: your current role, two or three earlier steps chosen for relevance, and why this role is next.
  2. For each role give scope, stack and one result you can defend, and show growing ownership across requirements, design, implementation, testing and deployment.
  3. Pick one project to go deep on; every resume line is fair game, so prepare the reasons behind each technical choice.
  4. Explain moves and gaps factually and never criticize former employers.
  5. Keep it short enough to say aloud in one pass and finish by inviting a deeper dive into the project of their choice.
Follow-up
  • Which of those roles taught you the most, and why?
  • Which decision on that project would you reverse now?
  • Walk me through the technology choice you mentioned on your latest project.

What were the business analyst habits you observed in your previous roles?

medium
Behavioral and Cultural Fit

What were the business analyst habits you observed in your previous roles?

Approach
  1. Treat it as a question about requirements practice: elicitation, written acceptance criteria, user stories, traceability from requirement to test, stakeholder sign-off, change control and documentation. Name the two or three you actually saw.
  2. For each habit describe what it looked like, which problem it prevented and what you adopted yourself, for example turning Given/When/Then acceptance criteria into test cases and cutting rework.
  3. If you had no analyst, say who played the role, such as a product manager or tech lead, and which habits they showed.
  4. Link it to the lifecycle: translating abstract requirements into code, and a misunderstanding you caught early by asking before building.
  5. Avoid vague praise and avoid criticizing analysts or product colleagues.
Follow-up
  • Which of those habits did you carry into your own work?
  • Tell me about a requirement that changed late and how you handled it.
  • How do you write a requirement so engineering and business read it the same way?

How do you handle work culture and team expectations?

medium
Behavioral and Cultural Fit

How do you handle work culture and team expectations?

Approach
  1. Define team expectations concretely: code review norms, definition of done, agile ceremonies, documentation and release practice. Pick the ones you have worked within.
  2. Use a STAR story where your habit and the team's norm differed, or where you joined a new team: you observed, asked, confirmed the expectation explicitly, adjusted, and the outcome improved.
  3. Show balance: you adapt, and you also raise improvements with evidence, such as a retrospective proposal backed by data.
  4. Include a real piece of feedback you received and the specific change you made afterwards.
  5. Avoid saying you get along with everyone, and avoid stories where the team was simply wrong.
Follow-up
  • What did you do when you disagreed with a team norm?
  • Describe feedback that was hard to hear and what you changed.
  • How do you set expectations with a new teammate when they are unclear?
  • 01

    What is your experience with data structure development?

  • 02

    What makes you think we need you in our company?

  • 03

    Can you talk about your previous professional experiences?

  • 04

    What were the business analyst habits you observed in your previous roles?

  • 05

    How do you handle work culture and team expectations?

  • 06

    Tell me about feedback you received and what you changed afterwards.

PracHub preparation framework ↗
How many rounds are there and how long does it take?

Candidates report four rounds, Initial Screening, Technical Assessment, Behavioral Interview and Final Assessment, over about 3-5 weeks. Timelines can differ by team and location.

ASD Software Engineer candidate reports ↗
What kinds of technical questions do candidates report?

Language proficiency, DSA principles, SAPUI5 versus OpenUI5, database management, building high-performance software, a recent-project walk-through, the Traveling Salesman Problem and a manhole-cover brain teaser. The reports do not tie each question to a round, so prepare all of them.

ASD Software Engineer candidate reports ↗
Do I need to know SAPUI5, OpenUI5 or MBSE?

Candidates list SAPUI5/OpenUI5 familiarity and systems engineering experience as nice-to-have, and the topic breakdown includes MBSE. Prepare a short comparison of SAPUI5 and OpenUI5 and a plain definition of MBSE, where models rather than documents carry the requirements, structure and behavior of a system.

ASD Software Engineer candidate reports ↗
Is there a take-home assignment?

No take-home is reported. Candidates describe coding challenges and technical evaluations in the Technical Assessment, and formats elsewhere in the loop that range from aptitude tests to coding rounds.

ASD Software Engineer candidate reports ↗
How should I prepare for the brain teaser?

Do not memorize an answer. List criteria, such as safety, ease of handling and manufacturing, test alternatives against each, and state your conclusion. Say your reasoning aloud as you go.

PracHub Software Engineer practice ↗
How should I prepare for the behavioral rounds?

Build stories from your own work: a technical decision, a late requirement change, feedback you acted on and a team norm you adapted to. Keep each focused on what you did and the outcome, and rehearse the reported questions about your experience, why the company needs you, business analyst habits and team expectations.

ASD 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.