Intuit OA: Assessment Formats, SQL, Bash and Coding Practice

Prepare for an Intuit OA with a US candidate report, a clear distinction from the craft demo, and original Python, SQL and Bash exercises with worked answers.

EmmaEmmaArticle Editing & Website Operations
Nov 8, 2026IntuitUS Software Engineering Applicants
AI-generated editorial illustration of coding, SQL tables and terminal practice for an Intuit OA

An Intuit OA may test more than algorithms. One US Software Engineer 1 candidate described SQL, Bash and JavaScript tasks before a separate build challenge. Intuit's official hiring page describes a craft demonstration later in its example interview process. Prepare separately for timed coding tasks and for explaining a project.

Start with the job and the invitation you actually received. This guide focuses on US software applicants, shows what the available sources support, and gives you three original exercises to try before reading the answers.

Research and disclosure: Sources checked November 8, 2026. This is an AI-assisted, research-based guide from SkillCopilotAI, which sells an interview assistant. We did not take an Intuit assessment. The exercises are original teaching material, not recalled employer questions. The linked candidate account is unverified personal testimony, not an official format announcement.

Cover: AI-generated editorial illustration, not an Intuit assessment interface.

What is known about the Intuit OA format?

There is no single format established by the sources used here. The most useful distinction is between an initial assessment and the later interview activities.

StageWhat the source supportsHow to use that information
Initial OA, US SE1 reportThe writer describes SQL, Bash and JavaScript tasks through an Uptime Crew applicationCheck whether your own invitation names that track; do not assume CodeSignal
Separate build challenge, same reportThe candidate later completed a technical project and discussed the implementationPractise reading unfamiliar code and explaining design choices
Official final-round exampleIntuit describes engineer preparation, a craft demonstration and several conversationsPrepare a concise walkthrough of your work; this is not an OA timer
Your invitationAssigned questions, deadline, environment and permitted resourcesUse these details to choose your practice and setup

The US SE1 candidate account says the application began on February 20, 2026. It describes an initial mixed-language assessment, then a build challenge and follow-up discussion. It does not establish a universal question count, pass score or test duration for Intuit. Other roles and locations should not inherit that account's format.

Intuit's hiring-process page is useful for understanding its example final round. Its engineer setup and craft-demo timings refer to that interview process, not to every online assessment. Ask recruiting which stage your invitation represents if the wording is unclear.

What should you practise first?

Match the practice to the role rather than memorizing one company's alleged question list.

Invitation or job emphasisUseful preparationA check you can do yourself
General codingArrays, dictionaries, graph traversal and clear input/output handlingCan you find a case that breaks your first solution?
SQL or data handlingJoins, grouping, filtering and deterministic orderingCan duplicate timestamps or missing matches change your answer?
Bash or operational scriptingField parsing, counting, pipelines and stable outputDoes the command still work when no rows match?
Build challengeRead the existing interfaces, run tests, make a small changeDid the change preserve previous behavior?
Craft demoExplain assumptions, choices, tests and limitationsCan another person follow why you made each decision?

Do not attempt to become fluent in every language in a few days. If your invitation specifies JavaScript, use it for coding practice even though the graph example below uses Python to explain the algorithm. If it specifies another environment, test that environment before starting the scored work.

Original coding exercise: reachable services

A monitoring tool records directed links between services. Given a dictionary links and a starting service start, return a sorted list of all services reachable from start, including start itself.

Service names are strings. The dictionary and every neighbor list are finite. A service absent as a key has no outgoing links. Duplicate links, self-links and cycles are allowed. The starting service may not appear in the dictionary.

For {'api': ['queue', 'db'], 'queue': ['worker'], 'worker': ['api']} and start='api', return ['api', 'db', 'queue', 'worker'].

from collections import deque

def reachable_services(links, start):
    seen = {start}
    queue = deque([start])
    while queue:
        service = queue.popleft()
        for neighbor in links.get(service, []):
            if neighbor not in seen:
                seen.add(neighbor)
                queue.append(neighbor)
    return sorted(seen)

Mark a service when you enqueue it. That prevents cycles and duplicate edges from repeatedly adding the same work. Every discovered service is reachable; following each of its outgoing links eventually discovers every reachable neighbor.

For V reachable services and E links examined from them, traversal takes O(V + E) time. Sorting adds O(V log V). Extra space is O(V). With an empty dictionary, the answer is simply [start].

Before moving on, test a cycle, a disconnected component and a self-link. Then explain how the result would change if the links were undirected. That follow-up checks your understanding of the specification, not just your ability to reproduce BFS.

Original SQL exercise: latest successful payment

Use this schema:

CREATE TABLE payments (
    event_id INTEGER PRIMARY KEY,
    customer_id INTEGER NOT NULL,
    paid_at INTEGER NOT NULL,
    status TEXT NOT NULL,
    amount_cents INTEGER NOT NULL
);

Return one row per customer who has at least one status = 'succeeded' payment. Select their most recent successful payment, breaking equal paid_at values by the largest event_id. Return customer_id, event_id and amount_cents, ordered by customer ID. A later failed payment must not hide an earlier success.

WITH ranked AS (
    SELECT customer_id, event_id, amount_cents,
           ROW_NUMBER() OVER (
               PARTITION BY customer_id
               ORDER BY paid_at DESC, event_id DESC
           ) AS rn
    FROM payments
    WHERE status = 'succeeded'
)
SELECT customer_id, event_id, amount_cents
FROM ranked
WHERE rn = 1
ORDER BY customer_id;

