Ais · Software Engineer
Updated · 2026-10-02

Ais Software Engineer
Interview Guide

THE 60-SECOND BRIEF

Ais is a telecommunications and digital services provider with consumer and enterprise products. Candidates describe the Software Engineer role as mostly back-end work: building and running the server-side services, APIs and databases behind those products, watching system performance, handling production incidents, applying security and data-protection measures, and shipping through continuous integration and deployment. The requirements candidates list include one or more backend languages (Java, Python, Node.js or Go), relational and non-relational databases, and RESTful API design. Telecom or ISP experience, a cloud platform (AWS, Azure or GCP) and Docker or Kubernetes are listed as nice to have. Candidates also mention projects that cross departments, with product teams, network engineers, QA and business units as the people a backend engineer works with.

This guide is for backend-leaning software engineers applying to Ais at junior, mid or senior level. It covers both halves of the reported process. The first is the standardized testing phase: logic sequences, percentage arithmetic, situational-judgment (EQ) items and an English summary task. The second is the panel, where you explain backend decisions out loud: zero-downtime database migrations, a high-volume SMS notification system, API testing strategy and a production incident story. Then come the HR questions on preferences, priorities and career goals. It ends with what to have ready for the offer discussion.

Candidates report three stages over roughly 3-5 weeks: an Assessment Phase of standardized tests, a single Panel Interview with technical managers, cross-departmental supervisors and HR, and an Offer Discussion with HR.

Application Development & IntegrationThird-Party Component Integration (Programmatic)Large-Scale Data Processing

33 min read

Browse Software Engineer questions

See the practice prompts

17Practice promptsAcross five skill areas

The Ais process does not follow the usual multi-round coding loop. Candidates report that it opens with a block of standardized tests: IQ, EQ, general aptitude and, in some cases, an English communication test and a long psychometric questionnaire. They also report that you must pass these tests before you get a panel invitation. Your resume does not count until then, so treat timed puzzle practice as real preparation, not an afterthought.

The panel that follows mixes technical managers, supervisors from other departments and an HR representative. Candidates describe it as more conversation than live coding: you explain how you would run a schema change without downtime, sketch an SMS delivery pipeline that handles millions of messages a day, describe how you test your APIs and walk through a production bug you fixed. Because part of the panel is non-technical, every technical answer needs two layers. Give the mechanism (expand-and-contract migrations, queues with idempotent workers, a test pyramid) and the user impact in one plain sentence.

The behavioral half of the panel is unusually direct about logistics and preferences. Reported questions ask what daily tasks you want, how you choose between requests from supervisors in different departments, how you used feedback, and why you want to move to Ais. Prepare these as seriously as the system design question. Settle your own answers about role preferences, working arrangements and salary before the panel, because the offer discussion with HR picks up the same topics.

For the technical content, use the stack candidates list for the role. Pick one backend language you can talk about fluently (Java, Python, Node.js or Go), know one relational and one non-relational database well enough to explain locking, indexing and consistency, and be able to describe how a containerized service moves through CI/CD to production.

01

Assessment Phase

reported

Candidates describe this stage as a set of standardized tests: IQ (pattern and sequence reasoning), EQ (situational judgment about colleagues and conflict), general aptitude (arithmetic and data interpretation) and, for some candidates, an English communication test and a psychometric personality questionnaire. Some also mention a short technical knowledge test, and candidates report that it covers the baseline coding checks rather than the panel. The reported questions for this phase are a missing-shape sequence, a request-growth percentage calculation, an empathy judgment item and a technical-passage summary. Candidates report that passing these tests is required before a panel invitation. Approach it as a speed-and-accuracy exercise: have a fixed checklist for pattern items, do percentage arithmetic without a calculator, and answer judgment and personality items the same way throughout, not the way you guess is wanted.

What to demonstrate

  • Pattern recognition on shape sequences and matrices under a time limit
  • Arithmetic and percentage reasoning, such as compounding growth in request load
  • Situational judgment about teammates, deadlines and disagreement (the EQ items)
  • Reading a technical passage in English and restating its core problem in your own words

