cswork / libraryOpen practice workspace

Interview guides · Aetna

Aetna Software Engineer Interview Guide

Aetna Software Engineer interview guide: reported rounds, questions and how candidates describe the process.

The 60-second brief

A Software Engineer at Aetna, a CVS Health company, plays a pivotal role in designing, building, and maintaining the digital infrastructure that powers healthcare for millions of members. Operating at the intersection of technology and healthcare, engineers here are responsible for developing highly secure, scalable, and compliant software solutions. These systems handle massive datasets, power patient-facing applications, optimize claims processing, and support clinical decision-making tools. The work you do in this role has a direct, tangible impact on the accessibility and quality of healthcare. Whether you are optimizing a data pipeline using Hadoop, developing web services in Java, or building analytics dashboards with Python and Tableau, your contributions help streamline complex healthcare operations.

This guide is scoped to a Software Engineer candidate at Aetna.

Focus areas

  • Python
  • Coding Practice / Program Implementation
  • SQL

The Aetna interview process

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

Recruiter Phone Screen

Initial conversation focusing on your professional background, career goals, and compensation expectations.

What to demonstrate

  • Initial conversation focusing on your professional background, career goals, and compensation expectations
  • Depth in Python

How to prepare

  • Be able to walk your CV end to end in two minutes, and say why this company specifically.
  • Have your salary expectations, notice period and location constraints ready, and ask for the rest of the loop in writing.

Technical Screening

May consist of an automated coding assessment, recorded video interview, or live phone/video call with a hiring manager or senior engineer.

What to demonstrate

  • May consist of an automated coding assessment, recorded video interview, or live phone/video call with a hiring manager or senior engineer
  • Depth in Python

How to prepare

  • Answer aloud and timed: Explain how you would parse a large text file to extract specific data patterns using Python.
  • Answer aloud and timed: Solve a series of 3-4 coding challenges focusing on array manipulation and dictionary lookups within a limited timeframe.

Technical and Behavioral Interviews

Intensive interviews that may be conducted as a single half-day panel or spread across multiple sessions.

What to demonstrate

  • Intensive interviews that may be conducted as a single half-day panel or spread across multiple sessions
  • Depth in Python

How to prepare

  • Prepare three examples from your own work, each with a decision you made and an outcome you can quantify.
  • Re-read the description of the technical and behavioral interviews above and write down what you would ask to confirm before it.

Where candidates lose points

Clarify the Interview Format

Because different departments at Aetna run their own hiring processes, ask your recruiter for details on the format of upcoming rounds (e.g., live coding, panel Q&A, or system design).

Be Prepared for Panel Dynamics

Some technical rounds may involve a panel of multiple engineers. Remain calm, address each interviewer respectfully, and ensure you explain your thought process clearly to the entire group.

During panel interviews, some team members may keep their cameras off due to internal meetings or technical constraints

Do not let this distract you; focus on delivering clear, structured answers to their questions.

Questions & practice

Write a program to print all even numbers up to 100.

Medium · Coding & Algorithmic Foundations

Approach

  1. Restate the input: its shape, its size, and what is guaranteed about it.
  2. Name the brute-force solution and its complexity before improving on it.
  3. Choose the data structure from the access pattern, not from familiarity.
  4. State the target complexity and say which constraint rules the naive version out.

Follow-up

  • How does this change if the input no longer fits in memory?
  • What is the worst case, and how likely is it on real data?

Write a function to reverse a string in-place without using built-in library methods.

Medium · Coding & Algorithmic Foundations

Approach

  1. Restate the input: its shape, its size, and what is guaranteed about it.
  2. Name the brute-force solution and its complexity before improving on it.
  3. Choose the data structure from the access pattern, not from familiarity.
  4. State the target complexity and say which constraint rules the naive version out.

Follow-up

  • How does this change if the input no longer fits in memory?
  • What is the worst case, and how likely is it on real data?

Explain how you would parse a large text file to extract specific data patterns using Python.

Medium · Coding & Algorithmic Foundations

Approach

  1. Restate the input: its shape, its size, and what is guaranteed about it.
  2. Name the brute-force solution and its complexity before improving on it.
  3. Choose the data structure from the access pattern, not from familiarity.
  4. State the target complexity and say which constraint rules the naive version out.

Follow-up

  • How does this change if the input no longer fits in memory?
  • What is the worst case, and how likely is it on real data?

