Berkshire Hathaway · Software Engineer
Updated · 2026-10-02

Berkshire Hathaway Software Engineer
Interview Guide

THE 60-SECOND BRIEF

Berkshire Hathaway is a holding company whose subsidiaries include businesses in insurance, energy and manufacturing. Candidates describe the Software Engineer role as building and maintaining applications for business needs across those subsidiaries, working with product managers, designers and other engineers, taking part in code reviews, debugging and tuning running systems, and writing down designs and processes. The requirements candidates list name Java, Python and C#, SQL and NoSQL databases, and Agile or Scrum, with AWS, Azure, Docker, Kubernetes and security knowledge as extras.

This guide is for software engineer candidates preparing for Berkshire Hathaway. It covers the two reported stages, the technical and behavioral questions candidates report (coding, system design, debugging, performance, schema design and team stories), the stack named in the role requirements, and a seven-day schedule that combines these questions with PracHub's practice set. Behavioral questions carry the most detailed guidance on this page.

Candidates report two stages over roughly 2-4 weeks: a phone screen run by HR or a recruiter, then several technical interviews with team members and possibly leadership.

System DesignScaling (Enterprise Systems)Cloud Architecture Understanding

38 min read

Browse Software Engineer questions

See the practice prompts

26Practice promptsAcross five skill areas

The work candidates describe is general application engineering rather than one narrow product: build and maintain software for different business units, review each other's code, track down performance and correctness problems, and document designs so others can maintain them. The reported question list matches that shape. It mixes coding basics (reversing a linked list, finding two numbers that sum to a target, depth-first versus breadth-first search, dynamic programming), design questions (millions of transactions per second, schema design, microservices, performance), diagnosis questions (a slow application, a complex bug) and a large set of behavioral prompts.

Reported topic areas for this loop are system design, scaling enterprise systems, cloud architecture, collaboration and explaining your work. For preparation that means two things. First, have a concrete design vocabulary: partitioning, caching, queues, replication, consistency, and how each one behaves when a dependency fails. Second, be able to talk about your own projects in plain language, because candidates also report being asked to explain technical ideas to non-technical colleagues.

The stack in the requirements is broad: Java, Python or C#, SQL and NoSQL stores, Agile or Scrum, and optionally AWS or Azure with Docker and Kubernetes. Pick one language and write every coding answer in it, and be ready to compare relational and document storage for one concrete schema. For the cloud and container questions, prepare real experience you can describe precisely, and say plainly where your experience stops.

Roughly half of the reported questions are behavioral or experience-based: refactoring, disagreement, running a project, prioritising, adapting to change, deadlines, learning a technology fast. Prepare six or seven stories from real work and map each to several prompts, so that you are choosing a story rather than inventing one under pressure.

01

Phone Screen

reported

Candidates report an initial phone screen conducted by HR or a recruiter to assess whether you fit the role. Nothing in the reports says it is a coding exercise, so treat it as a conversation about your background, your motivation and the practical details of the move. Several of the reported general questions (which languages you are most comfortable with and why, your experience with cloud-based solutions, the biggest technical problem you solved) are easy to answer badly off the cuff, so rehearse short versions of them out loud.

What to demonstrate

  • Fit for the Software Engineer role, as the recruiter or HR contact assesses it
  • How clearly you summarise your background and the languages and tools you have used
  • Whether your experience lines up with the listed requirements: SQL and NoSQL, Agile or Scrum, a language such as Java, Python or C#

How to prepare

  • Write a spoken walk through your CV that names the languages, databases and delivery methods you have used, matching the stack in the role requirements.
  • Prepare a short, honest answer to the question about languages you are most comfortable with and why, including the one language you will use for coding questions.
  • Prepare two sentences on your experience with cloud-based solutions that name the services you used, what you configured yourself and what a platform team handled.
  • Learn what the subsidiaries in insurance, energy and manufacturing do at a high level, and prepare one reason this kind of work interests you.
Berkshire Hathaway Software Engineer candidate reports ↗
02

Technical Interviews

reported

Candidates report several technical interviews with team members and possibly leadership. The reported question types across the loop are technical and domain questions, system design, problem-solving and case studies, coding and algorithms, and behavioral prompts. Reported topic areas include system design, scaling enterprise systems and cloud architecture, with collaboration and communication also called out. Expect to alternate between hands-on problems and conversations about projects you have built, so keep a working routine for each: restate, clarify, outline, solve, test aloud.