How to prepare

  • Do three timed sets of sequence and 3x3 matrix puzzles, using the attribute checklist (count, rotation, reflection, shading, position) from the missing-shape question
  • Drill compound-percentage arithmetic: 1.15^3, doubling time with the rule of 72, and the hour at which load crosses a capacity limit
  • Work through situational-judgment sets and write down why the best option combines empathy with a concrete recovery plan
  • Summarize two architecture blog posts or incident reports in three sentences each, without reusing their phrasing
Ais Software Engineer candidate reports ↗
02

Panel Interview

reported

Candidates report a single panel of two to three people, usually technical managers plus an HR representative, with cross-departmental supervisors in some panels, lasting 30 to 60 minutes. Candidates say it centres on practical experience, how your background matches the job description, and your career preferences, with little or no live coding. The reported technical questions cover zero-downtime database migrations, designing a backend for millions of daily SMS notifications, API unit and integration testing, and a severe production bug. The reported HR questions cover job preferences, conflicting priorities between departments, constructive feedback, and why you want to join Ais. Because one panel holds both audiences, structure each technical answer as a one-sentence summary, then the mechanism, then the result or risk in business terms, so that the non-engineers can follow it too.

What to demonstrate

  • Backend knowledge explained without a compiler: schema migrations, queue-based system design, API testing
  • Real production experience, told as a clear diagnosis-and-fix story
  • Communicating with a mixed technical and non-technical panel in English
  • Fit between your stated preferences and goals and the role's reported duties

How to prepare

  • Rehearse a single-diagram SMS notification design: API, durable queue, priority lanes, idempotent workers, gateway rate limits, delivery receipts
  • Explain the expand-and-contract migration sequence aloud in under two minutes, including lock timeouts and batched backfills
  • Write a STAR outline for one production incident and one feedback story, each with a measurable result
  • Write one-paragraph answers on preferred daily tasks, handling competing supervisor requests, and why Ais, and say them aloud
Ais Software Engineer candidate reports ↗
03

Offer Discussion

reported

Candidates report that HR contacts successful panel candidates to discuss salary expectations, benefits and contract details. Nothing is reported about technical content at this stage. Treat it as a negotiation and a fact-finding call. Arrive with a researched range for your level and location, your priorities among benefits and working arrangements, and the contract questions you need answered before you accept. Your answers should match the preferences you gave the panel, since HR asks about preferences there too.

What to demonstrate

  • Clarity and consistency of your salary expectations and priorities
  • Understanding of the contract terms and benefits you are offered

How to prepare

  • Research a salary range for your level and city from independent sources and decide your floor before the call
  • List the benefits and contract points you need answered: contract type, probation, working arrangement, start date
  • Reread your panel answers on job preferences and career goals so your offer-stage requests match them
Ais Software Engineer candidate reports ↗

PracHub editorial advice for the preparation topics above.

01

Treating the IQ, EQ and aptitude tests as a formality and arriving without timed practice

Candidates report that the tests gate the panel. Do timed sets of sequence puzzles and percentage arithmetic beforehand, have a per-item time budget, and arrive rested, because the full battery can run for several hours.

02

Answering the SMS design or migration question with a list of technologies and no flow

Walk the request path in order: API, idempotency key, queue, priority lanes, workers, gateway, delivery receipts. For migrations: expand, dual-write, backfill, switch reads, contract. Name one failure mode for each step and how you handle it.

03

Losing the non-technical half of the panel with jargon

Open each technical answer with one plain sentence of user or business impact before the mechanism. Example: 'I needed to change the schema without users seeing errors, so I did it in five reversible steps.' Practise this on someone outside engineering.

04

A production-bug story that skips mitigation or credits the team with every action

Say what you did to stop the impact first (rollback, flag, failover), then the diagnosis sequence, then the guard you added. Use 'I' for your own actions and give at least one number for impact or recovery.

05

Vague or inconsistent answers about job preferences, priorities and career goals

Write down your preferred daily work, your flexibility, your three-to-five-year goal and your salary range before the panel. HR asks about preferences in the panel and returns to salary and benefits at the offer stage, so the answers must match.

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 your primary preferences regarding your job description and daily tasks?

medium
Behavioral and HR (Panel Interview)

What are your primary preferences regarding your job description and daily tasks?

