Max00035's picture
Add static interview coach UI
52f6d59 verified
Raw
History Blame Contribute Delete
3.28 kB
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="Practice ML systems interviews with transparent, client-side heuristic feedback.">
<title>ML Systems Interview Coach</title>
<link rel="stylesheet" href="styles.css">
<script src="app.js" defer></script>
</head>
<body>
<main class="shell">
<header class="hero">
<p class="eyebrow">Practice with a transparent baseline</p>
<h1>ML Systems Interview Coach</h1>
<p class="hero-copy">Choose a prompt, answer it as you would in an interview, then compare your coverage with a structured rubric.</p>
</header>
<div id="status" class="status loading" role="status" aria-live="polite">Loading the public question bank…</div>
<section class="filter-panel" aria-labelledby="filters-title">
<h2 id="filters-title" class="sr-only">Question filters</h2>
<div class="filters">
<label><span>Domain</span><select id="domain-filter" disabled><option>All</option></select></label>
<label><span>Difficulty</span><select id="difficulty-filter" disabled><option>All</option></select></label>
<label><span>Question type</span><select id="type-filter" disabled><option>All</option></select></label>
<button id="random-button" class="button primary" type="button" disabled>Random Question</button>
</div>
</section>
<article id="question-card" class="question-card" aria-live="polite">
<p class="muted">Choose filters and select a random question to begin.</p>
</article>
<section class="answer-card" aria-labelledby="answer-title">
<h2 id="answer-title">Your answer</h2>
<p class="instructions">Answer as if speaking to an interviewer. Explain reasoning, assumptions, trade-offs, and examples where useful.</p>
<label class="sr-only" for="answer-input">Interview answer</label>
<textarea id="answer-input" rows="10" placeholder="Structure your answer clearly. The reference answer stays hidden until evaluation."></textarea>
<div class="actions">
<button id="evaluate-button" class="button primary" type="button" disabled>Evaluate Answer</button>
<button id="clear-button" class="button secondary" type="button">Clear answer</button>
</div>
</section>
<div id="evaluation-status" class="inline-status" role="status" aria-live="polite"></div>
<section id="score-card" class="score-card" aria-labelledby="score-title" hidden></section>
<section id="review-card" class="review-card" aria-labelledby="review-title" hidden>
<p class="eyebrow">Review and go deeper</p>
<h2 id="review-title">Reference answer</h2>
<p id="reference-answer"></p>
<h3>Evaluation rubric</h3>
<dl class="rubric">
<div><dt>Excellent</dt><dd id="rubric-excellent"></dd></div>
<div><dt>Acceptable</dt><dd id="rubric-acceptable"></dd></div>
<div><dt>Weak</dt><dd id="rubric-weak"></dd></div>
</dl>
<h3>Follow-up questions</h3>
<ol id="follow-ups"></ol>
</section>
</main>
</body>
</html>