What to demonstrate

  • Working code and algorithmic reasoning on the coding questions (linked lists, array lookups, graph traversal, dynamic programming)
  • Design reasoning for scale, schema, microservices and performance, including consistency and failure behavior
  • Structured debugging and diagnosis of slow or faulty systems
  • How you explain technical choices and describe teamwork, conflict and leadership

How to prepare

  • Solve reversing a linked list and the two-number target problem in your chosen language, then explain time and space complexity and the edge cases (empty input, a single element, duplicates, no valid pair).
  • Explain depth-first versus breadth-first search with the data structure each uses, then sketch a dynamic-programming solution from recurrence to table to space reduction.
  • Practise a design walk-through for millions of transactions per second: partitioning, queues, replication, caching, consistency and what happens when a downstream service is down.
  • Rehearse a diagnosis routine for a slow application and a complex bug (measure, bisect, fix, verify), and have your stories ready for the refactoring, disagreement, leadership, prioritisation, change and deadline prompts.
Berkshire Hathaway Software Engineer candidate reports ↗

PracHub editorial advice for the preparation topics above.

01

Solving the coding questions silently, then pasting a finished answer with no explanation

For reversing a linked list, the two-number target problem and depth-first versus breadth-first search, state the approach and its complexity first, write the code, and trace a small example aloud including empty and single-element input.

02

Answering the transactions-per-second design question with a list of buzzwords such as microservices, cache and Kafka

Name the bottleneck, the partition key and what it makes expensive, the consistency you need, and what happens when a dependency is down. Add the numbers you assume.

03

Describing cloud, Docker or Kubernetes experience as if you had owned everything

Say what you configured, deployed and debugged yourself, and what a platform team handled. Be precise about the services you actually used.

04

Giving a behavioral answer with a vague 'we' and no decision of your own

For the refactoring, disagreement, project and deadline prompts, use first person singular for your decisions, name the trade-off and report the outcome, including what went wrong.

05

Jumping to a fix for the slow application or complex bug without measuring

Describe the order: reproduce, find what changed, measure where time goes, bisect, fix, verify. Name concrete signals such as latency percentiles, query plans, error logs and recent deploys.

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

20 technical prompts0 include a worked solution

Write a function to reverse a linked list.

medium
Coding / Algorithms

Write a function to reverse a linked list.

