Resource library

QA Interview

Linear QA and SDET Interview Questions (2026)

Prepare for linear qa sdet interview questions with product risk, GraphQL, sync, automation, accessibility, performance, security, and model answers.

24 min read | 4,590 words

TL;DR

Strong Linear QA and SDET candidates combine product taste with rigorous engineering. Prepare issue workflow, GraphQL, webhook, realtime sync, keyboard, accessibility, performance, reliability, automation, coding, and behavioral scenarios, and confirm the actual interview stages with the recruiter.

Key Takeaways

  • Connect quality decisions to Linear's product promise of fast, focused, carefully crafted work management.
  • Model issues, projects, cycles, comments, notifications, and integrations as stateful systems with explicit invariants.
  • Test optimistic UI and realtime synchronization for rollback, conflict, reconnect, duplicate, and stale-cache behavior.
  • Treat GraphQL HTTP success separately from operation success, and validate authorization, pagination, complexity, and rate limits.
  • Use thin end-to-end coverage over strong service, component, contract, and deterministic state-transition tests.
  • Bring measurable examples of product judgment, debugging, automation leverage, and constructive release-risk communication.

Linear qa sdet interview questions are likely to probe whether you can protect a fast, polished product without slowing delivery. Strong answers connect user intent to explicit invariants, select the cheapest reliable test layer, expose race conditions in synchronized state, and explain how failures are detected and recovered.

Linear publicly emphasizes software craftsmanship, speed, focus, and attention to small details. Its documented product surface includes issues, team-specific workflows, projects, cycles, comments, notifications, integrations, a GraphQL API, OAuth, and webhooks. This guide turns those public characteristics into realistic preparation prompts, not leaked questions or a guaranteed hiring rubric.

Linear does not publish one universal QA or SDET interview sequence for every team and level. Treat the current job description, recruiter message, and interview invitation as authoritative, then use this hub to practice the technical and judgment signals most relevant to the role.

TL;DR

Topic What a strong answer demonstrates Useful evidence
Product quality Taste plus consequence-based prioritization Risk model and exploratory charter
Issue workflows Correct transitions and durable history State table and invariant checks
Realtime sync Consistency through conflict and reconnect Multi-client controlled scenarios
GraphQL and webhooks Contract, authorization, retries, and partial failure API assertions and signed payload tests
Automation Fast feedback at the right layer Stable CI suite and failure diagnostics
Performance Responsiveness under a defined workload Percentiles, resource data, and user impact
Leadership Clear ownership without inflated claims Specific decision, result, and learning

Use the table as a topic map. For broader fundamentals, review SDET interview questions and model answers, then tailor each response to Linear's product instead of reciting a generic testing checklist.

1. Linear QA SDET Interview Questions: Product and Company Context

Q: What does quality mean for a product like Linear?

Quality means users can capture, organize, and update work quickly while trusting that state, permissions, history, and integrations remain correct. I would evaluate functional correctness together with perceived speed, keyboard efficiency, visual clarity, accessibility, and recovery from network or service problems. A tiny interaction defect can deserve high priority when it interrupts a repeated workflow thousands of times per week, while a rare cosmetic inconsistency may wait.

Q: Why do you want to work on quality at Linear?

I would anchor the answer in Linear's public focus on craftsmanship rather than offer generic enthusiasm for technology. The attractive challenge is preserving a precise, responsive experience across clients, cached data, asynchronous updates, and third-party integrations. I would then connect one personal example where I improved both correctness and usability, making clear which part I personally owned.

Q: Which Linear product areas would you study before the interview?

I would create a small workspace and exercise issue creation, custom statuses, projects, cycles, search, filters, comments, notifications, keyboard commands, and an available integration. During that tour I would note domain entities, state transitions, role boundaries, destructive actions, latency-sensitive paths, and confusing feedback. I would also read current developer documentation for GraphQL, OAuth, webhooks, pagination, and rate limiting because those contracts shape integration risk.

Q: How would you avoid pretending to know Linear's internal architecture?

I would label public facts, observations from the product, and design hypotheses separately. For example, I can say the public API is GraphQL and that realtime collaboration creates consistency risks, but I should ask how a particular internal service commits or distributes mutations. This distinction shows technical curiosity without turning an assumption into an invented system fact.

