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.
| Stage | What the source supports | How to use that information |
|---|---|---|
| Initial OA, US SE1 report | The writer describes SQL, Bash and JavaScript tasks through an Uptime Crew application | Check whether your own invitation names that track; do not assume CodeSignal |
| Separate build challenge, same report | The candidate later completed a technical project and discussed the implementation | Practise reading unfamiliar code and explaining design choices |
| Official final-round example | Intuit describes engineer preparation, a craft demonstration and several conversations | Prepare a concise walkthrough of your work; this is not an OA timer |
| Your invitation | Assigned questions, deadline, environment and permitted resources | Use 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 emphasis | Useful preparation | A check you can do yourself |
|---|---|---|
| General coding | Arrays, dictionaries, graph traversal and clear input/output handling | Can you find a case that breaks your first solution? |
| SQL or data handling | Joins, grouping, filtering and deterministic ordering | Can duplicate timestamps or missing matches change your answer? |
| Bash or operational scripting | Field parsing, counting, pipelines and stable output | Does the command still work when no rows match? |
| Build challenge | Read the existing interfaces, run tests, make a small change | Did the change preserve previous behavior? |
| Craft demo | Explain assumptions, choices, tests and limitations | Can 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 sortInput:
1 api ERROR
2 worker INFO
3 api ERROR
4 queue ERRORExpected output:
api 2
queue 1Matching 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.

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.
| Day | Session | What to keep from it |
|---|---|---|
| 1 | Read the invitation; run a small program or query in the required tools | A list of setup questions for recruiting |
| 2 | Solve the graph exercise without looking at the answer | A cycle test and your complexity explanation |
| 3 | Run the SQL exercise with ties, failures and missing successes | A clear explanation of filter-before-rank |
| 4 | Test the Bash pipeline with empty input and multiple services | Exact expected output files |
| 5 | Repeat the weakest topic under a timer | The error that cost the most time |
| 6 | Make a small change to an existing project | Tests showing that older behavior still works |
| 7 | Explain your solution aloud and answer a follow-up | A 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.
What should I read next?
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.
Continue preparing
Editor selected
IBM Coding Assessment: US Formats, HackerRank Reports and Practice
Prepare for an IBM coding assessment with official guidance, US candidate reports about HackerRank, two original Python problems and a SQL exercise with worked answers.
Editor selected
HackerRank OA Preparation Guide 2026: Question Types, Practice Plan, and Tips
Prepare for a HackerRank OA in 2026 with current question types, coding and SQL patterns, a focused 7-day practice plan, timing tactics, and test-day tips.
Editor selected
CodeSignal OA Guide 2026: Score, Questions & Practice
Prepare for CodeSignal online assessments in 2026 with common question types, scoring expectations, coding patterns, and an ethical AI-assisted practice plan.
Same content type
Amazon HackerRank Assessment: SDE Coding Practice & Prep
Prepare for an Amazon HackerRank coding assessment: check your SDE format, try two original Python exercises, and diagnose hidden-test failures.
Ready to ace your next technical interview?
Practice interview questions, review your explanations, and explore SkillCopilotAI for interview preparation.