Approach
  1. Base your answer on the duties candidates report for the role: backend services and APIs, database work, performance monitoring, production troubleshooting, CI/CD and cross-department projects. Say which of these you most want to own and give a recent example of doing it.
  2. Give a real preference with a reason, for example 'I want most of my week on API and data-layer work, and I am comfortable sharing production support.' Avoid 'anything is fine', which tells the panel nothing.
  3. State your flexibility explicitly: what you are happy to pick up (QA collaboration, some front-end integration, learning telecom domain knowledge) and what you would want to grow toward.
  4. Have your logistics answers ready (working arrangement, location, start date), since HR on the panel may ask about them, and keep them consistent with what you will say at the offer stage.
Follow-up
  • Which of the role's tasks would you enjoy least?
  • How do you feel about handling production issues outside working hours?
  • Would you be open to working on front-end integration if the team needed it?

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?

Canonicalise a request body into a stable idempotency fingerprint

medium
parsingcanonicalisationhashing

idempotency_key.request_fingerprint is a SHA-256 over the method, path and canonicalised body, and a retry whose fingerprint differs must be rejected with 422 rather than served the stored response. Write the canonicaliser. Bodies are JSON up to 256 KB nested at most 32 levels; clients vary key order, whitespace and unicode escaping, and some send 64-bit ids as JSON numbers. Produce a deterministic byte string such that semantically identical bodies match and any semantic difference does not. State your complexity and name two normalisations you refuse to perform.

Approach
  1. Parse once into a tree, then re-serialise under fixed rules: object keys sorted, array order preserved, one escaping convention, no insignificant whitespace. Parsing is O(n) and sorting keys is O(k log k) per object, so O(n log n) overall with O(depth) stack, and the 32-level cap is enforced during parsing because hostile nesting is how a canonicaliser becomes a stack overflow.
  2. Sort keys by their UTF-8 bytes and say why the obvious implementation is wrong in some runtimes: a default string comparison that orders by UTF-16 code units places surrogate pairs, meaning code points from U+10000 up, below U+E000 to U+FFFF, which is not UTF-8 byte order, so two services written in different languages disagree on the same document.
  3. Do not re-encode numbers through a double. IEEE-754 binary64 represents integers exactly only up to 2^53, so normalising a 19-digit id through a float changes it, and 1 against 1.0 cannot be reconciled without deciding whether they are the same value. Preserve the literal token, and require ids as strings at the API boundary if you want them comparable.
  4. Reject duplicate keys rather than picking one. JSON permits them and parsers disagree, most keeping the last, so any choice you make ties the fingerprint to a parser detail that the code handling the request does not necessarily share.
Follow-up
  • A client sends the same logical request with an extra field your API ignores. Same key, different fingerprint, so you return 422. Is that the right answer?
  • Where does the fingerprint get computed relative to request decompression and the body-size limit?

Days 1-2 cover the reported testing phase, days 3-5 the reported technical panel questions with the related practice problems, day 6 the HR questions, and day 7 a full mock panel plus offer preparation.

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
01Logic sequences and percentage arithmetic
  • Do two timed sets of shape-sequence and 3x3 matrix puzzles, writing which attribute rule solved each item
  • Solve the request-growth question both ways (compound and linear) and write why compound is the right reading
  • Drill ten compound-growth and doubling-time problems without a calculator, using the rule of 72

Deliverable: An attribute checklist for pattern items, a worked solution to the request-growth question, and a scored drill sheet

Practice prompt ↗Practice prompt ↗
02Situational judgment and the English summary
  • Work through a situational-judgment set, including the missed-deadline empathy item, and justify each best answer in one line
  • Summarize two technical articles or incident reports in three sentences each: system, root problem, consequence
  • Proofread both summaries for grammar and tense, then rewrite the weaker one

Deliverable: Annotated judgment-item answers and two edited three-sentence technical summaries

Practice prompt ↗Practice prompt ↗
03Zero-downtime migrations and live backfills
  • Write the expand-and-contract sequence for renaming a column on a large table, with the lock and rollback notes for each step
  • Work the practice problem on denormalising tenant onto revisions and backfilling it live
  • Work the practice problems on a table that stalls mid-deploy and on holding a per-tenant cap under concurrent creates

Deliverable: A one-page migration runbook plus written solutions to the three practice problems

Practice prompt ↗Practice prompt ↗Practice prompt ↗Practice prompt ↗
04SMS notification system design
  • Draw the SMS design: API, idempotency store, queues with priority lanes, workers, gateway rate limits, delivery receipts, status store
  • Do the sizing math for 10 million messages a day and write your peak assumption
  • Work the practice problem on canonicalising a request body into an idempotency fingerprint, and connect it to OTP dedupe

