Alter Domus · Software Engineer
Updated · 2026-10-02

Alter Domus Software Engineer
Interview Guide

THE 60-SECOND BRIEF

Candidates describe Alter Domus as a firm serving asset managers in the alternative investment industry, with a workforce of more than 6,000 people spread over 24 jurisdictions. The role reported under this listing is Senior System Engineer, specializing in Microsoft 365. The work spans Exchange Online, Intune, Entra ID and Defender XDR, with Active Directory and Group Policy on the requirements list. Reported responsibilities include running the Defender XDR environment, following CIS standards, matching licence purchases to actual usage, and writing the training and documentation that Level 1 and Level 2 support teams rely on.

This guide is for candidates preparing for the Alter Domus role filed under Software Engineer but described by candidates as a Senior System Engineer position on Microsoft 365. It is an administration and security role, not an application-development one. The guide covers the four reported questions (mail flow troubleshooting, Conditional Access, Intune compliance and baselines, PowerShell or Graph automation), the ownership and documentation stories candidates say matter, and a plan to rehearse all of it. Candidates report a requirement of at least 6 years of IT experience, with JAMF for Apple devices and multi-jurisdiction experience listed as extras.

No round count, order or format is reported. Candidates describe a mix of technical screening, deeper architecture discussion and behavioral assessment, all anchored in Microsoft 365 administration and security.

Microsoft 365 AdministrationMicrosoft Entra IDExchange Online

28 min read

Browse Software Engineer questions

See the practice prompts

11Practice promptsAcross five skill areas

The reported work is tenant-level administration for a large, regulated organisation: Exchange Online mail flow, Entra ID identity, Intune device management and Defender XDR, automated with PowerShell and the Graph API. The four reported questions follow that split. One is a troubleshooting scenario, one is a policy-design question, one asks about your Intune experience, and one asks how you automate bulk administrative work. Answers built from real tenant changes are easier to defend than lists of features.

Build a one-page map for each area before you rehearse. For Exchange: hybrid configuration, connectors, transport rules, message trace and header analysis. For identity: Entra ID, MFA, identity protection and Conditional Access. For endpoints: Intune compliance policies and security baselines. For security: Defender for Office 365 and Defender for Endpoint configuration, XDR incident triage, and Purview data loss prevention. For automation: PowerShell and Graph for lifecycle tasks and bulk provisioning. Active Directory and Group Policy are also on the must-have list, so prepare the hybrid side: Entra Connect or Cloud Sync scope and source of authority, hybrid join, and moving GPOs to Intune with Group Policy analytics or co-management.

Candidates stress autonomy and documentation for this role: owning a project from implementation through to write-up, explaining technical choices to non-technical stakeholders, and training Level 1 and Level 2 support. Prepare two or three initiatives where you can show the runbook, change record or training material you left behind, and be ready to say why you chose one configuration over the alternatives. Candidates also suggest asking the team about tenant migration or security hardening challenges, so write your own questions on those topics.

01

Preparation focus

editorial

Candidates describe a mix of technical screening, deeper architecture discussion and behavioral assessment, without a stated order, count or duration. Confirm the format with your recruiter, in particular whether you will be asked to write or talk through PowerShell. The reported technical questions cover mail flow troubleshooting with connectors and transport rules, Conditional Access policy design, Intune compliance and security baselines, and PowerShell or Graph automation. Prepare each as a spoken walkthrough: state the situation, the tools you use, the decision and why, and how you verified the result. Candidates also report that questions about security incidents and projects suit the STAR format.

What to demonstrate

  • Working fluency across Exchange Online, Entra ID, Intune and Conditional Access, and how they interact in a global tenant
  • A stepwise diagnostic approach that names real tools, such as message trace and header analysis, and shows how a fix is validated
  • Ability to automate administrative and bulk provisioning work with PowerShell or the Graph API
  • Clear explanation for non-technical audiences, and documentation of your own work

How to prepare

  • Write a mail flow checklist you can say aloud: scope the failure, run a message trace, read the headers, check connectors, then check transport rule order
  • Sketch a Conditional Access policy set on paper, including report-only testing, emergency-access exclusions and the grant controls you would require
  • Prepare one Intune story with its compliance policy settings, baseline rollout steps and a before-and-after measure
  • Outline a bulk-provisioning script in PowerShell or Graph, including input validation, dry-run mode, error handling and logging
