Resource library

QA Interview

Mock Interview Score History

Track mock interview score history to see skill trends, identify recurring answer gaps, and focus each practice session where it matters most.

16 min read | 3,251 words

TL;DR

Mock interview score history is most useful as a trend log, not a leaderboard. Compare normalized percentages, recurring feedback, question categories, and session context, then use the clearest repeated gap to define the next practice session.

Key Takeaways

  • Compare percentages, question categories, and feedback instead of treating one total as a complete verdict.
  • Keep the interview configuration similar when you want a meaningful trend across sessions.
  • Use repeated weak categories to choose the next practice goal and one concrete evidence example.
  • Separate answer quality from question mix, session length, and scoring conditions before judging progress.
  • Verify that a session saved successfully before relying on it as part of your history.
  • Turn each review into one focused practice action, then repeat under comparable conditions.

Mock interview score history is a record of past practice results that helps you compare performance over time. For QA and SDET candidates, the useful signal is not one high or low total. It is the repeated pattern across normalized scores, question categories, detailed feedback, session topics, and the actions you took before the next attempt.

Use this guide to read the history shown by QAJobFit without assigning meaning the product does not claim. The workflow described below follows the current behavior in InterviewPrep.tsx and interviewScoring.ts. It also shows how to turn a stored practice result into interview evidence rather than another number to watch.

1. What Does Mock Interview Scoring Measure?

QAJobFit evaluates each submitted answer against the rubric attached to its question. The primary scoring path asks an AI evaluator acting as a senior SDET interviewer to return an integer score from 0 through 10 and concise feedback. A blank submission receives zero. Text, code, and diagram-description answers are converted into scoring input, so the score reflects the submitted content for that question rather than typing speed or confidence alone.

If AI scoring is unavailable or returns an unusable response, the application uses a local evaluation. That fallback extracts meaningful terms from the expected answer and required points, measures how many appear in the response, and adds a depth component based on answer length up to 120 words. Rubric coverage contributes seven parts of the fallback formula and depth contributes three. A nonblank fallback result is clamped from 1 through 10. This is application behavior, not a universal interview grading standard.

That distinction matters for mock interview score history scoring. A score is evidence about how a submitted answer aligned with the question rubric under the available evaluation path. It does not directly measure employability, communication style, seniority, or how every human interviewer would react. Detailed feedback supplies the context that the number lacks.

After all questions are evaluated, QAJobFit calculates the session total by adding the question scores. It calculates the maximum by adding each question's maxScore. The history percentage is then rounded from total score divided by maximum score. That normalized percentage makes differently sized totals readable, but question mix can still differ. For broader preparation, pair score review with the QA and SDET interview prep workspace and the QA behavioral interview questions guide.

2. When Should QA Candidates Use Mock Interview Score History?

Use score history after you have enough comparable practice to ask a specific question. Useful questions include: Are API explanations improving? Do scenario answers still omit risk and tradeoffs? Does feedback repeatedly ask for a concrete example? Are scores stable when the question mix changes? History is strongest when it tests a hypothesis instead of feeding a vague desire to improve.

A working QA engineer can use it before a job search to establish a baseline. Run a session that matches the likely role, review weak categories, and choose one response habit to change. During active interviewing, use shorter review cycles to rehearse skills named in a job description. After a real interview, practice the category that felt weak, but do not copy confidential company questions or treat a mock score as proof of a hiring outcome.

The workflow also helps career switchers detect missing explanation structure. A candidate may know the testing concept but fail to connect context, action, result, and tradeoff. Repeated feedback exposes that pattern more reliably than rereading a single answer. If your examples themselves are thin, use the QA portfolio guide for candidates without experience to create honest project evidence.

Do not use history to compare yourself with another candidate. The repository code provides personal session history for the authenticated user, not a population benchmark. It does not publish percentiles, pass marks, or employer cutoffs. Use mock interview score history for QA engineers as a private feedback loop: attempt, inspect, adjust, and retest.

3. What Inputs Are Required Before You Start?

A useful comparison starts before the first answer. In QAJobFit, the mock interview setup can include tools, industry, seniority, and a session duration from 15 through 120 minutes. The app assembles questions from that configuration, shows a briefing, runs the interview, evaluates the submitted answers, creates a summary, and attempts to save the session. Those inputs affect what the resulting percentage means.