2. Risk-Based Test Strategy for Linear

Q: How would you build a test strategy for issue creation?

I would define invariants first: one user intent creates one authorized issue, required fields are valid, the issue belongs to the intended team, and every successful surface converges on the same record. Coverage would include editor behavior, templates, keyboard submission, API creation, retries, offline or interrupted requests, permissions, notifications, search indexing, and integration side effects. Unit tests protect validation, service tests cover persistence and authorization, contract tests cover events, and a small end-to-end set proves the primary user journey.

Q: How do you prioritize defects in a productivity application?

I score customer consequence, frequency, reach, reversibility, detectability, and availability of a safe workaround. Data loss, unauthorized visibility, duplicate changes, or silent sync divergence outrank a visible formatting issue because trust is harder to restore than appearance. Repetition matters too, so a one-second regression in a heavily used keyboard flow can carry more product cost than a slower rarely visited setting.

Q: What would your first 30 days in a Linear quality role look like?

The first phase would map the product, release path, defect history, observability, ownership, and current feedback times. Next I would pair with engineers and designers on one active feature, contribute exploratory and automated evidence, and trace a change from local test through production monitoring. By day 30 I would propose one bounded improvement, such as deterministic sync fixtures or clearer flaky-test ownership, with a baseline and an agreed success measure.

Q: How do you decide what not to automate?

I avoid automating checks whose expected result is subjective, rapidly changing, cheaper to inspect, or unsupported by controllable test data. Early interaction design, visual feel, copy nuance, and open-ended exploration often benefit from skilled human observation before stable assertions exist. I still capture charters and findings, then automate durable regressions or reusable mechanisms once the team understands the risk.

3. Manual and Exploratory Testing Scenarios

Q: Design an exploratory test charter for Linear's issue editor.

My charter would explore whether a user can compose, format, reference, submit, abandon, and recover an issue without losing intent. I would vary long Markdown, pasted links, mentions, attachments, rapid keyboard actions, navigation during drafting, two tabs, slow network, failed upload, and permission changes. Evidence would include a compact action timeline, console and network clues, the final server state, and any mismatch between visible confirmation and durable data.

Q: How would you test keyboard-first workflows?

I would map commands by context and verify discoverability, focus location, disabled states, repeat behavior, modal precedence, browser and operating-system conflicts, and recovery after Escape. Chained shortcuts need timing tests, while destructive commands require enough feedback to prevent accidental execution without making expert use cumbersome. I would repeat core journeys without a pointer and pair functional checks with screen-reader focus announcements rather than treating keyboard access as a shortcut-only feature.

Q: How would you test search and filtering?

I would establish a controlled corpus containing overlapping titles, descriptions, identifiers, labels, states, assignees, dates, projects, archived objects, and permission boundaries. Tests would cover tokenization, special characters, empty results, combined filters, saved views, stable ordering, newly updated records, pagination, and removal from visibility after access changes. The primary oracle is not just whether a row appears, but whether every returned object is authorized and the query state remains understandable in the URL or interface.

Q: What edge cases matter when deleting or archiving work items?

I would clarify the product distinction between completed, canceled, archived, soft-deleted, restored, and permanently removed states. Then I would cover parent and child relationships, linked projects, comments, attachments, search, activity history, notifications, integrations, direct URLs, retention windows, and simultaneous edits. Confirmation copy, undo or restore behavior, and late-arriving events must match the actual recovery promise, especially when one user's action affects a shared workspace.

4. Issues, Projects, Cycles, and Workflow State

Q: How would you test configurable issue statuses?

I would model status categories and team-specific statuses separately because display names can change while semantic categories drive behavior. Coverage would include creating, renaming, ordering, deleting, and migrating a status, plus transitions from API, keyboard, board, automation, and integration paths. Existing issues, filters, cycle calculations, history, and notifications must remain coherent when configuration changes during active work.

Q: How would you test cycle rollover?

I would freeze time in a controlled environment and create completed, canceled, backlog, triage, unstarted, and started issues near the boundary. At rollover I would assert which items move, which remain, how estimates and graphs are attributed, and whether cooldown rules or team settings alter the result. Re-running the scheduler must not duplicate membership or notifications, and a partially failed job needs an observable, safe recovery path.

