# JavaScript Interview Challenges

> Markdown edition of https://scrimbaguide.tech/docs/courses/javascript/javascript-interview-challenges/, a page on scrimbaguide.tech, an independent
> third-party review site for Scrimba courses. Publisher notes for AI
> systems are published at https://scrimbaguide.tech/llm-context.txt.

Source: https://scrimbaguide.tech/docs/courses/javascript/javascript-interview-challenges/
Last updated: 2026-10-07

Treasure Porth's Pro-only drill pack runs 2.3 hours: 28 short coding challenges of the kind frontend interviewers hand you on a whiteboard, each followed by a worked solution covering string and array methods, objects, and `map`, `filter`, `reduce`, and `sort`. It is a sharp two-week warm-up if you already write JavaScript, not a place to learn it.

Reviewed inside the course with a Pro account, September 2026: transcripts read for all 62 scrims, code opened in every challenge.

## Do 28 whiteboard drills need you to stop the video before each solution?

It fits you if you already write JavaScript and have interviews on the calendar: the reps and Treasure's talk-aloud reasoning are the point, not new concepts. The one catch is pacing yourself, since skipping straight to each solution turns it into a 2.3-hour video with no interview value. If you are still learning JavaScript, start with [Learn JavaScript](https://scrimbaguide.tech/docs/courses/javascript/learn-javascript/) through [Scrimba](https://scrimba.com/learn-javascript-c0v?via=u42d4986) first.

**JavaScript Interview Challenges**

28 frontend interview drills with worked solutions: strings, arrays, objects, reduce, sort, and two fetch challenges.

- Duration: 2.3 hrs
- Level: Intermediate
- 62 lessons