Record enough context to explain a change later. You do not need a complicated spreadsheet. A brief note can capture the date, target role, selected tools, seniority, duration, preparation focus, and any unusual condition such as interruption or an incomplete answer. QAJobFit stores a topic composed from the level label and selected tools when a configuration exists. The saved history row also contains totals, the maximum, question count, and creation time.

Input or signal Why it matters Good comparison practice Misleading use
Topic and tools They indicate the technical scope Compare sessions with overlapping stacks Treat unrelated stacks as identical
Seniority level It can influence question selection Repeat at the same target level Compare junior and senior runs as one trend
Duration and question count They change workload and exposure Note both before comparing percentages Assume equal percentages came from equal effort
Total and maximum Together they create the displayed percentage Compare the normalized result Compare raw totals alone
Per-question category It locates strengths and gaps Group repeated feedback by category Average every category into one story
Feedback It explains what the score needs next Convert one repeated point into an action Collect comments without revising answers
Save status It determines whether the run joins history Confirm the result reports a successful save Assume every completed run persisted

Authentication is another required condition. InterviewPrep.tsx redirects a user who is not signed in to the authentication route. Once signed in, the page loads that user's history. If you are still preparing the application materials that define your target, build an ATS-friendly QA resume and then tailor the QA resume to a job description before selecting a practice focus.

4. How Does the Repository Workflow Operate?

The mock interview score history workflow begins when InterviewPrep.tsx loads history for the authenticated user's ID. The query in interviewScoring.ts selects the session ID, topic, total score, maximum score, question count, and creation timestamp. Results are ordered newest first and limited to 20. The home screen displays up to eight recent rows, each with topic, letter grade, rounded percentage, and a localized date.

During a session, the page evaluates answers with up to four concurrent workers. Each worker takes the next question and calls the answer evaluator. When all results are ready, the app requests a summary, builds the topic, and attempts to save the session. The page then sets the detailed results, summary, save status, and final view. If the save succeeds, history refreshes.

The save operation stores every scored question, not a shortened subset. Each detail includes the prompt, category, answer content, answer mode, score, and feedback. It also saves the calculated total and maximum. The source comment explains why: truncating detail while keeping totals from the full session would make the history row and its supporting detail disagree.

The questions payload is sent as a JSON-compatible value to a Supabase table. Supabase explains that Postgres supports json and jsonb, and recommends jsonb for most variable-schema use cases because it is stored in a decomposed binary format and can be processed without reparsing the original text. The same official guide cautions against replacing structured relational design indiscriminately with JSON. See the Supabase guide to JSON and unstructured data.

This behavior also clarifies what QAJobFit does not claim. The named scoring files do not use browser storage for interview history. Browser localStorage persists origin-specific string data across browser sessions, subject to browser policy, according to the MDN localStorage reference. That makes it a useful architectural comparison, but the verified QAJobFit history path is a Supabase query scoped by user ID.

5. How Are Scores and Signals Calculated?

Start with the smallest unit: one answer. A valid AI result is rounded, clamped between zero and ten, and paired with feedback. The evaluator receives the question prompt, expected rubric points, optional must-include points, optional red flags, and up to the first 4,000 characters of scoring input. The returned feedback is trimmed and limited to 2,000 characters before use.

The fallback path is deterministic but narrower. It lowercases text, extracts unique terms with at least four characters, removes a small stop list, then compares the answer terms with expected terms. Coverage becomes a value from zero to one. Answer depth rises with word count until 120 words. The formula rounds coverage * 7 + depth * 3, then clamps a nonblank answer from one to ten. Missed terms can appear in feedback, limited to four terms.

The local summary sorts questions from highest to lowest score. Scores of seven or more can become strengths, while scores below seven can become improvements and focus areas. It takes up to three strength lines, three improvement lines, and four unique weak question types. It also recommends reviewing detailed feedback and repeating the interview with a concrete example in every answer. When AI summarization succeeds, returned arrays are cleaned, limited to six entries, and supplemented with fallback values when needed.

At the history level, three cards appear only when at least one saved session exists:

  • Interviews taken is the number of loaded history rows, so its current maximum is constrained by the 20-row query limit.
  • Best score is the highest rounded session percentage among those loaded rows.
  • Average score is the rounded arithmetic mean of those loaded percentages.