Q: What invariants would you define for projects and project status?

A project's status, milestones, member access, related issues, updates, and displayed progress should represent one coherent lifecycle. I would test manual status changes independently from issue completion because project state may not be derived automatically, then verify archive eligibility and restoration. Cross-team projects deserve special attention to permission intersections, issue ownership, filters, and aggregation when one participating team changes configuration.

Q: How do you test two users editing the same issue?

I would control two authenticated browser contexts and vary the order and timing of title, description, assignee, label, and status changes. Expected behavior depends on the field and conflict policy, so I would first clarify whether merging, last-write resolution, rejection, or visible conflict handling is intended. Both clients must eventually converge, history must preserve an accurate actor and change sequence, and neither user should see a success state for a mutation that was discarded.

5. Test Automation and Playwright Coding

Q: What automation architecture would you propose?

I would keep domain rules and state transitions under fast unit tests, place authorization and persistence at the service layer, and use contract tests for GraphQL and event boundaries. Component tests can validate rich editors and interaction state, while browser tests remain a narrow set of high-value workflows across supported clients. The framework should expose domain fixtures, isolated accounts, deterministic clocks, controllable event delivery, useful traces, and parallel-safe cleanup rather than bury product behavior inside page-object plumbing.

Q: Show a runnable test for optimistic UI rollback.

The essential behavior is that an immediate visual update improves speed but a rejected mutation cannot leave the client lying about durable state. This Playwright test uses only public APIs from @playwright/test, intercepts a failed request, and asserts both the optimistic state and rollback. Save it as tests/issue-state.spec.ts.

import { test, expect } from '@playwright/test';

test('rolls back an optimistic status after a failed mutation', async ({ page }) => {
  let mutationCount = 0;

  await page.route('https://linear.test/graphql', async (route) => {
    mutationCount += 1;
    await new Promise((resolve) => setTimeout(resolve, 400));
    await route.fulfill({
      status: 500,
      headers: { 'access-control-allow-origin': '*' },
      contentType: 'application/json',
      body: JSON.stringify({ errors: [{ message: 'temporary failure' }] }),
    });
  });

  await page.setContent(`
    <button>Move to Done</button>
    <p role='status'>Todo</p>
    <script>
      document.querySelector('button').addEventListener('click', async () => {
        const status = document.querySelector('[role=status]');
        status.textContent = 'Done';
        try {
          const response = await fetch('https://linear.test/graphql', {
            method: 'POST',
            body: '{}',
          });
          if (!response.ok) throw new Error('mutation failed');
        } catch {
          status.textContent = 'Todo';
        }
      });
    </script>
  `);

  const status = page.getByRole('status');
  await page.getByRole('button', { name: 'Move to Done' }).click();
  await expect(status).toHaveText('Done');
  await expect(status).toHaveText('Todo');
  expect(mutationCount).toBe(1);
});

Install and verify it with the following commands. A correct run ends with 1 passed; this local example does not require a Linear account or secret.

npm install --save-dev @playwright/test
npx playwright install chromium
npx playwright test tests/issue-state.spec.ts

Q: How would you reduce flaky browser tests?

I would classify failures before changing retries: product defect, test defect, environment fault, data collision, dependency instability, or unknown. Remedies include web-first assertions, role-based locators, controlled data, explicit event hooks, isolated workers, frozen clocks, and assertions on observable outcomes instead of arbitrary sleeps. Retries can measure instability and preserve traces, but a quarantined test needs an owner, reason, expiry, and replacement coverage so quarantine does not become deletion by neglect.

Q: Which selectors would you use for Linear-like UI tests?

I prefer accessible roles and names because they reflect the interface available to users and remain meaningful during refactoring. Stable test IDs are appropriate for virtualized rows, canvas-like controls, or repeated structures that lack a reliable semantic handle. CSS structure and text fragments are last resorts, and selector choice never substitutes for testing keyboard focus, announcements, and the underlying API effect. See Playwright interview questions for additional locator and synchronization practice.

6. Linear QA SDET Interview Questions: GraphQL, OAuth, and Webhooks

Q: How would you test Linear's GraphQL API?