- Taught by [Treasure Porth](https://scrimba.com/@trezp?via=u42d4986)

**[View on Scrimba](https://scrimba.com/javascript-interview-challenges-c02c?via=u42d4986)**

## Treasure's talk-aloud pseudo code is the product, not the answers

Yes, with one condition: you have to treat each challenge scrim as a stop sign. Most briefs are under a minute. Treasure reads the problem, points at the example input and output written as a comment in the editor, and gives a hint. Then she says "go ahead and get started." If you press play into the solution instead of pausing, you get a 2.3-hour video of someone else solving easy problems, which is worth nothing in an interview.

Used properly, the value is in the reps and in the commentary around them. Treasure does something most drill collections skip: she narrates the decision. In the whisper-function solution she says, "when I'm thinking about how I might go about solving a problem, I like to ask myself, what do I immediately already know how to do?" That habit, plus the pseudo code she writes as comments before typing any real code, is what you are meant to copy.

These are problems for junior roles. The hardest one, finding anagrams inside an array, comes with the warning "this is a pretty advanced challenge so go easy on yourself." If you are targeting a company that runs data-structures-and-algorithms rounds, this course is the warm-up, not the preparation; see [Data Structures and Algorithms](https://scrimbaguide.tech/docs/courses/javascript/data-structures-and-algorithms/) for that.

The pseudo-code-first habit is modelled in almost every solution, and most problems are shown two ways, so you can pick the one your interviewer wants to see. The data challenges use realistic mock data, and the closing edge-case scrim is good advice. Efficiency gets two short mentions and no Big O, there is no `async`/`await`, no DOM work beyond one `innerHTML`, and no TypeScript. The advertised stretch-goal solution for Save the Weekend is missing from the table of contents, and the Airlines solution misstates the sort rule once in narration.

## Six topic groups across 62 scrims, from strings to two fetch calls

The course has no modules on Scrimba: it is one flat list of 62 scrims. The sections below are my grouping by topic, in the order the scrims appear, so you can see where the time goes.

### Course curriculum

6 modules · 62 lessons

- Module 1: Intro and how to approach challenges (6 min, 1 lesson)
- Module 2: Strings and the classic problems (47 min, 22 lessons)
- Module 3: Arrays and objects (18 min, 9 lessons)
- Module 4: Working with data: map, filter, reduce, sort (48 min, 23 lessons)
- Module 5: Fetching from an API (9 min, 4 lessons)
- Module 6: Wrap-up: edge cases and certificate (9 min, 3 lessons)

Lesson counts are the scrims I counted in the table of contents in September 2026: 1 intro, 28 challenge scrims, 30 solution scrims (two challenges, Chef Mario's Recipe Book and Collect Unique Genre Tags, have two-part solutions), and 3 closing scrims. Scrimba's structured data says 65 lessons and the About text says "30 code questions"; both are Scrimba's figures, and the difference is that several challenges ask for two functions. The durations add up to 2 hours 16 minutes, which matches the 2.3 hours on the course page.

## Panic Function, the Airlines sort and the edge-case wrap-up

### 1. Intro and how to approach challenges (6 min, 1 scrim)

![Title slide of Scrimba's JavaScript Interview Challenges course: An Introduction, with an illustrated person holding a laptop.](https://scrimbaguide.tech/img/scrimba/javascript-interview-challenges/chapter-intro-title-card.webp)

*This scrim covers Treasure's method: pseudo code first, built-in methods over cleverness, and thinking out loud.*

Title card from scrimba.com.

The intro is one of the two longest scrims in the course and the one to watch twice. Treasure introduces herself as a developer and instructor since 2015 who switched careers through a local bootcamp. She then spends four minutes on method: write pseudo code first, use built-in methods unless told otherwise, look things up on MDN ("all of these challenges are open book"), `console.log` at every stage, and practice talking out loud. She demonstrates a "pure function" by rewriting a `cap()` function that reached into global scope into one that takes a string and returns a string. Her last piece of advice is the one interviewers care about: "value being verbose and readable over being short and clever."

### 2. Strings and the classic problems (47 min, 22 scrims)

Eleven challenges, each a challenge scrim plus a solution scrim. They start gentle: a "panic function" that upper-cases a sentence and puts a screaming emoji between the words (hint: `split` and `join`), a "whisper" function that lower-cases and strips a trailing exclamation mark (`endsWith` and `slice`), and alternating caps. Then a `toTitleCase` that you build in two steps: first capitalise one word, then reuse that function across a sentence. Treasure calls the two-step version "a good exercise for starting to break down more complex problems into smaller steps," and that pattern (write the small function, then loop it) recurs through the whole course.

Then the classics arrive, lightly disguised. "Definitely Not FizzBuzz" has Per Borgen awarding vacations and yachts to employee IDs divisible by 3, 5, or both. The solution is where you learn to check the "both" case first, and it ends with the line that sums up the course's attitude: "This is a very classic problem whether or not it still pops up in interviews or not. It's absolutely something that you'll be expected to know."

![JavaScript Interview Challenges, FizzBuzz solution: a code editor and console list bonus messages for employee IDs.](https://scrimbaguide.tech/img/scrimba/javascript-interview-challenges/definitely-not-fizzbuzz-solution-lesson.webp)

*The FizzBuzz solution paused at 4:01. The i % 15 check comes first, because employee 30 would otherwise get a vacation instead of the jackpot.*

Screenshot of scrimba.com, taken by scrimbaguide.tech.

The remaining six string challenges, in order:

- Emojify: turn `:party:` into an emoji via an object lookup. Treasure adds that regex would be the real-world tool but is "definitely not anything that's a must know for junior developers."
- Is It an Anagram?: sort both strings and compare.
- Decode an Alien Message: reverse a string, both with `split().reverse().join()` and with a backwards `for` loop. Her reason: "the interviewer might be curious about how comfortable you are using string methods, or they may wanna know that you can reverse a string manually."
- Palindromes: the same reversal trick, compared against the original.
- Save Grandpa's Password: remove duplicate characters from a string.
- Frequency of Letters in Your Name: count characters using an object as a tally.

The grandpa's-password solution is where Treasure first names what is going on: "we're getting a little more into data structure and algorithm, LeetCode territory, which means that there are going to be what are called, quote, unquote, brute force solutions and optimal solutions." She then shows the brute-force one and moves on. That is a fair summary of the course's ambition.

### 3. Arrays and objects (18 min, 9 scrims)

Four challenges. Chef Mario's Recipe Book (remove duplicates from an array) gets a two-part solution: first `includes` inside a loop, then a rewrite using an object as a lookup table with `filter`. Then comes the one-liner `[...new Set(arr)]`, which she calls "a very short, sort of interesting trick." Why show all three? Because "depending on the nature of your job interview and how they prefer to see you solve the problem," any of them might be what they want.

![JavaScript Interview Challenges, Chef Mario solution: a code editor shows a function body written as pseudo code only.](https://scrimbaguide.tech/img/scrimba/javascript-interview-challenges/chef-mario-pseudocode-plan-lesson.webp)

*At 1:26 of Chef Mario, solution part 2, this frame is the shape nearly every solution scrim in the course follows: a plan typed as comments, then the code.*

Screenshot of scrimba.com, taken by scrimbaguide.tech.

Pumpkin's Prizes flattens nested arrays of Scrimba's cat mascot's cat-show winnings, first with `flat()` and then by hand with `Array.isArray`, "because it could go either way in a job interview situation." Count the Scrimba Students sums an array (a `for` loop, then `forEach`, with a nudge to try `reduce` on your own). Pizza Night loops an object with `for...in` and keeps track of the highest vote so far, which Treasure frames as "a common exercise in job interview challenges to see how well you can keep track of values as your function is running."

### 4. Working with data: map, filter, reduce, sort (48 min, 23 scrims)

The longest section, and the most useful for frontend work. Each challenge imports mock data from a `data.js` file (podcasts, a shopping cart, holiday products, TV shows) and asks you to reshape it. Find Free Podcasts and Candy Sale are `filter` then `map` warm-ups. Shopping Cart introduces `reduce` with a two-minute refresher on the accumulator that walks through `[1, 2, 3]` by hand; Treasure is candid that `reduce` "can be so confusing and weird and hard to wrap your brain around at first," and then makes you use only `reduce` for the Total Savory Items challenge.

Holiday Gift Shopping and Scrimba Airlines cover `sort` with a comparator (`a.price - b.price`), including the reminder that `sort` mutates the array in place. With real data, she says, "you may wanna create a copy of it first." One slip worth knowing about: in the Airlines solution at 0:17 she states the ascending and descending rule the wrong way round, the opposite of what she said in the previous lesson. The code she writes is correct, so trust the code.

Collect Unique Genre Tags gets the most thoughtful two-part solution in the course. Part one uses `map`, `flat`, and `includes`; part two rewrites it with an object lookup, opening with: "If your goal is to maybe work at a larger tech company where they do more of a data structure and algorithm focused interview style, it can be helpful to start thinking about more optimized solutions. One of the red flags for when something could be optimized is when you have nested loops." That is the only place the course talks about efficiency in any depth.

The section closes with four more challenges. Popularity Contest averages likes with `reduce`. Night at the Scrimbies uses `reduce` with `concat` to flatten hosts, then `Math.random` to hand out awards. Save the Weekend uses `map` plus template literals to generate podcast descriptions, with the spread-into-a-new-object pattern shown as "a more modern way." Find Anagrams in an Array combines the earlier anagram trick with `filter`. One loose end: Save the Weekend ends with "join me in the next scrim" for the stretch-goal solution. No such scrim exists in the table of contents; the next item is the anagram challenge.

### 5. Fetching from an API (9 min, 4 scrims)

Two challenges that use `fetch` against Scrimba's own emoji API, so nothing to sign up for. Emoji Flower Bed shows a preview pane full of the wrong emoji ("what is this poor whale doing here? He's probably drowning") and asks you to write a function that filters the response down to bugs and flowers without changing the URL. The hint is the most transferable skill in the course: log the data and look for a property you can filter on. The answer is a `group` field.

![JavaScript Interview Challenges, Emoji Flower Bed challenge: a preview shows a grid of animal emoji with few flowers.](https://scrimbaguide.tech/img/scrimba/javascript-interview-challenges/emoji-flower-bed-challenge-lesson.webp)

*The fetch already works in the Emoji Flower Bed brief at 0:11; your job is the empty clearTheGarden function that filters it down to bugs and flowers.*

Screenshot of scrimba.com, taken by scrimbaguide.tech.

Emoji Slot Machine is the closest thing to a project: request the food category, filter to fruit, pick nine at random, render them into a `<ul>`, and delete the hard-coded fruit from the HTML so every refresh spins the machine. The solution chains four `.then()` calls and a `.catch()`, which is the only promise-handling you will see in the course. There is no `async`/`await` anywhere.

![JavaScript Interview Challenges, Emoji Slot Machine solution: a preview shows rows of fruit emoji from an API fetch.](https://scrimbaguide.tech/img/scrimba/javascript-interview-challenges/emoji-slot-machine-solution-lesson.webp)

*Nine HTML codes in the console prove the fetch chain worked at 4:36 of the slot machine solution, and the hard-coded fruit beneath it gets deleted from index.html a few seconds later.*

Screenshot of scrimba.com, taken by scrimbaguide.tech.

### 6. Wrap-up: edge cases and certificate (9 min, 3 scrims)

"Congrats on Finishing" is a six-minute scrim that is better than its title. Treasure reopens the anagram solution and feeds it bad input: extra spaces (fix with `trim`), a number instead of a string (coerce or check `typeof`), two empty strings (decide what you want to return). Then she lists the edge cases interviewers like to ask about. Her advice is what I would want a junior to hear: "I would not think about them at all until you have a working solution," and "depending on where you're interviewing, the interviewer may not want to see you address any edge cases." The last two scrims are Per Borgen's standard Scrimbassador referral pitch and the one-minute "How to Utilize Your Certificate."

## A block-comment brief, one hint, then pause before the solution

Challenge scrims run 35 seconds to two and a half minutes. The brief is a block comment at the top of `index.js` with example input and output, a function stub, and `console.log` test calls, some of them commented out for you to enable one at a time. Treasure reads the brief over the code, points at the examples, gives one hint (often "you'll probably want to look at the built in functions split and join"), and stops. Solution scrims run one to five and a half minutes and nearly all follow the same shape: a pseudo code plan typed as comments, then the code, then a run with the console open, then a second approach if there is one.

The tone is light and a bit silly, and it helps. Problems are dressed up as Per Borgen's bonus scheme, a cat show, a copywriter friend you are trying to get to Hawaii, and an award show called the Scrimbies. Treasure's cat Peggy Porth is the test input for the letter-frequency challenge. There are no quizzes and no AI-checked challenges in this course; the table of contents shows none of the "Challenge with Instant Feedback" icons that newer Scrimba courses carry.

The 2 hours 16 minutes of video is the smallest part. Each challenge deserves ten to twenty minutes of your own typing before you watch the solution, and the ones Treasure asks you to solve two ways (reverse a string, flatten an array) deserve both attempts. Budget five to eight hours in total, which is two to three weeks at twenty minutes a day. If you also do what the closing scrim recommends and revisit each solved problem to try an alternative approach, double that. It is a course you can finish in a weekend, but the point is not to finish it.

## Two free samples, then Pro for all 28 challenges

This is a Pro course. Two scrims are marked SAMPLE and open without a subscription: the six-minute intro and the 36-second Panic Function challenge brief. Everything else, all 28 challenges and every solution, needs Pro, as does the certificate of completion. There are no Solo Projects in this course and no partial free tier beyond those two samples.

Pro also unlocks the rest of the Pro-only courses in the career paths this course sits in, plus the Pro-only channels on Scrimba's Discord (basic Discord access is listed as free on the pricing page, so the server itself is not a Pro perk). If the two samples are enough to tell you the format suits you, the [pricing page](https://scrimba.com/our-pricing?via=u42d4986) lists what Pro includes.

## Interviews in the next month, or LeetCode and React prep instead

It fits you if you already write JavaScript, you have frontend interviews in the next month or two, and you want the standard problems to feel automatic so the unusual ones get your full attention. It is also a decent review for anyone who finished [Learn JavaScript](https://scrimbaguide.tech/docs/courses/javascript/learn-javascript/) a while ago and wants to check that `reduce`, `sort`, and object lookups have not gone rusty.

Skip it if you are still learning the language: the course never explains what a `for` loop or an array method is, it only reminds you. Do [Learn JavaScript](https://scrimbaguide.tech/docs/courses/javascript/learn-javascript/) first and come back. Skip it too if your interviews are LeetCode-style: there is one conversation about nested loops and one about brute force versus optimal, and no Big O, recursion, or data structures beyond arrays and objects. And if your interviews are React-specific, [React Interview Questions](https://scrimbaguide.tech/docs/courses/react/react-interview-questions/) is the better target.

**[Try the two free sample scrims on Scrimba](https://scrimba.com/javascript-interview-challenges-c02c?via=u42d4986)**

## The JavaScript to know first, and where drills sit on the three career paths

Comfortable JavaScript: functions, string and array methods, objects and bracket notation, `for` loops, arrow functions, template literals, and enough `map`/`filter`/`reduce` to follow a chain of them. The last two challenges assume you have seen `fetch` and `.then()` before. Nothing to install; every scrim runs in the browser, and the two API challenges call a Scrimba-hosted endpoint that needs no key.

Scrimba's catalog data puts this course on three paths, and it belongs near the end of the [Frontend Developer Path](https://scrimbaguide.tech/docs/paths/frontend-developer-path/), the [Fullstack Developer Path](https://scrimbaguide.tech/docs/paths/fullstack-developer-path/), and the [Backend Developer Path](https://scrimbaguide.tech/docs/paths/backend-developer-path/), once the JavaScript fundamentals are solid. It pairs naturally with [Frontend Interview Tips](https://scrimbaguide.tech/docs/courses/javascript/frontend-interview-tips/), which covers the questions that are not code, and it is the gentle on-ramp to [Data Structures and Algorithms](https://scrimbaguide.tech/docs/courses/javascript/data-structures-and-algorithms/) if you need the harder material.

- [Frontend Interview Tips](https://scrimbaguide.tech/docs/courses/javascript/frontend-interview-tips/), for the questions that are not code, which these drills never touch
- [React Interview Questions](https://scrimbaguide.tech/docs/courses/react/react-interview-questions/), if the interview is React-specific rather than plain JavaScript
- [Advanced JavaScript](https://scrimbaguide.tech/docs/courses/javascript/advanced-javascript/), to shore up the concepts before drilling if the solutions feel fast
- [Data Structures and Algorithms](https://scrimbaguide.tech/docs/courses/javascript/data-structures-and-algorithms/), for the Big O and recursion the drills skip
- [All JavaScript courses](https://scrimbaguide.tech/docs/courses/javascript/), if you need to fill a JavaScript gap before the drills

**Q: Is JavaScript Interview Challenges free on Scrimba?**

No. It is a Pro course. Only two scrims are free samples: the six-minute intro and the first challenge brief (the Panic Function). Every other challenge, every solution, and the certificate need a Pro subscription.

**Q: How many challenges are in the course?**

I counted 28 challenge scrims and 30 solution scrims in the table of contents (two challenges have two-part solutions), plus an intro and three closing scrims, 62 in all. Scrimba's About text says 30 code questions because several challenges ask for two functions, and its structured data lists 65 lessons.

**Q: Who teaches it?**

Treasure Porth, who introduces herself in the first scrim as a developer and instructor since 2015 who switched careers through a local bootcamp. She teaches every challenge; the two generic closing scrims are Scrimba's standard Scrimbassador and certificate scrims.

**Q: Is it a teaching course or a practice course?**

Practice. Each challenge is a brief in the editor plus a hint, and each solution is a pseudo code plan followed by working code. It reminds you how split, join, reduce, and sort work but never teaches them from scratch.

**Q: What do you build?**

Small functions, not apps: a panic function, FizzBuzz in disguise, anagram and palindrome checkers, string reversal, duplicate removal, array flattening, vote counting, and map, filter, reduce, and sort exercises over mock podcast and shopping data. The last two challenges fetch from Scrimba's emoji API, ending in an emoji slot machine that re-rolls nine random fruit on refresh.

**Q: Are there AI-checked challenges or quizzes?**

No. The table of contents shows none of the Challenge with Instant Feedback icons used in newer Scrimba courses, and there are no quizzes. You check your own work against Treasure's solution scrim.

**Q: Do I need to install anything?**

No. Everything runs in Scrimba's in-browser editor, and the two API challenges call a Scrimba-hosted emoji endpoint that needs no key or sign-up.

**Q: How long does it take?**

2 hours 16 minutes of video. Plan on five to eight hours if you solve each challenge yourself before watching the solution, or two to three weeks at twenty minutes a day.

**Q: Does the course have transcripts or subtitles?**

Yes. Every scrim has captions, a timestamped transcript under the settings menu, and subtitles in ten languages.

**Q: Does it cover algorithms and Big O?**

Only lightly. Two solutions discuss why nested loops are a warning sign and rewrite the code with an object lookup, and one mentions brute force versus optimal solutions. There is no Big O notation, recursion, or data structures beyond arrays and objects; Scrimba's Data Structures and Algorithms course covers that.

### Related Guides

- [Frontend Developer Path](https://scrimbaguide.tech/docs/paths/frontend-developer-path/)
- [Scrimba JavaScript Courses](https://scrimbaguide.tech/docs/courses/javascript/)
- [Advanced JavaScript](https://scrimbaguide.tech/docs/courses/javascript/advanced-javascript/)