Solve a series of 3-4 coding challenges focusing on array manipulation and dictionary lookups within a limited

Medium · Coding & Algorithmic Foundations

Solve a series of 3-4 coding challenges focusing on array manipulation and dictionary lookups within a limited timeframe.

Approach

  1. Restate the input: its shape, its size, and what is guaranteed about it.
  2. Name the brute-force solution and its complexity before improving on it.
  3. Choose the data structure from the access pattern, not from familiarity.
  4. State the target complexity and say which constraint rules the naive version out.

Follow-up

  • How does this change if the input no longer fits in memory?
  • What is the worst case, and how likely is it on real data?

Write a SQL query to find the second-highest salary from an employee table, handling potential duplicate value

Medium · Data Engineering & Analytics

Write a SQL query to find the second-highest salary from an employee table, handling potential duplicate values.

Approach

  1. Name the grain you start from and join outward from it.
  2. Check whether any join is one-to-many before aggregating, or the sums inflate.
  3. Say which index the query would use, and what makes it unusable.
  4. Handle the rows that do not match: that is usually the actual question.

Follow-up

  • How does the query change if that join becomes one-to-many?
  • What happens to this when the table is ten times larger?

Explain the difference between an inner join, a left join, and a full outer join, and provide a scenario where

Medium · Data Engineering & Analytics

Explain the difference between an inner join, a left join, and a full outer join, and provide a scenario where you would use each.

Approach

  1. Name the grain you start from and join outward from it.
  2. Check whether any join is one-to-many before aggregating, or the sums inflate.
  3. Say which index the query would use, and what makes it unusable.
  4. Handle the rows that do not match: that is usually the actual question.

Follow-up

  • How does the query change if that join becomes one-to-many?
  • What happens to this when the table is ten times larger?

What are the core components of the Hadoop ecosystem, and how does MapReduce process large datasets?

Medium · Data Engineering & Analytics

Approach

  1. Clarify what is being asked and what a complete answer contains.
  2. State your assumptions explicitly before working the problem.
  3. Say what you would check first and why it is the highest-information step.
  4. Work from the requirement backwards to the design.

Follow-up

  • What assumption would you test first?
  • How would you know your answer was wrong?

How would you structure a data pipeline to feed clean data directly into a Tableau dashboard for business stak

Medium · Data Engineering & Analytics

How would you structure a data pipeline to feed clean data directly into a Tableau dashboard for business stakeholders?

Approach

  1. Clarify what is being asked and what a complete answer contains.
  2. State your assumptions explicitly before working the problem.
  3. Say what you would check first and why it is the highest-information step.
  4. Work from the requirement backwards to the design.

Follow-up

  • What assumption would you test first?
  • How would you know your answer was wrong?

Walk me through the architecture of a complex project you recently worked on. Why did you choose that specific

Medium · Technical Experience & System Architectu

Walk me through the architecture of a complex project you recently worked on. Why did you choose that specific tech stack?

Approach

  1. Fix the scope first: who calls this, how often, and what they do when it fails.
  2. Name the read and write paths separately; they rarely have the same bottleneck.
  3. Choose a partition key and say what query it makes expensive.
  4. State the consistency you need, and where you are willing to be stale.

Follow-up

  • What breaks first when traffic grows ten times?
  • How does this behave when that dependency is down for an hour?

How do you ensure data security and HIPAA compliance when designing software for healthcare applications?

Medium · Technical Experience & System Architectu

Approach

  1. Fix the scope first: who calls this, how often, and what they do when it fails.
  2. Name the read and write paths separately; they rarely have the same bottleneck.
  3. Choose a partition key and say what query it makes expensive.
  4. State the consistency you need, and where you are willing to be stale.

Follow-up

  • What breaks first when traffic grows ten times?
  • How does this behave when that dependency is down for an hour?

One customer endpoint stalls deliveries to every other destination

Medium · bulkhead · timeouts · saturation

The egress service delivers about 1.5k webhooks/second across 40,000 destinations, with a per-destination concurrency cap of 4 and a 10-second connect-plus-read timeout. Throughput falls to 300/second, queue depth climbs, and p99 delivery latency for unaffected destinations goes from 200 ms to minutes, while the error rate barely moves. One tenant holds 900 destination rows whose URLs share a hostname that now answers in 9.5 seconds. Explain the mechanism with the arithmetic, then give the containment in the order you would apply it.