These are dashboard summaries, not long-term statistical guarantees. A user with more than 20 stored sessions sees calculations based on the newest 20 returned by the current query. Likewise, the recent list shows only the newest eight from that loaded set. For an independent view of how your application evidence aligns with a role, try the resume comparison tool.

6. Step-by-Step Mock Interview Score History Workflow

Follow one controlled loop rather than taking many unrelated mocks. The point is to connect a score to a behavior change. This numbered process also serves as a mock interview score history checklist.

  1. Define one target. Choose the role level, stack, and interview skill you want to test. A target such as "explain API risk decisions with evidence" is easier to evaluate than "get better at interviews."

  2. Create a comparable baseline. Open the QAJobFit practice experience or the mock tab in Interview Prep. Select a configuration that resembles your target role. Note the tools, level, duration, and question count so you can repeat the conditions.

  3. Answer under realistic limits. Complete each response without polishing it after the fact. For technical answers, explain why you chose an approach, what risk it addressed, and how you verified the result. For behavioral answers, use a truthful situation and state your own contribution.

  4. Confirm the session saved. The result view receives a save-status value from the database insert. If saving fails, the utility logs a warning and returns false. Do not assume a completed result automatically joined your persistent history. Capture your action notes separately if needed.

  5. Normalize before comparing. Use the displayed percentage, which is total divided by maximum and rounded, rather than raw totals. Then check whether the sessions had a comparable topic, level, duration, and question mix. A normalized number does not erase contextual differences.

  6. Read details before the summary. Find the lowest questions and read their feedback. Group feedback by question category. Look for repeated missing signals such as tradeoffs, concrete examples, risk reasoning, validation, or measurable outcomes.

  7. Choose one correction. Rewrite or rehearse only the repeated gap with the highest interview relevance. If feedback repeatedly requests an example, prepare one evidence-backed project story. If it requests depth, add decision logic rather than filler words.

  8. Repeat under similar conditions. Keep the main configuration stable and change the answer behavior you selected. A later increase is more useful when you can name what changed. A flat result can still reveal that your intervention did not address the rubric gap.

  9. Review a short series. Compare at least a few related attempts before declaring a trend. Avoid inventing a universal minimum number. The right amount depends on question variation and whether the same feedback keeps returning.

  10. Move the evidence into preparation. Add the improved explanation to your interview notes, portfolio walkthrough, or resume story. Use the resume builder when the evidence also belongs in your application materials.

7. What Are Common Interpretation Mistakes?

The first of the common mock interview score history mistakes is treating the best percentage as your true level. The best loaded session may reflect a familiar question mix, a narrower topic, or unusually strong preparation. Use the best card as one observation. Check whether the same answer qualities appear across sessions.

The second mistake is treating the displayed average as a lifetime average. Current code computes it from the history array returned by a newest-first query limited to 20. It averages rounded percentages, not all possible sessions or per-question raw scores. That is useful for a quick dashboard signal, but it should not support a claim the data does not establish.

The third mistake is ignoring a scoring-path change. AI scoring and fallback scoring both use the question rubric, but their mechanics differ. The AI path interprets the rubric and response, while the fallback uses expected-term coverage plus capped word-count depth. If feedback style changes sharply, focus on repeated concepts and answer evidence rather than overreading a one-point movement.

Other mistakes are practical:

  • Comparing raw totals when maximum scores or question counts differ.
  • Mixing unrelated tools and seniority levels into one trend.
  • Repeating sessions immediately until a familiar answer earns a better result.
  • Writing longer answers only to influence the fallback depth component.
  • Ignoring zero scores caused by blank answers or incomplete submissions.
  • Chasing a percentage without applying the detailed feedback.
  • Calling an illustrative practice score an employer benchmark.

A good review separates signal from noise. Signal is a recurring rubric gap under reasonably similar conditions. Noise is a change you cannot connect to answer quality because the topic, questions, timing, or evaluation conditions also changed. If you need a clearer view of the full candidate journey, read how QAJobFit works and keep score history in its proper role: guided practice evidence.

8. How Do You Turn Findings Into Evidence?

A score becomes useful when it changes what you can say and show. Start with one feedback statement. Translate it into an observable answer requirement, then attach real project evidence. For example, "add more depth around risk" can become: state the failure impact, explain why you prioritized the test, identify the oracle, and describe the release decision that followed.

