Interview Question Bank Practice Timer
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
This script automatically detects interview questions on any webpage—career prep sites, company interview guides, FAQ pages, or documentation—and adds a practice timer panel. Select a question, start the timer, and practice your response with a configurable countdown (30s, 60s, 90s, 120s, or 180s). The timer counts down with visual alerts for the final seconds, then logs your practice attempt with duration and timestamp. Track your progress by marking questions as mastered, skipping difficult ones, or flagging them for more practice. View your question bank with mastery status and practice counts, browse practice history, and export everything to CSV for offline analysis.
WHERE IT RUNS
Works on any website containing interview questions—technical interview prep sites, behavioral question banks, company career pages with interview guides, coding challenge platforms, documentation with Q&A sections, or any page with question-like content. The script uses adaptive pattern matching to detect questions and their suggested answers without site-specific rules.
HOW TO USE
The panel appears automatically when you visit a page. Click "Detect Questions" to scan the page for interview questions and build your question bank. Each question appears in the practice interface with the current question displayed at the top. Select a timer duration from the dropdown (30s to 180s), then click "Start" to begin practicing. The timer counts down with color changes (white >15s, orange ≤15s, red ≤5s) and a "Time almost up!" alert. When time expires, your attempt is automatically logged to your practice history with the question text, duration, and timestamp. Click "Stop" to end early. Navigate between questions with "Next" and "Skip" buttons. Mark questions as "Mastered" when you're confident, or "Need More Practice" to increment a practice counter. The "Show Answer" button reveals suggested answers stored from the original page. Use filters to hide mastered questions or randomize question order. Track your total questions, mastered count, practiced count, and completion percentage.
TECHNICAL MECHANISM: THREE-PASS QUESTION EXTRACTION WITH CONTEXTUAL ANSWER PAIRING
The script uses a TreeWalker to traverse all visible text nodes, filtering out script, style, and meta tags. On the first pass, it identifies text containing question indicators (question, interview question, describe, explain, tell me about, how would you, what is, why do you, when have you, give an example, walk me through) or ending with a question mark. On the second pass, it extracts clean question text by analyzing parent elements—checking if the parent is a heading (h1-h6), list item (li), paragraph (p), or strong/b tag, then using the full text of that element. On the third pass, it pairs questions with answers by scanning up to five sibling elements or using the parent container's children, looking for text blocks 30-500 characters long that don't contain question indicators or question marks. It also queries elements with question-related class names (question, qa, faq, interview) and extracts Q&A pairs by iterating through child elements. All questions are de-duplicated by the first 50 characters to avoid duplicates. Each question is stored with an ID, text, answer (if found), mastery status, practice count, and last practiced date. The timer class manages countdown with 1-second intervals, color-coded alerts, and automatic practice logging on completion, with all data persisted via GM_setValue.
THE PANEL
The practice timer appears in a draggable, resizable panel that remembers its position per site. Drag by the header to reposition, collapse to a compact icon with a click, and resize using the bottom-right corner. The panel snaps to screen edges for tidy placement and closes with the Escape key. All settings—timer duration, show answer preference, random order, filter mastered toggle, and panel position—persist per website using GM_setValue, so your view returns exactly as you left it.
PLEASE NOTE
This script requires the free BotGentz extension to run. Websites frequently change their question layout; while the script is designed to adapt, occasional updates may be needed. The script reads only visible text content on the current page—it does not send data anywhere, store personal information, or access other tabs. All question and practice data remains local in your browser via GM_setValue and is never transmitted. The timer uses the browser's setInterval for countdown; performance may vary on heavily loaded pages. Practice history is automatically saved on timer completion; manually stopped timers are not logged to allow for interrupted practice sessions.