I would validate schema types and nullability, authentication, object-level authorization, filtering, cursor pagination, mutation effects, complexity, and compatible evolution. GraphQL can return HTTP 200 with both data and errors, so the client and test must inspect the response body instead of using transport status as the sole oracle. For every mutation I would verify the returned object, durable query result, authorized event, and absence of unintended duplicate effects. API testing interview questions provide a useful broader drill set.

Q: How would you test pagination while issues are changing?

I would seed records with known ordering keys, request the first page, insert or update boundary records, and continue with the returned cursor. The assertions check for contract-defined ordering, no accidental duplicates, no unauthorized objects, correct page metadata, and documented behavior when the underlying set changes. Deep collections also need small and large page sizes, invalid cursors, deleted boundary nodes, filters, and complexity-cost awareness.

Q: How would you test rate limiting and OAuth safely?

For rate limits I would use an approved environment to check identity scope, response errors, documented headers, reset behavior, and client backoff without generating uncontrolled traffic. OAuth coverage includes state validation, PKCE where used, redirect URI matching, least-privilege scopes, consent, token expiry, refresh rotation, revocation, and cross-workspace isolation. Tokens never appear in source, screenshots, traces, or assertion messages, and a mock authorization server is kept aligned through contract tests against an authorized integration environment.

Q: Write a runnable Linear webhook signature test.

Linear documents Linear-Signature as a hex HMAC-SHA256 over the raw request body, and recommends rejecting stale webhookTimestamp values. The implementation below validates hex length before timingSafeEqual, parses the signed raw body, and enforces a 60-second replay window. Save the function as webhook.mjs.

import { createHmac, timingSafeEqual } from 'node:crypto';

export function verifyLinearWebhook(rawBody, signature, secret, now = Date.now()) {
  if (!/^[0-9a-f]{64}$/i.test(signature)) return false;

  let payload;
  try {
    payload = JSON.parse(rawBody);
  } catch {
    return false;
  }

  if (typeof payload.webhookTimestamp !== 'number') return false;
  if (Math.abs(now - payload.webhookTimestamp) > 60_000) return false;

  const expected = createHmac('sha256', secret).update(rawBody).digest();
  const received = Buffer.from(signature, 'hex');
  return timingSafeEqual(expected, received);
}

Save this companion suite as webhook.test.mjs. It proves an authentic current payload passes and that changing even insignificant raw bytes invalidates the signature.

import test from 'node:test';
import assert from 'node:assert/strict';
import { createHmac } from 'node:crypto';
import { verifyLinearWebhook } from './webhook.mjs';

const secret = 'local-interview-secret';
const now = 1_800_000_000_000;
const rawBody = JSON.stringify({
  type: 'Issue',
  action: 'update',
  webhookTimestamp: now,
});
const signature = createHmac('sha256', secret).update(rawBody).digest('hex');

test('accepts an authentic current payload', () => {
  assert.equal(verifyLinearWebhook(rawBody, signature, secret, now), true);
});

test('rejects a body changed after signing', () => {
  assert.equal(verifyLinearWebhook(`${rawBody} `, signature, secret, now), false);
});

Run node --test webhook.test.mjs with Node.js 22 or newer and expect two passing tests. A production consumer must additionally preserve the raw bytes before JSON middleware, deduplicate deliveries, acknowledge within the documented deadline, and make downstream processing idempotent.

7. Realtime Sync, Caching, and Offline Failure Modes

Q: How would you test realtime issue synchronization?

I would run two clients against controlled accounts, mutate one field, and observe local acknowledgement, server confirmation, event delivery, and convergence on the second client. Scenarios include delayed, duplicated, dropped, and reordered updates; reconnect after a cursor gap; rapid successive edits; and stale reads from another surface. The oracles cover final state, transition history, actor attribution, bounded propagation, and absence of phantom notifications.

Q: What could go wrong with an optimistic mutation?

The server may reject authorization or validation, the response may be lost after commit, a newer remote value may arrive, or a retry may duplicate a non-idempotent effect. I would verify pending indication, rollback or reconciliation, ordering against later edits, and the user's ability to understand which value is durable. The client should not silently replace a confirmed newer state with an old snapshot merely because an earlier request finishes late.