PracHub preparation framework ↗

PracHub editorial advice for the preparation topics above.

01

Answering the mail flow question with "I would check the connector" and no order of operations

Give a fixed sequence: scope the failure (one sender or all, inbound or outbound, the NDR code), run a message trace, read the headers, check the relevant connector, then check transport rule priority and whether a rule stops further processing. Finish with how you confirm the fix, such as a fresh test message and a second trace.

02

Describing Conditional Access as "require MFA for everyone" with no mention of what it could break

Name the safeguards: report-only mode before enforcement, emergency-access accounts excluded, legacy authentication handled, named locations or device state as conditions, and a phased rollout. Then say where you relax a control to protect productivity and why.

03

Telling an Intune story with no scope, no numbers and no rollback path

State the device count and platforms, the pilot group, the compliance or baseline settings you changed, how you saw conflicts, and what you measured afterwards. Say what you would have reverted had the pilot failed.

04

Saying you automated tasks with PowerShell or Graph without describing how the script behaves when something goes wrong

Cover input validation, a dry-run or -WhatIf mode, least-privilege permissions for the app or account, handling throttling and partial failures, and a log someone else can read. Be ready to outline the script aloud or on paper.

05

Explaining what you configured but not why, and having no documentation to show for it

For each answer, name the alternative you rejected and the reason. Bring one or two artefacts from past work, such as a runbook, change record or support-team guide, because candidates stress documentation for this senior role.

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

8 technical prompts0 include a worked solution

Merge partitioned event streams into one ordered feed with bounded lateness

hard
k-way mergewatermarksout-of-order streams

The read-model service consumes 64 log partitions carrying about 4,000 events per second in total. Each partition is ordered within itself, but partitions drift by up to 30 seconds, and the activity feed must present a tenant's events in occurred_at order. Produce the merge. State its complexity, the buffer it requires in events and in bytes, what happens when one partition is idle, and what you do with an event that arrives after you have already emitted its position. Payloads average 1 KB.

Approach
  1. Merge with a min-heap over the 64 partition heads keyed on (occurred_at, event_id): O(log P) per event and O(n log P) overall. The tie-break on event_id is what makes the output deterministic when two partitions carry the same millisecond, which matters because the feed is paginated and a non-deterministic order reorders pages under the reader.
  2. Emitting the heap head is only correct once every partition has produced everything up to that timestamp, so the emit condition is a watermark: the minimum across partitions of the highest occurred_at seen, less the allowed lateness. Events are held until the watermark passes them, which is what turns individually ordered streams into a jointly ordered one.
  3. Size the buffer from the lateness rather than guessing: 4,000 events per second times 30 seconds is 120,000 buffered events, and at 1 KB each about 120 MB of heap. That number is the real price of the ordering guarantee and belongs in front of whoever asked for it.
  4. Handle the idle partition explicitly, because it fails the feed rather than corrupting it: a partition with no traffic never advances its own maximum, so the watermark freezes and output stops entirely. Either every partition emits a periodic idle marker carrying the broker's current time, or the watermark falls back to wall clock for a partition silent beyond a threshold.
Follow-up
  • The lateness budget is raised to five minutes. What is the new buffer, and what besides memory changes?
  • The consumer restarts. Where does it resume from, and what does the feed look like for the first 30 seconds?

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?

Diff a projection against the primary without per-row point reads

hard
reconciliationrange hashingthrottling

The listing projection has drifted and some rows show a stale version. The primary holds 40,000,000 resource rows across 12,000 tenants while serving 1,200 writes and 14,000 reads per second. The obvious repair, reading each resource row and comparing its version against the projection, is correct and would eventually finish. Explain precisely why it is unacceptable here, then give a diff that finds the differing rows, state its complexity, and make it safe to run against a live primary. Replication lag is usually under 100 ms and is not bounded.