Deliverable: An annotated design diagram, a sizing note and a written idempotency-fingerprint solution

Practice prompt ↗Practice prompt ↗
05API testing and the production incident story
  • Write your API test strategy in your main language: unit, integration with a containerized database, contract tests, tools
  • List the status-code and error cases you would test for one of your past endpoints
  • Write the STAR outline of your production-bug story: impact, mitigation, diagnosis sequence, fix, guard

Deliverable: A test-strategy page, an endpoint test-case list and a production-incident STAR outline

Practice prompt ↗Practice prompt ↗
06HR and cross-department questions
  • Write answers on preferred daily tasks and on why you want to move to Ais, with career goals
  • Write STAR stories for conflicting supervisor requests and for constructive feedback, each with a measured result
  • Record yourself giving all four answers in plain English and cut any filler

Deliverable: Four written answers and a recording of them

Practice prompt ↗Practice prompt ↗Practice prompt ↗Practice prompt ↗
07Mock panel and offer preparation
  • Run a mock panel with one technical and one non-technical listener: the SMS design, the migration question, the incident story and two HR questions
  • After each answer, ask the non-technical listener to repeat its impact back to you, and fix anything they could not
  • Write your salary range, benefit priorities and contract questions for the HR offer discussion

Deliverable: Mock-panel notes with fixes, plus a one-page offer-discussion checklist

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 report that the panel includes an HR representative and, in some cases, supervisors from other departments, and that its non-technical questions cover job preferences, competing requests between departments, feedback and motivation for joining. Prepare short STAR stories with measured results, and answers about preferences that stay consistent through to the offer discussion.

How do you handle database migrations with zero downtime?

medium
Technical and Back-End (Panel Interview)

How do you handle database migrations with zero downtime?

Approach
  1. Use expand and contract. Add the new column or table in a backward-compatible way, deploy code that writes to both old and new, backfill existing rows, switch reads to the new structure, stop writing the old one, and drop it in a later release.
  2. Each step must work with both the old and the new application versions, because during a rolling deploy both run at the same time. Never rename or drop a column in the same release that stops using it.
  3. Account for locks. In PostgreSQL most ALTER TABLE forms take an ACCESS EXCLUSIVE lock, so set a short lock_timeout to make the DDL fail fast instead of queueing behind a long transaction and blocking every query. Use CREATE INDEX CONCURRENTLY, and add NOT NULL via a CHECK constraint marked NOT VALID, then VALIDATE it. In MySQL, use online DDL or a tool such as gh-ost.
  4. Backfill in small batches keyed by primary key, with throttling, while watching replication lag and lock waits. Make the backfill idempotent so it can be restarted.
  5. Keep migrations versioned in a tool (Flyway, Liquibase, Alembic or similar), run them in CI against a production-like copy, and know the rollback for each step before running it.
Follow-up
  • How would you rename a column on a large, heavily written table?
  • Your backfill is causing replica lag. What do you change?
  • What is your rollback if a problem appears after the contract step has dropped the old column?

How do you prioritize tasks when receiving conflicting requests from different department supervisors?

medium
Behavioral and HR (Panel Interview)

How do you prioritize tasks when receiving conflicting requests from different department supervisors?

Approach
  1. Give the framework, then a real story. Make the conflict visible early instead of quietly choosing. For each request, find out the deadline, the business impact and who depends on it.
  2. Rank by impact and urgency, and by dependencies (what blocks other teams or customers). Bring the trade-off to both supervisors, or to your own manager, with a recommendation, so the people who own the priorities make the call.
  3. Confirm the agreed order in writing, give each requester a date, and look for partial delivery that unblocks the lower-priority request early.
  4. Avoid the two answers that sink this question: 'I just work overtime to do both' (it does not scale and hides the conflict) and siding with whoever is more senior or louder.
Follow-up
  • What if your own manager is unavailable and both deadlines are tomorrow?
  • What if both supervisors insist their request is top priority?
  • How did the supervisor whose request went second react, and what did you do about it?

Describe a time you received constructive feedback. How did you apply it?

medium
Behavioral and HR (Panel Interview)

Describe a time you received constructive feedback. How did you apply it?