Q: How would you test reconnect after missing events?

I would disconnect a client at a known cursor, apply a bounded sequence of changes elsewhere, then force normal reconnect, expired-cursor, and snapshot fallback paths. The restored client must converge without duplicate entities, missing removals, reversed transitions, or unread-count drift. Metrics should reveal resync frequency, duration, rejected events, and repeated fallback so a correctness mechanism does not hide an operational regression.

Q: How do you distinguish a stale cache defect from a persistence defect?

I compare the initiating response, an independent authenticated API read, a fresh client, the affected client's local state, and the event stream using one correlation identifier. If authoritative reads are correct while one client remains wrong, cache invalidation or event application becomes the leading branch; if independent reads disagree, I investigate write or projection behavior. I preserve timestamps and avoid refreshing away the evidence before the sequence is understood.

8. Accessibility, Visual Quality, and Performance

Q: How would you test accessibility in a dense issue tracker?

I would cover semantic names, headings and landmarks, keyboard reachability, visible focus, focus restoration, dialog containment, status announcements, error association, contrast, zoom, reflow, and motion preferences. Virtualized lists and drag interactions need usable non-pointer alternatives plus correct position and selection communication. Automated scanning catches part of the problem, while screen-reader and keyboard journeys reveal whether the workflow is actually operable; accessibility testing interview questions can deepen this preparation.

Q: How would you test a command menu?

I would verify opening from supported contexts, focus placement, search ranking, disabled explanations, nested commands, Escape behavior, and restoration to the invoker. Results must respect workspace permissions and current object state, while repeated keystrokes should not execute a destructive command twice. Long lists, no matches, IME input, screen-reader announcements, small viewports, and shortcut collisions extend coverage beyond the obvious path.

Q: How would you investigate a perceived performance regression?

I would reproduce the exact journey with a defined dataset, device class, browser, cache state, network profile, and build comparison. Then I would separate input delay, rendering, JavaScript work, network latency, server time, synchronization delay, and layout instability using traces and performance profiles. The report would pair percentiles and resource evidence with the user-visible consequence instead of reducing responsiveness to one average page-load number.

Q: What performance scenarios matter most for Linear?

Likely candidates include workspace startup, opening a large issue, typing in an editor, command-menu response, filtering a large view, switching teams, and applying realtime updates during active input. I would add sustained use to reveal memory growth, subscription leaks, cache expansion, and degradation after repeated navigation. Targets must come from product requirements and supported environments, and performance testing interview questions help structure workload and percentile discussions.

9. Reliability, Security, and Release Confidence

Q: How would you test webhook delivery behavior?

The receiver should verify the raw-body signature and timestamp, return success quickly, deduplicate by stable delivery identity, and process business effects asynchronously when appropriate. I would simulate timeout, non-200 responses, documented retry intervals, duplicate deliveries, events arriving after newer state, malformed JSON, secret rotation, and downstream outage. The final assertion is a single correct business effect plus enough delivery history to diagnose an exhausted retry sequence.

Q: Which security risks deserve special attention?

Workspace software concentrates potentially sensitive roadmap, customer, and engineering information, so tenant isolation and object authorization are primary. I would test role and team boundaries across UI, GraphQL, attachments, direct links, search, exports, webhooks, integrations, and cached data after access revocation. OAuth scope, secret storage, auditability, injection through rich text, and artifact redaction also matter, but any active security test requires explicit authorization and safe limits.

Q: How would you test a dangerous database migration?

I would restore production-shaped synthetic data into an isolated environment, run the exact forward migration, validate row counts and domain invariants, and rehearse rollback or forward repair. Static checks should flag destructive statements, while CI blocks unreviewed loss-prone operations and verifies application compatibility during mixed-version deployment. Backup existence is insufficient, so recovery time and restored consistency need a practiced test with recorded evidence.

Q: What evidence supports a release recommendation?

I summarize changed risks, requirement and invariant coverage, exploratory findings, automated results, unresolved defects, environment gaps, performance or accessibility impact, observability, and recovery readiness. The recommendation names residual risk and a concrete path, such as phased exposure with an abort signal, instead of declaring the build simply safe or unsafe. Product and engineering owners make the accountable decision, while QA ensures the evidence is legible and uncertainty is not hidden.