Approach

  1. Look at saturation before errors. A flat error rate with collapsing throughput says nothing is failing, things are waiting, so the first signal to pull is in-flight request count or pool wait time rather than the error counter. This is the distinction that decides the whole investigation.
  2. Group in-flight work by resolved host, not by destination id. The cap is keyed per destination row, so 900 rows sharing one hostname buy 3,600 concurrent slots against a single host, each held for 9.5 seconds. The bulkhead was never a bulkhead for that host, and grouping by the wrong dimension is why the dashboard looked healthy.
  3. Do the arithmetic in both directions. Required concurrency is arrival rate times latency, so 1.5k/second at 200 ms needs about 300 in flight, which is entirely consumed by 3,600 slow slots; conversely whatever concurrency is left sustains rate equals concurrency divided by 9.5 seconds, which is the 300/second you are seeing. Matching both numbers is what promotes this from a plausible story to the mechanism.
  4. Explain why the circuit breaker never helped. It opens on consecutive failures, and a 9.5-second response inside a 10-second timeout is a success. Slow is not failing, so an error-rate breaker cannot see this; you need a slow-call ratio, a deadline propagated from the caller's remaining budget, or a concurrency limiter.

Follow-up

  • The host recovers to 80 ms. How long does the queue take to drain, and what does the drain do to the recovered host?
  • Where should the 10-second timeout number actually come from?

Suggested practice checklist

Built from the rounds and topics Aetna candidates report.

Day 1 — Map the Aetna loop

  • Write out the reported sequence: Recruiter Phone Screen, Technical Screening, Technical and Behavioral Interviews.
  • 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.

Day 2 — Work Python

  • Spend the session on Python, which Aetna candidates report being tested on.
  • Write one worked example in Python and time yourself on it.

Deliverable: One timed worked example in Python.

Day 3 — Work Coding Practice / Program Implementation

  • Spend the session on Coding Practice / Program Implementation, which Aetna candidates report being tested on.
  • Write one worked example in Coding Practice / Program Implementation and time yourself on it.

Deliverable: One timed worked example in Coding Practice / Program Implementation.

Day 4 — Work SQL

  • Spend the session on SQL, which Aetna candidates report being tested on.
  • Write one worked example in SQL and time yourself on it.

Deliverable: One timed worked example in SQL.

Day 5 — Answer out loud: Coding & Algorithmic Foundations

  • Answer aloud, timed: Write a program to print all even numbers up to 100.
  • Answer aloud, timed: Write a function to reverse a string in-place without using built-in library methods.

Deliverable: Spoken answers to 2 reported Coding & Algorithmic Foundations question(s), under time.

Day 6 — Answer out loud: Data Engineering & Analytics

  • Answer aloud, timed: Write a SQL query to find the second-highest salary from an employee table, handling potential duplicate values.
  • Answer aloud, timed: Explain the difference between an inner join, a left join, and a full outer join, and provide a scenario where you would use each.

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

Day 7 — Answer out loud: Technical Experience & System Architecture

  • Answer aloud, timed: Walk me through the architecture of a complex project you recently worked on. Why did you choose that specific tech stack?
  • Answer aloud, timed: How do you handle database optimization and query tuning when dealing with millions of records?

Deliverable: Spoken answers to 2 reported Technical Experience & System Architecture question(s), under time.

Behavioural preparation

Behavioural rounds judge the decision you made and what it cost.

How do you handle database optimization and query tuning when dealing with millions of records?

Medium · Technical Experience & System Architectu

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 your experience working with legacy systems. How do you approach migrating legacy code to modern arch

Medium · Technical Experience & System Architectu

Describe your experience working with legacy systems. How do you approach migrating legacy code to modern architectures?

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 a project's requirements changed midway through development. How did you adapt?

Medium · Behavioral & Team Collaboration

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?

Tell me about a time you had to work with a difficult stakeholder or team member. How did you resolve the conf

Medium · Behavioral & Team Collaboration

Tell me about a time you had to work with a difficult stakeholder or team member. How did you resolve the conflict?

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 prioritize your tasks when managing multiple competing deadlines?

Medium · Behavioral & Team Collaboration

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 situation where you identified a bug in production. What steps did you take to resolve it and preve

Medium · Behavioral & Team Collaboration

Describe a situation where you identified a bug in production. What steps did you take to resolve it and prevent it from happening again?

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?