Approach
  1. Clarify the node shape and the return value (the new head), and confirm the list may be empty or have one node.
  2. Iterative solution with three pointers: prev = null, curr = head. In a loop: save next = curr.next, set curr.next = prev, move prev = curr and curr = next. When curr is null, return prev. This is O(n) time and O(1) extra space.
  3. A recursive version reverses the rest of the list, then sets head.next.next = head and head.next = null. It is also O(n) time but uses O(n) stack space, so a long list can overflow the stack (CPython's default recursion limit is 1000).
  4. Test by hand with the empty list, a single node and two nodes, and check that the old head's next ends up null so no cycle is left behind.
Follow-up
  • Reverse only the nodes between positions m and n.
  • Reverse the list in groups of k nodes.
  • How would you check whether a linked list is a palindrome in O(1) extra space?

Given an array of integers, find two numbers that add up to a specific target.

medium
Coding / Algorithms

Given an array of integers, find two numbers that add up to a specific target.

Approach
  1. Clarify: return indices or values, is exactly one answer guaranteed, can an element be used twice, and are negative numbers and duplicates allowed?
  2. The brute-force solution checks every pair in O(n^2) time and O(1) space. It is a correct baseline to state before improving on it.
  3. Use a single-pass hash map from value to index. For each x at index i, look up target - x first; if it is there, return both indices, otherwise store x -> i. Looking up before inserting stops an element pairing with itself and still handles inputs like [3,3] with target 6. This runs in O(n) time and O(n) space.
  4. If the array is sorted, or extra memory matters, two pointers from both ends work in O(n) time with O(1) extra space after an O(n log n) sort. Sorting loses the original indices unless you sort (value, index) pairs.
Follow-up
  • Return all unique pairs that sum to the target, without duplicates.
  • Extend it to three numbers that sum to the target. What is the complexity?
  • The numbers arrive as a stream. How would you support add and find operations?

How would you implement a search algorithm for a large dataset?

medium
Coding / Algorithms

How would you implement a search algorithm for a large dataset?

Approach
  1. Clarify the kind of search, because it decides the structure: exact key lookup, range queries, prefix or full-text search, or nearest neighbour. Also ask whether the data is static or updated, and whether it fits in memory.
  2. In memory: a hash table gives O(1) average exact lookup but no ordering. A sorted array with binary search gives O(log n) lookups and supports ranges, but inserts cost O(n). A balanced BST or skip list gives O(log n) for both.
  3. On disk or at large scale: a B+ tree keeps the number of page reads low for both point and range queries, which is why databases use it. Full-text search uses an inverted index from terms to document IDs. A Bloom filter can skip lookups for keys that are definitely absent.
  4. When one machine is not enough, partition by key (hash for point lookups, range partitioning for scans), query the shards in parallel and merge the results.
  5. If asked to code binary search, write the invariant explicitly, compute mid as lo + (hi - lo) / 2 to avoid integer overflow in Java or C#, and decide whether you need the first match or any match.
Follow-up
  • Write binary search that returns the first index of a value that appears several times.
  • The dataset gets thousands of inserts per second. Does your structure still work?
  • How would you support case-insensitive prefix search over millions of names?

Explain the difference between depth-first and breadth-first search.

medium
Coding / Algorithms

Explain the difference between depth-first and breadth-first search.

Approach
  1. Mechanics: breadth-first search uses a FIFO queue and visits nodes level by level outward from the source. Depth-first search uses a stack, explicit or through recursion, and follows one path as far as it goes before backtracking.
  2. Both run in O(V + E) time on an adjacency list and need a visited set on graphs with cycles. On an adjacency matrix the time becomes O(V^2).
  3. Memory differs: BFS holds the whole frontier, which can be very wide, while DFS holds the current path, which can be very deep. Recursive DFS can overflow the stack on deep graphs, so use an explicit stack there.
  4. Use cases: BFS finds shortest paths by edge count in unweighted graphs and does level-order traversal. DFS suits cycle detection, topological sort, connected components, and backtracking problems such as permutations or mazes.
  5. For weighted edges neither is enough: use Dijkstra's algorithm when weights are non-negative, or 0-1 BFS with a deque when every weight is 0 or 1.
Follow-up
  • How would you detect a cycle in a directed graph with DFS?
  • Count the islands in a grid of 0s and 1s. Which traversal would you use?
  • Find the shortest path when edges have different weights.

Solve a problem using dynamic programming.

medium
Coding / Algorithms

Solve a problem using dynamic programming.

Approach
  1. Pick a concrete problem and say why DP applies: overlapping subproblems and optimal substructure. Coin change with the fewest coins is a good choice because greedy fails on it: with coins [1,3,4] and amount 6, greedy picks 4+1+1 (three coins) while the optimum is 3+3 (two).
  2. Define the state and recurrence explicitly: dp[a] is the fewest coins that make amount a. dp[0] = 0, and dp[a] = min over coins c <= a of dp[a - c] + 1. Start unreachable amounts at infinity and return -1 if dp[amount] stays infinite.
  3. Choose top-down or bottom-up. Memoised recursion is quick to write but uses stack depth. A bottom-up table fills a from 1 to amount and avoids recursion. Complexity is states times transitions: O(amount x number of coins) time and O(amount) space.
  4. Test the edge cases (amount 0, an unreachable amount, a single coin), and mention how to rebuild the actual coins by storing the coin chosen at each amount.
Follow-up
  • Count the number of distinct combinations instead of the minimum. Does the loop order matter?
  • How would you reduce the memory of a two-dimensional DP such as longest common subsequence?
  • How would you return the actual coins used, not just the count?

Seven days built around the reported phone screen and technical interviews: the first day for the screen and your own background, then coding, data and schema, design, diagnosis, and a final day for behavioral stories and a full run-through. Each day names the reported questions it practises.

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
01Phone screen and your own background
  • Write and say aloud a walk through your CV that names your languages, databases, cloud services and delivery method (Agile or Scrum), so it lines up with the listed requirements.
  • Write short answers for the questions on your most comfortable programming language, your cloud experience and the challenging technical problem you solved.
  • Prepare the practical details you will be asked about and a few questions to ask the recruiter about the technical rounds.

Deliverable: A written CV walk-through and three short written answers (language, cloud experience, a challenging problem) you can say aloud.

Practice prompt ↗Practice prompt ↗Practice prompt ↗
02Coding fundamentals: lists, arrays, traversal
  • Write iterative linked-list reversal in your chosen language, then write the recursive version and compare stack use.
  • Solve the two-number target problem twice, brute force and with a hash map, and state the complexity and edge cases (duplicates, no pair).
  • Implement depth-first and breadth-first search on a graph or tree and write when you would pick each.

Deliverable: Three working solutions in one language with complexities and edge cases written beside each, plus a short comparison of depth-first and breadth-first search.

Practice prompt ↗Practice prompt ↗Practice prompt ↗
03Coding: dynamic programming and search at scale
  • Solve two dynamic-programming problems (for example climbing stairs and coin change): write the recurrence, the table, and the space-reduced version.
  • Write binary search and explain how a large dataset changes the choice (sorted data, an index, partitions, or a hash lookup).
  • Practise narrating each solution as you write it.

Deliverable: Two dynamic-programming solutions with recurrences, a binary search implementation, and a one-paragraph answer on searching a very large dataset.

Practice prompt ↗Practice prompt ↗
04Schema design and data questions
  • Design a relational schema for one scenario you know (for example insurance policies and claims): entities, keys, indexes, and the queries it must serve.
  • Write the same data as documents in a NoSQL store and list what you gain and lose, including consistency and joins.
  • Write down how you would pull insights from an unfamiliar dataset: shape, missing values, distributions, then focused questions.
  • Work through PracHub's SQL window-function practice question for hands-on query practice.

Deliverable: A relational schema and a document-model version with a trade-off list, a dataset exploration checklist, and the practice SQL question solved.

Practice prompt ↗Practice prompt ↗Practice prompt ↗
05System design and architecture
  • Outline the millions-of-transactions-per-second design: ingress, queue, partitioned storage, replication, caching, and the consistency and failure behavior at each point.
  • Write the REST versus SOAP comparison (message format, contract, tooling, typical uses) and a microservices answer that includes costs such as network failures and operational overhead.
  • Write a performance-optimisation routine: measure, find the bottleneck, change one thing, measure again.

Deliverable: One design outline with failure behavior written next to each component, plus written answers on REST versus SOAP, microservices and performance optimisation.

Practice prompt ↗Practice prompt ↗Practice prompt ↗Practice prompt ↗
06Diagnosis, quality and learning fast
  • Write the sequence you would follow for a user reporting the application is slow, including the data you gather at each step and what each result rules out.
  • Walk through debugging a complex issue you actually fixed and write it up in the same sequence.
  • Write your answer on code quality and maintainability (reviews, tests, naming, documentation) and on how you judge a feature's success after launch.
  • Prepare a short account of learning a new technology quickly for a project.

Deliverable: A written diagnosis checklist, one real debugging case, and written answers on code quality, feature success and learning a technology quickly.

Practice prompt ↗Practice prompt ↗Practice prompt ↗Practice prompt ↗Practice prompt ↗
07Behavioral stories and full run-through
  • Write six stories and map them to the refactoring, disagreement, project-leadership, prioritisation, change and deadline prompts, each with situation, your decisions, measurable outcome and a lesson.
  • Say each story aloud, cutting the setup to a few sentences and spending the time on your reasoning.
  • Do a full mock: one coding problem, one design question, then two behavioral prompts, and note where you lose the thread.

Deliverable: Six written stories mapped to the six behavioral prompts, and a mock-interview notes sheet with the weakest area marked for review.

Practice prompt ↗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 a large block of behavioral and leadership prompts, plus topics on collaboration and on explaining technical work to non-technical colleagues. The role includes code reviews and working with product managers, designers and other engineers, so stories about disagreement, shared projects and priorities fit it well. Prepare real stories with your own decisions, measured outcomes and an honest account of what went wrong.

Describe a time when you had to refactor a system. What was the outcome?

medium
System Design / Architecture

Describe a time when you had to refactor a system. What was the outcome?

Approach
  1. Choose a refactor you drove and name the trigger in measurable terms: slow releases, a module that kept causing incidents, duplicated logic, a data model that blocked a feature. A refactor with no stated reason sounds like taste.
  2. Describe the scope decision: what you rewrote, what you deliberately left alone, and how you kept the behavior identical. Mention concrete safety steps such as tests that pin current behavior before changing it, small reviewable changes, feature flags or a gradual cut-over.
  3. Say what could have gone wrong and how you watched for it: error rates, latency, support tickets, rollback readiness. Use numbers you actually measured and say so if you only have qualitative evidence.
  4. State the outcome plainly, including costs: time spent, features delayed, anything that did not improve. Close with what you would change in the approach.
  5. If the refactor was contested, say who disagreed and what evidence settled it.
Follow-up
  • How did you decide the refactor was worth the delay to feature work?
  • How did you prove behavior was unchanged, and what slipped through?
  • Would you do it incrementally or as a rewrite next time, and why?

Tell me about a time when you disagreed with a team member. How did you handle it?

medium
Behavioral / Leadership

Tell me about a time when you disagreed with a team member. How did you handle it?

Approach
  1. Pick a disagreement about something checkable: an API shape, a schema, a library, a review comment, an estimate. Avoid personality conflicts, which give the listener nothing to evaluate.
  2. State the other person's position fairly, in words they would accept, then your own. Show that you understood their reasoning before arguing yours.
  3. Say how you turned opinions into evidence: a small prototype, a benchmark, a look at production data, or a written comparison of options with trade-offs. Say who made the final call and how it was reached.
  4. Finish with the result and the working relationship afterwards, including the case where you were wrong or the outcome was a compromise. Because the role includes code reviews, a review-thread story fits well.
  5. Common failure: a story where you were simply right and the colleague was unreasonable.
Follow-up
  • What would have changed your mind during the disagreement?
  • What if the colleague had been senior to you, or the decision were not yours?
  • How did you work with them afterwards?

Describe a successful project you led. What made it successful?

medium
Behavioral / Leadership

Describe a successful project you led. What made it successful?

Approach
  1. Define leadership for a role that may have no direct reports: you set direction, broke the work into pieces, aligned product managers, designers and engineers, and cleared blockers. Pick a project where that was true for you.
  2. Give the goal and how success was defined before work started (a deadline met, an error rate cut, a team unblocked), then your specific decisions: scope, sequencing, risks you raised, trade-offs you made.
  3. Show coordination across roles: what you asked from product and design, how you communicated status, and how you handled a change or a slipping task.
  4. Say what made it succeed in your own contribution terms and credit teammates by name. Include one thing that went badly and what you changed.
  5. Common failure: a summary of what the team did with no visible decisions of yours.
Follow-up
  • What was the biggest risk to the project and how did you reduce it?
  • How did you handle a teammate who fell behind?
  • How did you know the project was a success afterwards?

How do you prioritize tasks when working on multiple projects?

medium
Behavioral / Leadership

How do you prioritize tasks when working on multiple projects?

Approach
  1. Name your actual method rather than a list habit: rank work by impact, deadline and cost of delay, check dependencies (what blocks other people), and estimate effort so small high-value items go first.
  2. Ground it in a real case where two projects competed: say what was due, who was waiting, what you chose to do first and what you postponed.
  3. Show that you communicated the trade-off. Tell the stakeholder what slips and when, and ask them to confirm or reorder, instead of silently dropping work.
  4. Describe how you re-check priorities when something changes, for example a production incident, and how you protect time for the work that is important but not urgent.
  5. Common failure: saying you keep a to-do list without any decision rule or conflict.
Follow-up
  • What do you do when two stakeholders each say their work comes first?
  • Give an example of something you decided not to do and how you told people.
  • How do you handle an urgent request in the middle of planned work?

Share an experience where you had to adapt to significant changes in a project.

medium
Behavioral / Leadership

Share an experience where you had to adapt to significant changes in a project.

Approach
  1. Pick a change that really altered the work: requirements that moved, a platform switch, a reorganisation, a dropped feature, a new dependency. State what changed and what it invalidated.
  2. Describe how you re-planned: what you salvaged, what you discarded, what new risks appeared, and how you reset expectations with product managers and teammates.
  3. Show the specific adjustment you made, for example a new design, a changed interface, a reduced first release or learning something new, rather than a general feeling of flexibility.
  4. Report the result and one thing you learned about handling change, such as building in seams for requirements likely to move.
  5. Common failure: a story that is mostly complaints about the change, or one where you simply did as told with no judgement.
Follow-up
  • How did you decide what work to keep and what to throw away?
  • Did you disagree with the change, and what did you do about it?
  • What did you do to make later changes cheaper?

How do you handle tight deadlines and pressure?

medium
Behavioral / Leadership

How do you handle tight deadlines and pressure?

Approach
  1. Choose a real deadline with consequences and state the constraint in one sentence: what was due, for whom, and what was at risk.
  2. Show your triage: identify the critical path, cut or defer scope with the owner's agreement, and keep tests and review on the paths that handle money, data or customers, even when other polish is dropped.
  3. Describe how you communicated early: flagging risk before the deadline, offering options such as reduced scope or later date, and sending short status updates.
  4. Be honest about the cost and what you did afterwards: follow-up fixes, cleaning up shortcuts, a retrospective. Heroic overtime alone is not a method.
  5. Add how you stay effective under pressure, such as splitting work into small shippable pieces and asking for help early.
Follow-up
  • What did you cut, and who agreed to cutting it?
  • Describe a time you missed a deadline and what you did.
  • How do you stop shortcuts taken under pressure from becoming permanent?
  • 01

    Tell me about a time when you disagreed with a team member. How did you handle it?

  • 02

    Describe a successful project you led. What made it successful?

  • 03

    Describe a time when you had to refactor a system. What was the outcome?

  • 04

    How do you prioritize tasks when working on multiple projects?

  • 05

    Share an experience where you had to adapt to significant changes in a project.

  • 06

    How do you handle tight deadlines and pressure?

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

Candidates report two stages: a phone screen conducted by HR or a recruiter, then multiple technical interviews with team members and possibly leadership. The overall timeline reported is roughly 2-4 weeks. Reports vary, so ask your recruiter what your own loop contains.

Berkshire Hathaway Software Engineer candidate reports ↗
Which languages and tools should I be ready to discuss?

The requirements candidates describe name Java, Python and C# as example languages, SQL and NoSQL databases, and Agile or Scrum. Cloud platforms (AWS, Azure), Docker, Kubernetes and security are listed as extras. Choose one language for coding answers, and prepare one concrete project that used a relational database.

Berkshire Hathaway Software Engineer candidate reports ↗
What kinds of questions are reported?

Reported questions fall into technical and domain questions (REST versus SOAP, code quality, cloud experience), system design (millions of transactions per second, schema design, microservices), problem-solving cases (a slow application, debugging, learning a technology quickly), coding (linked list reversal, two-sum, depth-first versus breadth-first search, dynamic programming) and behavioral prompts.

Berkshire Hathaway Software Engineer candidate reports ↗
How should I prepare for the design and scaling questions?

Reported topics include scaling enterprise systems, cloud architecture, high availability and data consistency in distributed systems. Practise outlining one design with a partition key, replication, caching and a queue, and say what each choice costs. For each component, state what happens when it fails.

Berkshire Hathaway Software Engineer candidate reports ↗
Do I need to learn about Berkshire Hathaway's businesses?

Candidate tips suggest understanding the subsidiaries and core operations. The reported role descriptions mention insurance, energy and manufacturing, so prepare a sentence or two about what software might do in those settings and connect it to your experience. Do not claim detailed knowledge of internal systems you have no information about.

Berkshire Hathaway Software Engineer candidate reports ↗
Is there a take-home assignment or a coding platform test?

Neither is reported. Candidates describe a phone screen and technical interviews. Practise writing code by hand and out loud in your chosen language, and clarify the format with your recruiter when you schedule each stage.

Berkshire Hathaway Software Engineer candidate reports ↗
How do I structure behavioral answers?

Candidate tips recommend the STAR format (Situation, Task, Action, Result). Keep the situation short and give most of the time to your own decisions and the result, with a number if you have one. Prepare a few stories that each cover several prompts.

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.