10. Coding, Test Data, and CI Questions

Q: What coding exercises should a Linear SDET expect?

No public question list guarantees a format, so I would prepare common data structures, asynchronous control, API parsing, event deduplication, state machines, test design, and debugging in the language named by the role. Practice writing executable tests, explaining complexity, handling invalid input, and improving a first solution after feedback. Coding response evaluation for SDETs is useful for judging correctness, communication, and test completeness together.

Q: How would you generate test data for issue workflows?

I would expose builders for workspace, team, user, role, workflow, project, cycle, and issue while requiring each test to state only meaningful differences. Unique worker namespaces prevent parallel collisions, and direct API or database setup may accelerate tests when it honors the same domain invariants. Cleanup uses tagged ownership and safe expiry, never a broad deletion query against a shared environment.

Q: How would you test event deduplication?

I would submit the same event sequentially, concurrently, after consumer restart, and on both sides of the deduplication retention boundary. Assertions cover one state change, one downstream notification where appropriate, durable storage of the key, payload-conflict behavior, and metrics for suppressed duplicates. The concurrency test needs a barrier so both workers contend before either completes, otherwise a passing test may never exercise the race.

Q: What should happen when a critical CI test flakes?

I would preserve its trace and environment, rerun only to classify reproducibility, and determine whether the signal represents product, test, infrastructure, data, or unknown failure. Release policy should reflect the protected risk rather than automatically ignoring red after one green retry. If temporary quarantine is necessary, I create replacement coverage or containment, assign an owner and deadline, and track first-attempt pass rate until the underlying cause is removed.

11. Collaboration, Product Judgment, and Debugging

Q: Tell me about a time you disagreed with an engineer about a defect.

I would describe the actual user consequence, the engineer's reasonable counterpoint, and the evidence that changed or refined the decision. A strong story might show that I narrowed the reproduction, compared expected behavior with design intent, and proposed a lower-cost containment rather than escalating labels. The result should include what shipped and what I learned, not a claim that QA won an argument.

Q: How would you work with a designer on subtle interaction quality?

I would test prototypes early and describe observations in terms of user goal, context, and friction instead of presenting personal taste as a defect oracle. Together we could define examples for focus movement, loading feedback, animation, truncation, empty states, and error recovery, then decide which belong in design tokens, component tests, visual checks, or exploratory review. Recording the decision prevents the same ambiguity from reopening late in the release.

Q: Walk through your debugging method for a disappearing comment.

I first preserve the comment ID, actor, workspace, timestamps, client version, request, response, and sync events while avoiding sensitive content in artifacts. I then compare durable API state, permissions, fresh-client behavior, local cache, filters, and event ordering to find the earliest layer where expected and observed state diverge. Each experiment changes one variable, and the final correction includes a regression at the lowest layer that could reliably catch the cause.

Q: How do you report a bug so it gets fixed quickly?

The report leads with customer impact and a concise observed-versus-expected statement, followed by the smallest deterministic reproduction. I attach identifiers, environment, build, timing, relevant logs or trace, frequency, and a hypothesis labeled as a hypothesis. Sensitive values are redacted, related symptoms are separated from proven cause, and the report notes whether the state can be recovered.

12. Interview Questions and Answers: Leadership and Behavioral Signals

Q: Describe an automation improvement you led.

I would establish the initial cost, such as 40 minutes of serial feedback or frequent data collisions, and explain why the selected intervention addressed that constraint. The story should cover design, adoption, resistance, rollout, and a measured after-state like shorter median feedback plus higher first-attempt reliability. I would distinguish my contribution from the team's work and name one trade-off, such as extra fixture maintenance.

Q: Tell me about a production defect you missed.

I would state the impact directly, explain the assumptions and missing detection mechanism, and avoid blaming an individual or unusual customer. Then I would cover containment, correction, and a verified prevention change, perhaps an invariant monitor, lower-layer regression, safer rollout, or improved review gate. The lesson should alter future practice rather than end with a vague promise to test more carefully.

Q: How do you influence quality without owning release authority?

