Skip to content

jorgediazsa/js-playbook

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JS Buddy

JS Buddy is a senior‑level JavaScript interview preparation repository focused on understanding semantics, not memorizing trivia.

The goal of this repo is to help experienced engineers validate (and sharpen) their mental model of JavaScript by solving well‑scoped exercises with executable tests that mirror real interview questions.

This is not a beginner tutorial. If you already know JavaScript syntax, this repo is about why things behave the way they do.


Repository Philosophy

  • Exercises are behavior‑driven, not output‑guessing.
  • Tests are runnable with plain Node.js - no external libraries.
  • Each exercise starts with intentionally incorrect or incomplete starter code.
  • If all tests pass, you should be able to:
    • explain the behavior clearly,
    • implement it from scratch,
    • and reason about edge cases in an interview.

Project Status

This repository is now fully structured across all three levels:

  • Basic (1-5)
  • Intermediate (6-12)
  • Advanced (13-22)

The Advanced track is complete and mapped in detail in Roadmap.md.


Structure

.
├── Roadmap.md
├── basic/
├── intermediate/
└── advanced/

Roadmap

📌 Roadmap.md
Defines all topics covered in Basic, Intermediate, and Advanced, grouped exactly as they appear in the repo.


Levels

Basic

📁 basic/

Covers JavaScript fundamentals that are often assumed but frequently misunderstood:

These exercises are not trivial, but they establish a precise baseline required for senior interviews.


Intermediate

📁 intermediate/

Focuses on topics that separate mid‑level from senior engineers:

Most real interview “gotchas” live here.


Advanced

📁 advanced/

Advanced topics are broader, deeper, and now fully laid out in 10 modules:


Running the Tests

Requirements

  • Node.js 18+ recommended
  • No dependencies
  • No test framework

Run a single test

From inside any exercise folder:

node ex1.test.js

or (for ES Modules):

node ex1.test.mjs

If the exercise is incomplete or incorrect, the test will throw. If it passes, it will print a success message.


How to Use This Repo

Recommended workflow:

  1. Read the topic README inside the folder.
  2. Open the exercise file (exN.js / exN.mjs).
  3. Read the problem statement carefully.
  4. Run the test - expect failure.
  5. Implement the solution without changing tests.
  6. Re‑run until it passes.
  7. Be able to explain why it works.

If you can explain the solution clearly, you’re interview‑ready for that topic.


Who This Is For

  • Senior Software Engineers
  • Backend / Full‑stack engineers
  • Engineers preparing for system + language deep‑dive interviews
  • Anyone who wants to replace “I know JS” with proof

Non‑Goals

  • No frameworks
  • No browser APIs
  • No UI
  • No shortcuts
  • No trivia dumps

This repo optimizes for clarity of mental model, not coverage breadth.


Good luck, and if something feels uncomfortable while solving an exercise, that’s usually the point.

About

Deep dive into advanced JavaScript internals, async patterns, performance, and real-world production architecture

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors