FAQ

How to answer quizzes?

From your head. If you search answers on the Internet – you're cheating. The worst way to do that – is to mindlessly copy-paste a sentence into Google. The problem with such copy-paste-driven "passing", is that you simply replace your thinking process with something very different. If your goal is not to learn but entertain yourself – no problem.

So should I just guess the answer?

It's much better to guess than cheat. Why? Because what you call "guessing" will turn your brain on. When you "guess" the most probable answer, your neural links are awakening. You take a responsibility. You keep a chance to learn something.

Maybe highlight the correct answer?

No. We'd like to avoid dichotomies of right-vs-wrong or good-vs-bad. Absolutes are valid in mathematics but not in engineering. It's better to specify: "optimized for readability", "fast at multi-core devices", "contains a syntax error". Ever for quizzes we never insist our answer is the correct one. We just show you our version.

How to solve tasks?

You should write a solution on your local machine. We believe that sandboxes with automated tests are harmful for self-education. They pull you into the world of binary thinking. Use your mind to learn, not some leverages.

Most our examples are MVS (minimum viable solution) to preserve a screen-space and to make them easier to support. Feel free to surpass our level of detalization.

What if I fail too much?

Then just go back to theory and try again later!

It's totally ok to fail some challenges. This is foremost a learning platform. It's totally ok to guess and Google afterwards. If you feel like you need to google for every second question – you probably didn't make enough effort to study resources. Or something distracts you... In any case – stop and think what you are really doing.

There are stupid questions!

Probably. Yet we believe there aren't many. If you hit a wall of "stupid" questions, you're probably tired or frustrated. It's not necessary our fault! Take a break. Give yourself a rest and time to reconsider.

Yes – there do exist bad questions and worthless tasks. Wise person overcomes them. Raise an issue. Share your concerns. We are willing to know our mistakes and fallacies. And you?

What about strict mode?

All challenges imply Strict Mode being ON, unless explicitly stated otherwise.

What does "accepts a numeric array" mean? Should I assert for numeric items?

No. You should assume that an array argument will contain only numeric items. Dynamic typing is a mess by design ;) You can't physically assert all arguments in every function. Unless you're planning for TypeScript / Flow / PureScript (which you should) the default strategy is the following:

Let it crash

Yep. Do not validate the argument(s) except the cases where an expected error is muted or its reason is unclear from the default exception message. Do not replace f is not a function with f should be a function just for the sake of it.