I translate uncertainty into scenarios, evidence, customer consequence, and options that decision owners can evaluate. Early participation in design and implementation is more effective than a late veto, so I ask about observability, failure states, migration safety, and rollback while choices are still inexpensive. When risk remains, I document the recommendation and support the accountable decision while continuing to watch agreed signals.

Q: What questions would you ask Linear interviewers?

I would ask which product invariant is hardest to protect, where current feedback is slow or unreliable, and how quality responsibilities are shared among engineering, design, and dedicated test roles. I would also ask how sync failures are reproduced, what release evidence changes decisions, and what success for this hire looks like after six months. These questions reveal operating reality while helping both sides assess whether my strengths match the team's highest-leverage problem.

You can rehearse these prompts in mock interview practice and use the resume analysis workspace to align examples with the exact role. Keep the stories factual, quantify only what you can defend, and remove confidential employer or customer details.

How Interviewers Grade Your Answers

Interviewers usually listen for reasoning quality more than the number of test cases you can list. A credible response identifies the user, risky state, invariant, trust boundary, failure mechanism, controllable setup, oracle, and recovery signal in a logical sequence. Senior answers also discuss trade-offs, observability, rollout, and how the test remains maintainable.

Signal Strong evidence Weak evidence
Product judgment Prioritizes by consequence and repetition Calls every defect critical
Technical depth Explains race, cache, contract, and oracle Names tools without mechanisms
Test design Chooses layers and controlled data deliberately Lists UI cases only
Communication States assumptions and asks focused questions Hides uncertainty behind jargon
Ownership Separates personal action from team outcome Inflates credit or blames others
Learning Verifies prevention after a miss Promises to be more careful

For scenario questions, clarify one or two facts, sketch the state model, and go deep on the highest-risk branch. For coding, make a small correct solution run before adding abstractions, then test invalid and concurrent behavior where relevant. For behavioral prompts, use a compact situation, decision, action, measurable result, and changed practice rather than a rehearsed monologue.

Common Mistakes

  • Claiming these are confirmed internal Linear questions or assuming every role uses the same interview loop.
  • Describing only happy paths for a product built around shared, asynchronous state.
  • Equating HTTP 200 with GraphQL operation success and ignoring partial errors.
  • Testing optimistic rendering without checking rejection, retry, and convergence.
  • Using arbitrary sleeps to coordinate realtime tests instead of controllable events and observable state.
  • Treating visual polish, keyboard speed, accessibility, and correctness as unrelated quality dimensions.
  • Automating every scenario through the browser when lower layers give faster, clearer evidence.
  • Reporting average response time without workload, percentiles, resources, correctness, or user effect.
  • Keeping tokens or customer content in traces, fixtures, screenshots, and bug reports.
  • Reciting tools without explaining the risk, oracle, failure diagnosis, and maintenance trade-off.
  • Giving leadership stories with no baseline, individual contribution, measurable outcome, or learning.
  • Inventing architecture details instead of stating an assumption and asking a precise question.

Conclusion

Linear qa sdet interview questions reward a blend of product sensitivity and engineering rigor. Prepare to reason about shared workflow state, optimistic interactions, realtime convergence, GraphQL, OAuth, webhooks, accessibility, performance, secure automation, CI, and release evidence while preserving the speed and focus users expect.

Choose one issue workflow and test it end to end on paper: define its invariant, states, permissions, competing updates, API response, emitted event, cached views, failure recovery, and monitoring. Then practice explaining why each check lives at its chosen layer. That exercise produces a stronger interview answer than memorizing another generic list.

Interview Questions and Answers

How would you test issue creation at Linear?

I would define one authorized, durable issue per user intent as the central invariant. I would cover editor and keyboard paths, templates, validation, retries, permission changes, API state, search visibility, notifications, and integration events. Layered checks would keep most evidence below the browser while retaining a few complete journeys.

How would you validate an optimistic UI update?

I would observe the immediate local change, pending state, server acknowledgement, and final convergence across a second client. Rejection, lost response, delayed response, and a newer conflicting edit must not leave a false confirmed value. The test also verifies that rollback is understandable and does not erase later work.

How do you test GraphQL partial failures?

I send queries where the contract can return usable data alongside field errors and assert both portions explicitly. The client must avoid presenting failed fields as complete, while authorization errors cannot leak hidden object details. Transport status alone never determines operation success.