Use a simple evidence record with five fields: question category, repeated gap, corrected answer behavior, real example, and verification. A verification point should be something you actually observed, such as a defect prevented, a regression isolated, a review decision supported, or an automation failure diagnosed. Do not invent metrics because a stronger-looking number feels persuasive. Honest scope and clear reasoning are credible.

Then connect that record to the hiring artifact where it belongs. A detailed debugging story may support a portfolio case study. A concise impact statement may strengthen a resume bullet. A decision-and-tradeoff explanation may become a behavioral response. The QA portfolio guide can help newer candidates turn self-directed projects into evidence without presenting them as paid experience.

Finally, rehearse the corrected answer in a new mock. Look for two outcomes: the feedback no longer repeats the same gap, and the response still sounds natural under time pressure. A higher number without better evidence is weak progress. A clearer, truthful, technically grounded response is progress even when question variation keeps the session percentage flat.

9. Worked Mock Interview Score History Examples

Consider an illustrative QA candidate named Alex. These values are examples, not QAJobFit benchmarks. Alex targets a mid-level web automation role and completes three sessions with the same selected tools and level. The question mix varies, but the configuration remains close enough for a careful review.

Example session Rounded score Repeated feedback signal Candidate action Responsible interpretation
Baseline 58% Answers name tools but omit decision reasons Add risk, alternatives, and verification to two stories Establishes a starting observation
Second attempt 66% Technical depth improves; examples remain generic Attach a real CI failure and debugging sequence Suggests the reasoning change helped
Third attempt 64% Strong API answer, weak behavioral specificity Prepare one truthful conflict story Overall trend is mixed, with a clearer next gap

Alex should not describe this as a guaranteed eight-point improvement. Question variation and scoring conditions prevent that conclusion. The defensible finding is narrower: feedback about decision reasoning reduced after Alex changed answer structure, while behavioral specificity remained a recurring gap. That finding defines the next session.

A second example shows why totals need context. Suppose one session earns 42 points out of 70 and another earns 30 out of 50. Both produce 60 percent after normalization. The raw totals differ, but the normalized result matches. Even then, the candidate must inspect categories and question count. Equal percentages can hide different strengths.

For a practical evidence rewrite, imagine the original answer says, "I automated the regression suite with Playwright." The revised answer might explain that the candidate selected stable, high-value checkout paths, used API setup to control preconditions, kept UI assertions on customer-visible behavior, and reviewed failures before expanding coverage. The revision is stronger because it exposes decisions and verification. It does not need an invented time-saving claim.

This is the right role for mock interview score history examples: they teach an interpretation method. They are not target scores, grading promises, or evidence that the same change will produce the same number for another person.

Conclusion: Verification Checklist and Next Steps

Before accepting a trend, verify the underlying record and your interpretation:

  • The compared sessions target similar tools, level, and interview purpose.
  • You used percentage rather than raw total when maximum scores differed.
  • You checked question count, categories, and detailed feedback.
  • You confirmed the relevant sessions saved successfully.
  • You distinguished the newest-eight display from the newest-20 loaded history set.
  • You did not treat the best score or average as an employer cutoff.
  • You identified a repeated gap, not a one-session anomaly.
  • You chose one observable answer change for the next attempt.
  • Your improved example comes from real work, study, or a clearly labeled project.
  • You repeated practice under reasonably comparable conditions.

The central lesson is simple: mock interview score history supports deliberate practice when every number stays attached to its rubric feedback, category, and session context. Normalize totals, compare like with like, and make one evidence-based correction at a time. That approach turns a history panel into a learning loop without pretending it predicts a hiring decision.

Open your QAJobFit dashboard, start a focused session in Interview Prep, and use the verification checklist after the result saves. Choose the most repeated answer gap, prepare one truthful example that closes it, and test that change in your next comparable mock interview.

Interview Questions and Answers

How would you evaluate whether your mock interview performance is improving?

I would compare normalized percentages only across reasonably similar configurations, then inspect per-question categories and feedback. I would look for repeated gaps and verify whether a planned answer change removed them. I would avoid calling one high session a trend because question mix and evaluation conditions can vary.

Why is a raw interview score insufficient for comparison?