Approach
  1. Choose feedback that was specific and uncomfortable but fair, such as code reviews that were too large to review, status updates that came too late, or explanations too technical for stakeholders. Avoid disguised strengths like 'I care too much'.
  2. Show your first reaction honestly, then how you checked your understanding: you asked for examples, or asked what good would look like.
  3. Describe the concrete change you made (smaller pull requests, a written weekly update, a summary-first format) and keep it as a habit.
  4. End with evidence that it worked: faster review turnaround, fewer escalations, or the same person noting the change. Without a result, the story only shows that you listened.
Follow-up
  • Tell me about feedback you disagreed with. What did you do?
  • How do you give constructive feedback to a peer?
  • What feedback are you working on right now?

Why do you want to transition to Ais, and what are your long-term career goals?

medium
Behavioral and HR (Panel Interview)

Why do you want to transition to Ais, and what are your long-term career goals?

Approach
  1. Give two or three reasons that are true for you and tied to what the role involves: backend systems serving a large telecom and digital-services user base, consumer and enterprise products, and cross-department projects. Avoid repeating company slogans.
  2. Connect your background to the move: the systems you have built (APIs, high-volume messaging, data pipelines) and what you want more of, such as larger scale, uptime responsibility or telecom domain depth.
  3. Set out goals over three to five years that fit a backend path, for example owning a service end to end, then leading the design of larger systems or mentoring. Keep them consistent with the preferences you gave earlier.
  4. Avoid answers that are only about salary or title, and avoid goals the role clearly does not offer, since HR on the panel weighs fit.
Follow-up
  • Why telecom specifically, rather than another industry?
  • Where do you see yourself if a management track is not available?
  • What would make you leave within the first year?
  • 01

    How do you prioritize tasks when receiving conflicting requests from different department supervisors?

  • 02

    Describe a time you received constructive feedback. How did you apply it?

  • 03

    Why do you want to transition to Ais, and what are your long-term career goals?

  • 04

    What are your primary preferences regarding your job description and daily tasks?

  • 05

    Describe a time you had to explain a complex technical limitation to a non-technical manager.

  • 06

    Tell us about a time you encountered a severe bug in production. How did you diagnose and fix it?

PracHub preparation framework ↗
How much do the IQ and EQ tests matter?

Candidates report that you must pass the IQ, EQ and aptitude tests to be invited to the panel, so they decide whether you are interviewed at all. Practise timed shape sequences, percentage arithmetic and situational-judgment items, and answer personality questions consistently.

Ais Software Engineer candidate reports ↗
What is the panel interview like?

Candidates describe one panel of two to three people, usually technical managers and an HR representative, sometimes with supervisors from other departments, lasting 30 to 60 minutes. Reported questions mix backend topics (migrations, SMS system design, API testing, a production bug) with HR questions on preferences, priorities, feedback and motivation.

Ais Software Engineer candidate reports ↗
Will I have to write code live?

Candidates report that the panel leans toward technical discussion, past experience and fit rather than live coding, and that baseline coding is covered by the technical assessment in the testing phase. Prepare to explain code and design decisions clearly without an editor, and keep your core language fluent for the assessment.

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

Candidates report about 3-5 weeks across three stages. The testing phase is the longest single block and can take several hours across the aptitude, English and psychometric parts. The panel is under an hour, and HR then contacts successful candidates about the offer.

Ais Software Engineer candidate reports ↗
Which technologies should I prepare?

The requirements candidates describe list a backend language (Java, Python, Node.js or Go), relational and non-relational databases, and RESTful API design. Cloud platforms (AWS, Azure or GCP), Docker and Kubernetes, and telecom or ISP experience are listed as nice to have. Go deep on one language and one SQL database: locking, indexing, migrations and testing.

PracHub Software Engineer practice ↗
Do I need telecom experience?

Candidates list telecom or ISP experience as a nice-to-have, not a requirement. If you lack it, prepare a few telecom-shaped examples, such as the SMS notification design with delivery receipts and rate-limited gateways, so you can show you can reason about that domain.

Ais Software Engineer candidate reports ↗
What happens at the offer stage?

Candidates report that HR discusses salary expectations, benefits and contract details after a successful panel. Research a range for your level and location independently, decide your floor, and list the contract and benefit questions you need answered before the call.

PracHub Software Engineer practice ↗
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.