Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

So I\'m currently on a hunt for a new position as a Front-End Developer. I know

ID: 647442 • Letter: S

Question

So I'm currently on a hunt for a new position as a Front-End Developer. I know JavaScript very well and can wax poetically about Closures, Currying, Prototypal Inheritance, Design Patterns, App performance and overall Front-End Architecture. But yet I still end up bombing job interviews. (FYI most of the jobs I'm interviewing for are for building SPA's with some sort of MVC framework)

Usually the coding tests are small code snippets of things I never come across professionally. Like write a function to solve some sort of math problem. Aside from the inherit awkwardness of trying to code while holding the phone in one hand and having a stranger see your screen and watch every character you type, I just don't usually see this kinda stuff in the real world.

Is this a serious skill set I'm lacking or are the interviewers asking me irrelevant questions. I guess I should work on my functional programming and algorithm chops but I haven't found many good resources on the web (or in print) any suggestions?

Explanation / Answer

Writing code is only a part of the interview process.

Actually solving the logical problem is only a part of the code writing task.

Interviewers want to be sure that:

You can write code. Many candidates with ten years professional experience in a language can't write any code at all, and this test is intended to reject those candidates.

You think about a problem before you write code. Many would jump to their keyboards, write tens of lines of code, then find that they misunderstood the original problem, because they didn't take time thinking about it.

You are able to adapt yourself when writing code. Say you found a solution, but when you started to implement it, it appeared that your first idea wasn't the best one; can you rapidly switch to a better one, eventually refactoring the code you wrote?

This also means that such interviews should be more interactive. Instead of typing with one hand, buy a hands-free kit or call through Skype and use a headset. Type as you are typing at work, while commenting and explaining what you do: it will suddenly become much less awkward.

Have you done pair programming? If yes, the interview situation is very similar, except that the interviewer may not give you his opinion, and you don't ask him to switch keyboards with you when you're finished.

Here are a few examples of a purely mathematical problem and how it shows non-mathematical skills of a developer.

Example 1: simple coding exercise
You need to implement Fibonacci number calculator in JavaScript. You should be able to change the index. The Fibonacci sequence follows those rules:

The first two numbers of the sequence are 0 and 1,
Each subsequent number is the sum of the previous two.
Example: F0 = 0, F1 = 1, F2 = 1, F3 = 2, F10 = 55.

You have three minutes.

Here, the interviewer wants you to think as fast as possible, find the solution and quickly implement it. Such exercise is unrelated to what actual developers do and is much closer to what you can find when doing a CS degree, but interviewers like this sort of things, so let's do it. Also, time constraint makes it impossible to do any automated testing, so the interviewer probably doesn't expect this from you.

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote