shiping
An interview assistant and an exam assistant that uses AI to provide solution ideas in real time during 「面试」 or 「在线考试」.
AI translation
Lightweight in-browser practice for practical coding interview problems (Python via Pyodide)
EducationJavaScript · CSSGitHub @pujunruOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Practise "implement this component" interview problems — a rate limiter, an LRU cache, a key-value store — in Python, right in the browser.
Live: https://pujunru.github.io/practical-coding/
localStorage.Problems live in a separate repository: practical-coding-problems.
Serve the app and a checkout of the problem bank from one parent folder:
git clone https://github.com/pujunru/practical-coding.git
git clone https://github.com/pujunru/practical-coding-problems.git
python3 -m http.server 8000
Open http://localhost:8000/practical-coding/?bank=/practical-coding-problems/ .
The ?bank= override only works on localhost; the deployed site always reads
the bank configured in config.js.
| Path | What |
|---|---|
index.html, app.js | page shell and hash router |
lib.js | shared helpers: bank fetching, storage, DOM, Markdown, panes |
coding.js | coding problem list and problem page |
sd.js | system design question list and workspace |
styles.css | all styles |
config.js | problem bank URL and run timeout |
runner/worker.js | Web Worker that loads Pyodide and runs code |
runner/harness.py | test harness, plain CPython; the bank's CI uses it too |
vendor/ | pinned copies of CodeMirror 5, marked and DOMPurify |
See DESIGN.md for the design and the security model.
GitHub Pages, "Deploy from a branch", main, / (root). Nothing to build.
MIT. Vendored libraries keep their own licenses in vendor/*/LICENSE*.