The filter goes inside the CTE because you are ranking successful payments. Ranking all events first and filtering successes afterward answers a different question: whether each customer's latest event succeeded.

For example, customer 7 has a successful payment at time 10 and a failure at time 20. The earlier success should be returned. If two successful payments share time 10, use the event ID to make the result deterministic.

The query uses window functions available in SQLite and several other SQL engines; it was checked in SQLite. Verify the dialect named in your invitation. A typical sort-based plan takes O(n log n) time, but actual execution depends on the engine, indexes and data distribution.

Original Bash exercise: error counts by service

Read standard input. Each valid line has exactly three whitespace-separated fields: an integer timestamp, a service name without whitespace, and a level. Count lines whose level is exactly ERROR. Print service count in bytewise service-name order. Services with zero errors are omitted; empty input produces no output.

awk '$3 == "ERROR" { count[$2]++ }
     END { for (service in count) print service, count[service] }' |
  LC_ALL=C sort

Input:

1 api ERROR
2 worker INFO
3 api ERROR
4 queue ERROR

Expected output:

api 2
queue 1

Matching the third field avoids counting an ERROR substring elsewhere. awk accumulates one counter per service, and sort makes output order reproducible. For n input lines and s services with errors, this takes O(n + s log s) time and O(s) counting space, plus the sort utility's working storage.

This command assumes the stated line format. If the specification allows malformed rows, quoted service names or log messages with spaces, define their parsing rules before adapting it. A test that changes the format is a different task, not an edge case the current contract silently promises to handle.

Hands-on platform check: Bash input and output

We ran HackerRank's public Cut #5 exercise with a test account on November 8, 2026. The task takes tab-separated input and returns its first three fields. Running cut -f1-3 produced the expected five output rows, and the platform displayed a passed sample test.

This is a useful setup check for field-based text processing: tabs separate fields, while spaces inside a city name remain part of the field. It is a different task from the original error-counting exercise above. Use each task's specified delimiter and output format.

HackerRank public Cut #5 practice showing a passed Bash sample test and the input/output panel

Our test-account run, November 8, 2026. Open the full-size screenshot. This is HackerRank public practice, not an Intuit OA. We ran the sample with Run Code; we did not submit against the full test suite. The screenshot does not verify Intuit's platform, questions or passing score.

A seven-day preparation plan

Practice verification: the actual solutions in this article were checked with 2,048 small directed-graph cases, 120 SQLite datasets and 35 Bash input cases. These checks validate the teaching examples within their stated assumptions; they do not measure an Intuit score or hiring outcome.

This schedule is a suggested training routine, not Intuit's assessment structure. Adjust it when you know your assigned languages and topics.

DaySessionWhat to keep from it
1Read the invitation; run a small program or query in the required toolsA list of setup questions for recruiting
2Solve the graph exercise without looking at the answerA cycle test and your complexity explanation
3Run the SQL exercise with ties, failures and missing successesA clear explanation of filter-before-rank
4Test the Bash pipeline with empty input and multiple servicesExact expected output files
5Repeat the weakest topic under a timerThe error that cost the most time
6Make a small change to an existing projectTests showing that older behavior still works
7Explain your solution aloud and answer a follow-upA short account of assumptions and trade-offs

Treat a slow session as evidence about what to practise next. If you understood the algorithm but lost time formatting output, work on the interface. If you could not explain why a join duplicated rows, spend the next session on a smaller SQL example rather than attempting a harder problem.

Before you open the scored assessment

Check the deadline, total timer and whether sections have separate timers. Confirm the language and SQL dialect, input/output format, required browser or software, and any camera or screen-sharing instructions. Do not assume a practice platform's rules automatically apply to your invitation.

Use official setup checks where provided. During the assessment, follow its policy on documentation and AI. A recruiter discussing AI in a later interview does not grant permission to use an external assistant in the OA.

After completing the assigned work, keep the submission confirmation. An application status change is not a published pass score or a promise of an interview. Recruiting can clarify missing links and next steps; public anecdotes cannot establish a reliable response deadline for your application.

FAQ

Is the Intuit OA on CodeSignal, HackerRank or Glider?

Do not infer the platform from the company name. The US account linked above describes an Uptime Crew application. Read the actual invitation; we have not verified one platform for every US Intuit software role.

Does the Intuit OA include SQL and Bash?

The linked US SE1 candidate says theirs did, alongside JavaScript. That is a reason to check your track and practise the relevant tools, not evidence that every applicant receives those three sections.

Is the craft demo the same as the OA?

No. Intuit's official example places the craft demonstration within its final-round interview process. Treat the initial assessment, any build assignment and the presentation as separate tasks unless your invitation says otherwise.

What score do I need to pass?

The sources used here do not establish a current universal US cutoff. Complete the assigned work and test your solutions; do not treat a forum score as an official threshold.

If your invitation uses HackerRank, our HackerRank OA preparation guide covers platform preparation. If it names CodeSignal instead, use the CodeSignal preparation guide for that environment. For a different employer's coding screen, see IBM coding assessment preparation. Keep the employer-specific details separate when using these guides.

Ready to ace your next technical interview?

Practice interview questions, review your explanations, and explore SkillCopilotAI for interview preparation.