For Java & Spring Boot developers
practice real take-home assignments
Paste a job ad. Get the take-home they'd probably give you.
Each assignment is built from the posting you paste: a Maven starter project that compiles, tests that fail until you do the work, a timeboxed brief and a 100-point grading rubric.
No card needed. Or download the sample ZIP first, no account required.
Files
README.md, RUBRIC.md, pom.xml, five Java classes in src/main/java (the TODO is in TradeImportService.java), application.properties, and the test classes TradeImportTest.java and TradeImportHardeningTest.java.
README.md (excerpt)
# Take-home practice: Securities trade file import and rejection report (Spring Boot 3, Java 21) > Practice assignment generated by HireCheck — not a real employer's assignment. Timebox: **3 hours**. Target level: **mid**. ## Where to work Look for `// TODO` in `TradeImportService.importCsv`. You may refactor anything, but keep the HTTP contract. ## Run `mvn verify` — the provided tests must pass. Your own tests are part of the grade.
Starter project, as downloaded55 tests, 55 errors
$ mvn verify [ERROR] Tests run: 51, Failures: 0, Errors: 51, Skipped: 0, Time elapsed: 4.633 s <<< FAILURE! -- in com.example.imports.TradeImportHardeningTest [ERROR] com.example.imports.TradeImportHardeningTest.acceptsCrLfLineEndings -- Time elapsed: 0.518 s <<< ERROR! ... [ERROR] Tests run: 4, Failures: 0, Errors: 4, Skipped: 0, Time elapsed: 0.036 s <<< FAILURE! -- in com.example.imports.TradeImportTest [ERROR] com.example.imports.TradeImportTest.badHeaderIs400 -- Time elapsed: 0.007 s <<< ERROR! ... [ERROR] Tests run: 55, Failures: 0, Errors: 55, Skipped: 0 [INFO] BUILD FAILURE
Same tests, finished solutionBUILD SUCCESS
$ mvn verify [INFO] Tests run: 51, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.449 s -- in com.example.imports.TradeImportHardeningTest [INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.059 s -- in com.example.imports.TradeImportTest [INFO] Tests run: 55, Failures: 0, Errors: 0, Skipped: 0 [INFO] BUILD SUCCESS
mvn verify output from the free sample. Per-test lines after the first failure in each class are trimmed.How it works
Generating takes under a minute. The 3–4 hours after that are yours.
Paste the job ad
HireCheck picks out the stack and seniority: Spring Web, JPA, Security, Kafka and so on.
Download the repo
A starter project that compiles, with TODOs and tests that go green when you're done.
Grade yourself
Score your work against a transparent 100-point rubric with junior, mid and senior bars. AI feedback on your solution coming soon
Why not LeetCode?
Take-homes aren't algorithm puzzles.
A reviewer reads your validation, error handling, transactions, tests and how you structured the code. That's what you practise here.
From the sample brief
- Reject bad CSV rows with a 1-based line number and a reason:
COLUMNS,ISIN,SIDE,QUANTITY,PRICE,DATE,DUPLICATE. - Return
400 {"code":"BAD_FILE"}when the header is wrong. - Catch duplicate references, both within the file and already in the database.
- Stretch goal: explain in
NOTES.mdwhat an operator would see if the database fails halfway through a large file.
What you get
- Scenarios
- REST APIs
- JPA reporting
- Spring Security / JWT
- Resilient integrations
- Event processing
- Batch imports
- PostgreSQL + Testcontainers
- Stack
- Spring Boot 3 · Java 21 · Maven · JUnit 5
- In the ZIP
README.mdbrief,RUBRIC.md,pom.xml, starter code with// TODOmarkers, and provided tests that fail until you finish.- Timebox
- 3–4 hours per brief, like the real thing.
- Checked
- Templates are vetted by a working Spring developer. Every reference solution passes
mvn verify.
See a real example, no signup
HireCheck generated this from a real Tallinn securities-processing job posting (company name removed). It is exactly what you download: the brief, the rubric and a starter project that compiles, with tests that fail until you implement it. No reference solution included.
Take-home practice: Trade file import & validation report — securities trading edition (Spring Boot 3, Java 21)
Practice assignment generated by HireCheck — not a real employer's assignment. Timebox: 3 hours. Target level: mid.
Context
Operations uploads daily trade files. Valid trades must be stored and every bad row explained so ops can fix it. You are joining a securities trading team; treat data correctness and clear error reporting as production concerns.
Requirements
POST /api/imports/trades (multipart file) → {imported, rejected:[{line, reason}]}.
CSV header reference,isin,side,quantity,price,tradeDate (else 400 {"code":"BAD_FILE"}). Line numbers are 1-based incl. header. Files may use LF or CRLF line endings.
Reasons: COLUMNS (≠6), ISIN (2 letters + 9 alnum + 1 digit), SIDE (BUY|SELL), QUANTITY (>0), PRICE (>0), DATE (ISO, not future), DUPLICATE (reference already in file or DB). Valid rows saved with all their fields.
Stretch goals (optional)
- Mention how you would apply this with batch.
Where to work
Look for // TODO in TradeImportService.importCsv. You may refactor anything, but keep the HTTP contract.
Run
mvn verify — the provided tests must pass. Your own tests are part of the grade.
Deliver
A git repo + NOTES.md: decisions, trade-offs, what you'd do with more time.
Show the grading rubric
Grading rubric — Trade file import & validation report (100 pts)
Reviewer emphasis for this mid securities trading role: correctness first, then java, spring boot, batch.
| Area | Pts |
|---|---|
| Correctness (provided tests) | 30 |
| Validation completeness & clear reasons | 15 |
| Streaming / memory for large files | 15 |
| Own tests (huge file, encoding, quotes) | 15 |
| Transaction strategy (all-or-nothing vs partial) justified | 10 |
| NOTES.md: Spring Batch, ISIN checksum, idempotent re-upload | 15 |
Levels: junior ≥60, mid ≥75, senior ≥85 and a strong NOTES.md.
Pricing
Start with one free assignment. Upgrade if you want to keep practising.
Pro
€9/month
- Unlimited assignments (fair use)
- All templates, each with its rubric
- AI feedback on your solution when it launches
Cancel anytime · 14-day refund. VAT included where applicable.
Who's behind this
Built by a Tallinn-based backend developer who works with Spring Boot every day and made this during his own job search.
Every template is written and tested by hand: the reference solution passes mvn verify before an assignment ever reaches you.
- Cancel anytime
- One click in the Stripe customer portal. You keep Pro until the end of the month you paid for.
- 14-day refund
- Not useful for you? Email us within 14 days of your first payment for a full refund.
- Your job posting isn't stored
- The text you paste is used only during generation and deleted right after. It never goes into our database. It is sent to our AI provider to create the assignment. Privacy policy
Honest note
Practice only. Don't use HireCheck to do a real employer's assignment. Practise beforehand, so you can ace it yourself.
FAQ
- Is this a screening tool for employers?
- No. HireCheck is for candidates who want to practise take-home assignments. It is not an employer screening or background-check tool.
- What's the difference between the sample and my free assignment?
- The sample is one fixed assignment anyone can download without an account. Your free assignment is generated from the job posting you paste, and needs an account.
- Other languages?
- Spring Boot first. Node/TypeScript and Python are next.
- Do you store my job ad?
- No. It's deleted right after generation; we keep only the generated assignment so you can re-download it. See Privacy.
- Who's behind this?
- A full-stack Java developer from Estonia who got tired of guessing what take-homes look like.
Got a job ad open in another tab? Paste it in.
No card needed.