Approach
  1. Quantify the naive cost rather than calling it slow: 40,000,000 point reads at even 0.5 ms each is over five hours serialised, and the only lever is concurrency, which is exactly what you cannot spend. The primary's pool is sized for the write path, and 40,000,000 random reads evict the buffer cache that sustains the 85 percent cache hit rate, so the audit degrades the system it is auditing.
  2. Replace random access with one ordered pass per side. Both sides can be read in (tenant_id, resource_id) order, which is a sequential scan on each and a merge join in O(n) time and O(1) memory. For a dense diff that is the whole answer, and it reads the primary once instead of 40,000,000 times.
  3. For the expected sparse case, compare range hashes instead of rows: partition the key space, compute per range an order-independent aggregate over hash(resource_id, version), compare aggregates, and descend only into ranges that differ. With d differing rows and branching factor B, at most d ranges mismatch per level, so the drill-down examines O(d log_B(n/d)) ranges and reads full rows only in mismatching leaves.
  4. Aggregate with a sum modulo 2^64 or a multiset hash, never XOR. XOR is order-independent but self-cancelling, so two rows wrong in the same way, or a row duplicated on one side, leave the range aggregate matching and the range is declared clean.
Follow-up
  • The diff reports 900 stale rows. How do you decide between patching those rows and rebuilding the projection from resource_revision?
  • Same job, but the projection lives in a search index that cannot be scanned in key order. What changes?

Day 1 confirms the format with your recruiter and maps the stack. Days 2 to 5 take one reported question each: Exchange mail flow, Conditional Access with the hybrid identity side, Intune with GPO migration, and PowerShell or Graph automation. Day 6 covers Defender XDR, DLP and security stories, and day 7 is a spoken mock.

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 stack and confirm the format
  • Ask your recruiter for the sequence of stages, whether you will write or discuss PowerShell, and whether a technical screen comes first.
  • Write a one-page map of the areas candidates report: Exchange Online, Entra ID, Intune, Conditional Access, Defender XDR, DLP, Active Directory and Group Policy, PowerShell and Graph.
  • Mark each area as strong, rusty or untouched, and list the three real projects you will draw examples from.

Deliverable: A written format confirmation from your recruiter, a one-page stack map with strengths marked, and a list of three projects.

02Exchange Online mail flow troubleshooting
  • Write your troubleshooting sequence for the mail flow question: scope the failure, run a message trace, read headers, check connectors, then check transport rule order and stop-processing settings.
  • In a test tenant you control, create a transport rule and a connector, break each on purpose, and find the fault using message trace and the message headers.
  • Say your answer aloud for a hybrid scenario, covering where on-premises routing could be the cause.

Deliverable: A mail flow checklist, a short log of the two faults you created and found, and one spoken answer to the mail flow question.

Practice prompt ↗
03Entra ID, hybrid identity and Conditional Access
  • Design a Conditional Access policy set for a mixed estate on paper: MFA, legacy authentication, device state and location conditions, with emergency-access accounts excluded.
  • Write how you would roll it out: report-only mode, sign-in log review, a pilot group, then wider enforcement.
  • Review the hybrid identity side: Entra Connect versus Cloud Sync, sync scope by OU or group, which attributes stay mastered in on-premises AD, and how Entra hybrid join is configured and verified.
  • Answer the Conditional Access question aloud, explaining where you trade strictness for productivity and why.

Deliverable: A policy table with conditions, grant controls and rollout order, a short hybrid identity summary, and one spoken answer to the Conditional Access question.

Practice prompt ↗
04Intune compliance, baselines and GPO migration
  • List the compliance settings you would set per platform and the noncompliance actions with their grace periods, and show how compliance links to Conditional Access.
  • Write the baseline rollout steps you use: pilot group, conflict review, exception tracking, widening rings, version updates.
  • Prepare the Group Policy side: import GPO backups into Group Policy analytics to see MDM support, plan co-management workload shifts, and have one GPO versus Intune conflict ready, such as a setting where GPO won until MDMWinsOverGP was set or the GPO was unlinked.
  • Write your Intune story in STAR format with scope, decisions, a measured result and the handover documentation.

Deliverable: A compliance and baseline rollout outline, a GPO migration note with one conflict and its fix, and one STAR story with at least one real number.

Practice prompt ↗
05PowerShell and Graph automation
  • Outline a bulk-provisioning script that reads a CSV, validates each row, creates or updates users through Graph, logs every result and supports a dry run.
  • Write down how it handles throttling, partial failures and re-runs, and which permissions the app or account needs.
  • Prepare a real automation example from your own work, with the manual effort it replaced.

Deliverable: A script outline with error handling and logging, plus one spoken answer to the automation question.