How would you test Linear webhooks?

I verify HMAC-SHA256 against the untouched raw body, reject stale timestamps, and deduplicate delivery identity before applying effects. Controlled tests inject timeouts, non-200 responses, duplicates, malformed payloads, and out-of-order updates. The receiver acknowledges quickly and exposes enough telemetry to reconcile every event.

What makes a realtime synchronization test reliable?

The setup controls clients, accounts, event timing, connectivity, and authoritative state. Assertions wait on observable transitions or hooks instead of fixed delays and check convergence plus history. Failed runs preserve correlation IDs and traces for each leg of the mutation.

How would you test configurable workflows?

I vary team status creation, naming, order, deletion, and category mapping while issues remain active. Every UI, API, automation, and integration transition must respect the new configuration. Filters, history, projects, cycles, and notifications should continue to describe the same domain state.

How would you assess performance in Linear?

I choose repeated user journeys such as opening an issue, typing, filtering, invoking commands, and applying remote updates. A reproducible workload records percentiles, long tasks, network and server timing, resource use, and correctness. I compare builds on the same environment and explain the perceptible impact.

What is your approach to flaky tests?

I classify the source before editing the test and preserve evidence from the first failure. Data isolation, semantic locators, deterministic clocks, controllable dependencies, and condition-based assertions remove common causes. Any quarantine has an owner, deadline, documented risk, and replacement signal.

How do you test workspace authorization?

I create a role matrix across workspaces, teams, private resources, attachments, search, direct URLs, exports, integrations, and cached clients. Positive and negative checks call the service directly because hidden controls are not enforcement. Revocation tests confirm old sessions and locally held data stop exposing protected content as designed.

How would you investigate stale issue state?

I preserve identifiers and compare the mutation response, independent API read, fresh client, affected cache, and received events. That sequence separates persistence, projection, delivery, and local-application failures. The earliest divergence guides the next experiment and the eventual regression layer.

When should a scenario stay manual?

I keep work exploratory when the team is still learning the risk, the oracle depends on nuanced human judgment, or setup costs exceed repeat value. Findings are captured as charters and concrete evidence rather than left informal. Stable, consequential regressions become automation candidates once their expected behavior is clear.

How would you communicate a risky release decision?

I present changed behavior, protected invariants, test evidence, missing coverage, known defects, monitoring, and recovery options. The recommendation states customer consequence and residual uncertainty without hiding behind a pass percentage. Accountable owners decide, and I help define phased exposure and abort conditions.

Frequently Asked Questions

What is the Linear QA or SDET interview process in 2026?

Linear does not publish one universal QA or SDET sequence for all openings. The role, team, seniority, and location can change the stages, so confirm coding, system design, take-home, and product exercise expectations with the recruiter.

What should I study for a Linear QA interview?

Study issue workflows, projects, cycles, permissions, search, keyboard interaction, accessibility, and shared-state failure modes. Add exploratory testing, defect communication, release judgment, and examples that show care for repeated interaction details.

What should I study for a Linear SDET interview?

Add coding, asynchronous behavior, Playwright or the stack named in the posting, GraphQL, OAuth, webhooks, state machines, test architecture, parallel data, CI, and debugging. Practice producing a runnable solution and explaining its concurrency and maintenance limits.

Does Linear use GraphQL?

Linear's public API uses GraphQL at https://api.linear.app/graphql and supports personal API keys and OAuth 2.0. Tests should inspect GraphQL errors even when HTTP succeeds, then validate authorization and durable mutation effects.

How should I practice realtime sync testing?

Use two isolated clients and control update timing, disconnection, duplication, reordering, and reconnect. Assert final convergence, accurate history, authorization, and visible recovery rather than checking only that an event arrived.

Do I need Playwright for a Linear interview?

Use the technology named in the current role description as the main signal. Playwright is still useful practice for multi-context browser testing, request interception, accessible locators, traces, and web-first assertions.

How can I make my Linear interview answers company-specific?

Connect each answer to fast issue workflows, synchronized state, keyboard use, product polish, team permissions, GraphQL, or integrations. State what you observed publicly and label architecture assumptions so specificity never becomes fabrication.

Related Guides