Wayne Citadel

Application / Backend Engineer

Tell us how you build.

Short, specific answers beat long ones. Your draft is kept in this browser until you submit.

01 About you

This is a paid role, but the budget is still being negotiated, so we cannot give you a number yet. Does that work for you?

02 Your experience

Languages, frameworks, databases, queues, cloud services, testing. Mark what you have used in production.

What did it do, what load did it handle, and what broke first?

03 How you would work here

Cover idempotency, ordering, and a newer commit arriving while an analysis is still running.

The analysis finished, but uploading SARIF to GitHub returned HTTP 502 three times in a row. What should the job report?

04 Design problem

Each pull-request run produces findings from the deterministic analyzer. We need history across commits, so a finding fixed in a later commit shows as resolved. Suppressions need a reason and an expiry, and every change needs an audit trail.

It must work for one repository and for an organization with 2,000. Plan contents, resource names and tags come from pull requests and are untrusted.

Cover these points. If you think the brief is wrong in part, say so and explain why.

  1. Data model: runs, findings, suppressions
  2. How a finding keeps its identity when a resource is renamed or moved into a module
  3. API for the pull-request comment, SARIF and the dashboard
  4. Processing: webhooks, queues, retries, idempotency
  5. Multi-tenancy and isolation between customers
  6. Hostile input in plan values, resource names and tags
  7. What you would build in the first two weeks

0 words. Most good answers run 300 to 800.

Your answers are used only to review this application.