Practice prompt ↗
06Defender XDR, DLP and security stories
  • Defender for Office 365: compare the Standard and Strict preset policies, then cover anti-phishing impersonation protection, Safe Links and Safe Attachments. Defender for Endpoint: onboarding through an Intune EDR policy and the Intune connector, and ASR rules moved from audit to block mode after review.
  • Walk through triaging one XDR incident (alert correlation, affected user and device, isolation or remediation, closure note), then a Purview DLP policy run in simulation mode before enforcement. Map one setting from each area to a CIS Microsoft 365 benchmark control.
  • Practise one question aloud, for example how you would harden email against phishing: start from a preset policy, add impersonation protection for executives and domains, enable Safe Links and Safe Attachments, check results in Threat Explorer, compare against CIS, and record exceptions.
  • Write STAR stories for a security incident or hardening project and for an initiative you owned end to end, then do two PracHub practice behavioral prompts aloud.

Deliverable: A Defender and DLP summary with CIS mappings, one spoken answer on phishing hardening, two STAR stories with their documentation named, and two spoken practice answers.

Practice prompt ↗Practice prompt ↗
07Full spoken mock and questions to ask
  • Answer the four reported questions back to back, aloud, and record yourself.
  • Replay the recording and mark any answer that lacks an order of steps, a reason for a choice or a measure.
  • Explain one Conditional Access or mail flow change in plain language, as you would to a non-technical stakeholder.
  • Write two questions for the team about tenant migration or security hardening, as candidates suggest.

Deliverable: One recorded mock covering all four reported questions, a list of fixes, a plain-language explanation of one change, and two questions to ask the team.

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

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

Candidates report behavioral assessment as part of the loop and recommend the STAR format, especially for security incidents and projects. They also describe ownership from implementation to documentation, mentoring others and explaining technical choices to non-technical stakeholders. Prepare stories where you made the decision, name the alternative you rejected, and show the documentation you left.

Describe your experience with Intune—specifically, how do you handle device compliance and the deployment of s

medium
Technical & Domain Expertise

Describe your experience with Intune—specifically, how do you handle device compliance and the deployment of security baselines?

Approach
  1. Answer the "how do you handle" half with a repeatable process, then anchor it in one real Intune programme you owned. Give the scope in two sentences: platforms, rough device count and who was affected. Spend the rest on your decisions, speaking as "I" for the parts you personally decided and naming teammates for the parts you did not.
  2. For compliance, name the policy content: encryption, minimum OS version, passcode rules, a Defender-reported device risk level, and jailbreak or root detection. Then cover noncompliance actions: a grace period, user notification, and what happens after it ends. Explain how compliance feeds Conditional Access through a require-compliant-device grant, and why you check compliance reporting is healthy before enforcing it, so you do not lock out users.
  3. For security baselines, describe the rollout: assign the baseline to a pilot group, review per-setting status and conflicts with existing configuration profiles, record each exception with an owner, then widen in rings. Say how you handle baseline version updates and, if it applies, how you mapped settings to CIS standards. Keep the same structure for Apple devices only if you have real JAMF or Apple experience.
  4. Close with results and the artefacts you left. Quote measures you really have: compliance rate before and after, devices blocked, tickets raised. Mention the runbook or training you gave Level 1 and Level 2 support. Stories are stronger when they include a decision, a number and a documented handover.
Follow-up
  • A user in your pilot group was blocked from email after their device went noncompliant. How did you diagnose it and what did you change?
  • How do you handle a device or team that cannot meet a baseline setting?
  • What would you do differently if you ran that rollout again?

Argue against a design, lose, and commit anyway

medium
disagreementservice boundariesdecision records

Describe a design you argued against and lost. State the failure you predicted as a named mechanism, not a feeling about complexity: two services that would need one transaction, a projection with no rebuild path, a write path with no idempotency key. Say what evidence you brought, what the decision maker weighed instead, and what you did after the decision was made: what you instrumented, what you wrote down, and whether the prediction came true. Five minutes.