A raw total depends on the available maximum and the questions included. I would first calculate or use the normalized percentage, then review question count, topic, seniority, and category distribution. Even equal percentages can represent different strengths, so detailed feedback remains essential.

What should a useful scoring rubric contain?

A useful rubric should state the expected concepts, required signals, and red flags for the specific question. It should support consistent feedback and make gaps actionable. I would also ensure the rubric matches the target seniority and does not reward answer length without technical relevance.

How would you handle a failure to persist an interview session?

I would surface the failure clearly, preserve the current result view when possible, and avoid telling the user that history updated. I would log enough technical context for diagnosis without exposing sensitive answer data. A retry path should prevent duplicate rows and maintain agreement between totals and question details.

Why store per-question details with session totals?

The details explain how the total was produced and let a candidate locate category-specific gaps. Storing full question results also prevents a mismatch where the total covers more questions than the retained detail. I would keep structured summary columns for common queries and use JSON data for variable answer details.

How would you test an interview history feature?

I would test authentication scope, newest-first ordering, query limits, percentage rounding, zero maximum handling, recent-row limits, and empty states. I would verify save success and failure paths, ensure one user's sessions never appear for another, and check that totals agree with every stored question score.

What risk comes from averaging rounded session percentages?

Averaging already rounded percentages can differ slightly from calculating one aggregate ratio from raw totals. It can also give equal weight to sessions with different question counts. I would describe the value as a quick dashboard summary and use raw session context for any deeper analysis.

How do you turn scoring feedback into a stronger interview answer?

I translate the feedback into an observable requirement, attach a real project example, and rehearse it under similar conditions. If the gap is missing tradeoffs, I explain alternatives and why I chose one approach. I then verify whether later feedback still identifies the same omission.

What would you avoid claiming from mock interview data?

I would not claim a hiring probability, employer cutoff, population percentile, or guaranteed improvement unless the product had valid evidence for it. I would describe the data as personal practice feedback tied to a specific rubric and session. That framing is accurate and still useful for deliberate preparation.

How would you compare database JSON storage with browser localStorage for history?

Database storage can support authenticated, user-scoped records and structured queries across devices when the application implements those controls. Browser localStorage stores origin-specific strings on one browser profile and can be blocked by policy. For sensitive interview history, I would verify authorization and data handling instead of choosing storage by convenience alone.

Frequently Asked Questions

What is mock interview score history?

Mock interview score history is a record of earlier practice sessions, including normalized results and session context. In QAJobFit, loaded history includes topic, totals, maximum score, question count, and creation time. Use it to find repeated feedback patterns, not to predict whether an employer will hire you.

How does QAJobFit calculate the history percentage?

QAJobFit adds the scores earned across questions and divides that total by the sum of each question's maximum score. The history screen rounds the result to a percentage. This normalization helps compare totals, but you should still check topic, question count, level, and question mix before calling a difference progress.

How many interview sessions appear in history?

The current history query loads up to 20 sessions for the signed-in user, ordered newest first. The Recent interviews card displays up to eight of those rows. The summary count, best score, and average are calculated from the loaded history array, so they should not be described as unrestricted lifetime statistics.

What happens when AI interview scoring is unavailable?

QAJobFit falls back to a local rubric-based evaluation. It compares meaningful expected terms with answer terms and combines that coverage with an answer-depth component capped at 120 words. The fallback returns actionable feedback about missed terms. Its mechanics differ from AI evaluation, so interpret small score changes cautiously.

Why can two equal percentages represent different performance?

Equal percentages can come from different raw totals, maximum scores, questions, or categories. One session may emphasize API design while another emphasizes behavioral examples. Read the per-question scores and feedback before deciding the performances were equivalent. A percentage is a summary signal, not a complete description of answer quality.

Does QAJobFit save interview history in localStorage?

The verified interview scoring utility saves sessions to a Supabase `interview_sessions` table and loads rows filtered by user ID. The named source files do not use browser localStorage for this history. localStorage is only a useful comparison because it stores origin-specific string data across browser sessions under browser policy.

How should I use a low mock interview score?

Start with the lowest question categories and read their feedback. Look for one gap that appears more than once, such as missing tradeoffs, weak validation, or generic examples. Prepare one truthful example that addresses that gap, then repeat a similar interview configuration. Do not chase the score by adding empty length.

Related Guides