-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
83 lines (81 loc) · 4.62 KB
/
Copy pathindex.html
File metadata and controls
83 lines (81 loc) · 4.62 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>SWE Interview Playbook — Live Demos</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="The 16 coding-interview patterns — interactive study guide and animated algorithm visualizer.">
<style>
:root {
--bg: #f6f8fa; --card: #ffffff; --text: #1f2328; --muted: #59636e;
--accent: #0969da; --border: #d1d9e0; --shadow: 0 1px 3px rgba(31,35,40,.08);
}
@media (prefers-color-scheme: dark) {
:root {
--bg: #0d1117; --card: #161b22; --text: #e6edf3; --muted: #9198a1;
--accent: #4493f8; --border: #30363d; --shadow: 0 1px 3px rgba(0,0,0,.4);
}
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
background: var(--bg); color: var(--text); line-height: 1.6;
display: flex; flex-direction: column; min-height: 100vh;
}
main { max-width: 860px; margin: 0 auto; padding: 56px 24px 40px; width: 100%; flex: 1; }
.kicker { color: var(--accent); font-weight: 600; font-size: .85rem; letter-spacing: .08em; text-transform: uppercase; }
h1 { font-size: 2.1rem; margin: 6px 0 10px; letter-spacing: -.02em; }
.lede { color: var(--muted); font-size: 1.06rem; max-width: 620px; }
.cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin-top: 36px; }
.card {
background: var(--card); border: 1px solid var(--border); border-radius: 12px;
padding: 26px; box-shadow: var(--shadow); display: flex; flex-direction: column;
text-decoration: none; color: inherit; transition: transform .12s ease, border-color .12s ease;
}
.card:hover { transform: translateY(-2px); border-color: var(--accent); }
.card .emoji { font-size: 1.9rem; }
.card h2 { font-size: 1.2rem; margin: 10px 0 6px; }
.card p { color: var(--muted); font-size: .95rem; flex: 1; }
.card .cta { margin-top: 16px; color: var(--accent); font-weight: 600; font-size: .95rem; }
.patterns { margin-top: 40px; }
.patterns h3 { font-size: .85rem; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); margin-bottom: 12px; }
.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chip {
background: var(--card); border: 1px solid var(--border); border-radius: 999px;
padding: 4px 12px; font-size: .82rem; color: var(--muted);
}
footer { text-align: center; padding: 24px; color: var(--muted); font-size: .88rem; border-top: 1px solid var(--border); }
footer a { color: var(--accent); text-decoration: none; }
</style>
</head>
<body>
<main>
<div class="kicker">SWE Interview Playbook</div>
<h1>Learn the 16 coding-interview patterns — visually</h1>
<p class="lede">Most interview problems are variations of a small set of techniques. Study the patterns, watch the algorithms run step by step, and drill the exact tested solutions.</p>
<div class="cards">
<a class="card" href="study-guide.html">
<span class="emoji">📖</span>
<h2>Interactive Study Guide</h2>
<p>All 16 patterns with recognition triggers, animated "how it works" panels, difficulty filters, dark mode, progress tracking, and expandable drills revealing the exact tested solution code.</p>
<span class="cta">Open the study guide →</span>
</a>
<a class="card" href="visualizer/">
<span class="emoji">▶️</span>
<h2>Algorithm Visualizer</h2>
<p>Pick a pattern and press Play — or step through with the arrow keys — to watch sliding windows slide, pointers converge, heaps rebalance, DP tables fill, and topological orders emerge. Covers all 16 patterns.</p>
<span class="cta">Open the visualizer →</span>
</a>
</div>
<div class="patterns">
<h3>The patterns</h3>
<div class="chips">
<span class="chip">Sliding Window</span><span class="chip">Two Pointers</span><span class="chip">Fast & Slow Pointers</span><span class="chip">Merge Intervals</span><span class="chip">Cyclic Sort</span><span class="chip">LinkedList Reversal</span><span class="chip">Tree BFS</span><span class="chip">Tree DFS</span><span class="chip">Two Heaps</span><span class="chip">Subsets</span><span class="chip">Modified Binary Search</span><span class="chip">Bitwise XOR</span><span class="chip">Top K Elements</span><span class="chip">K-way Merge</span><span class="chip">0/1 Knapsack</span><span class="chip">Topological Sort</span>
</div>
</div>
</main>
<footer>
Every solution is runnable and tested — <a href="https://github.com/abdullasulaiman/swe-interview-playbook">view the code on GitHub</a> · MIT License
</footer>
</body>
</html>