Approach
  1. State the prediction in falsifiable form up front: the mechanism, the condition that triggers it, and the observable outcome. A prediction that cannot be checked also cannot be credited to you later.
  2. Show the evidence you had at the time and label each piece honestly as measured, analogous, or intuition. Keeping the intuition is fine; disguising it as data is the thing that erodes your standing in the next argument.
  3. Represent the opposing case at full strength, including the constraint you did not control: a fixed date, a team boundary, or the fact that the decision was cheap to reverse and yours was not.
  4. Make disagree-and-commit concrete. Name the artefact you left behind so the prediction could be settled without you: the alert and its threshold, the counter on the dashboard, the decision note that recorded the trade-off and the condition that would revisit it.
Follow-up
  • What threshold on that alert would have proved you right, and did anyone ever look at it?
  • If the same proposal arrived tomorrow with the same deadline, would you argue it the same way?

Narrate an outage you owned from page to postmortem

hard
incident responseblast radiuspostmortems

Pick an incident you personally drove, ideally one where writes were affected rather than reads. In six to eight minutes: state the symptom as it first appeared on a dashboard, the blast radius you established before you knew the cause, the mitigation you applied and when, the mechanism you eventually proved, and the follow-up that would prevent a repeat. Bring numbers: error rate, tenants affected, minutes to mitigate, minutes to resolve. If you cannot name what you measured, choose a different incident.

Approach
  1. Open on the signal rather than the cause: which metric at which percentile moved, on which service, at what time, so the listener follows the same evidence you had rather than a conclusion you already reached.
  2. Separate mitigation from diagnosis out loud. State what you did to stop the bleeding (flag off, shed traffic, drain a lease, roll back a deploy) and say plainly that you did it before the mechanism was known, because those are two jobs with different deadlines.
  3. Establish blast radius in countable terms: how many tenants, how many writes, and crucially whether the effect was loss or only delay. An append-only revision table or a pending outbox row means the change survived and the projection was merely behind, which is a repair rather than a data-loss incident.
  4. Prove the mechanism instead of asserting it. Name the trace span that grew, the plan that flipped to a sequential scan, the lease that expired, plus one alternative you ruled out and the signal that stayed flat while you ruled it out.
Follow-up
  • What would you do differently in the first five minutes, given the same dashboard and no more information?
  • Which follow-up action did you deliberately not take, and why was dropping it the right call?
  • 01

    Describe your experience with Intune—specifically, how do you handle device compliance and the deployment of security baselines?

  • 02

    Walk through an IT initiative you owned from implementation to documentation. What did you leave behind for the support team?

  • 03

    Describe a security incident or hardening project you handled. How did you confirm the fix worked?

  • 04

    Tell me about a time you explained a Conditional Access or mail flow change to a non-technical stakeholder.

  • 05

    Describe a configuration or protocol choice where you picked one option over alternatives, and explain why.

PracHub preparation framework ↗
How technical are the interviews?

Candidates call them highly technical. Reports point to transport rules, message headers and security settings as the main topics. Prepare to name tools and settings, not only concepts: message trace, connectors, Conditional Access grant controls, Intune compliance policies.

Alter Domus Software Engineer candidate reports ↗
Is there a coding requirement?

The role is not software development, yet PowerShell and Graph knowledge matter for it, and candidates report being asked how they automate tasks. Prepare a script outline for bulk provisioning and a real example from your own work. Ask your recruiter whether you will be asked to write code.

Alter Domus Software Engineer candidate reports ↗
What topics are reported for this loop?

Reported topics are Microsoft 365 administration, Entra ID, Exchange Online, Intune, Conditional Access, Defender, and message trace. Requirements candidates describe also name PowerShell, the Graph API, Active Directory and Group Policy. JAMF for Apple devices is listed as a nice-to-have.

Alter Domus Software Engineer candidate reports ↗
Why is a Microsoft 365 role listed under Software Engineer?

The reported questions and role description describe a Senior System Engineer position focused on Microsoft 365, not application development. Prepare for administration, security and automation rather than data structures and algorithms, and confirm the exact title and format with your recruiter.

PracHub Software Engineer practice ↗
How should I structure my answers?

Candidates recommend the STAR format for behavioral questions, particularly about security incidents and projects. For technical questions, state your diagnostic or design steps in order and explain why you chose a configuration over the alternatives. Close each answer with how you validated the result.

PracHub Software Engineer practice ↗
How much does documentation matter?

Candidates stress it for this senior role: owning work from implementation through to documentation, and writing training material for Level 1 and Level 2 support. Bring examples such as a runbook or change record, and be ready to say who used it afterwards.

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.