So, it’s finally done! I’ve created a tool to help every Javascript programmer to kick ass in a technical interview.

It’s not an app, it’s not a website. It’s a deck of flashcards. I decided to name it Flashcards.js

Flashcards.js questions deck

On the photo you see the Essential deck. It’s 54 cards with the most popular interview questions that people in European and Russian companies ask. I went to A LOT of interviews and I can say that people repeat themselves. Everyone is asking about the closures, about how to empty an array and so on.

Questions that are often asked

A lot of the interviewers google something like “frontend interview questions” and end up in this old Github repo. That’s why I included the majority of these questions to the cards.

Some people want to see if you respect JavaScript. That’s why they will ask about closures and prototypes. I included these questions as well.

Finally, I’m not the only person who was going on all these interviews. I was asking my friends and colleagues about their recent interviews and documenting everything they were saying.

The questions are solid, the questions are good. There is a huge chance that some of them will be actually asked in your next interview.

Paper form

Why paper and not an app or a website? You see, the paper form has its merits. You can put all 54 cards on a table when you prepare and tomorrow the interview will start. This is one of the things that you can’t do on your phone.

Cards laying on a table


First of all, I split the questions by popularity among the interviewers. See a little circles on the upper side of the cards?

  • Three circles means that the question is asked by everyone. If you don’t know the answer, you’re doomed. For example what’s a closure. Everybody asks what’s a closure.
  • Two circles means that I’ve seen this question being asked more than once, but it’s not pervasive. For example, the questions about Websockets. People in browser game industry ask them a lot, while other companies don’t
  • One circle are really specific questions that are rare but can catch you off-guard. Some of them are hard and require the knowledge of nitty-gritty details.

I split the cards on the following categories:

  • Browser: everything about DOM and how the browser works
  • Async: asynchronous behaviour, promises, event loop
  • Types: coercion, fundamental types, how the typing works in JS
  • Objects: this, prototypes, classes
  • Functions: bind, call, apply, functional programming
  • Code: coding puzzles
  • General: everything else

This pretty much covers every type of question that I was ever asked. It also reflect the structure of Kyle Simpson’s books You Don’t Know JS which I highly recommend. The book is awesome if you have a lot of time and need a long description with lots of examples, while the cards are great for quick review of your knowledge.

How to use them

Training with flashcards.js

Use them as you would use any flashcards. I prefer to concentrate on three circles first, and then I pick the theme that I’m unsure of. For example, the Objects them. I pick the cards one by one, read the question and try to answer it right away out loud.

It’s really important to say the answer out loud. Sometimes I ask my girlfriend to show me the cards and to control me. She pays attention to my rhythm of speech, looks at how confident I am. All these details play important role when you create the first impression on a workplace. You should be relaxed and you must feel professional.