Hire JavaScript Developer

Simple interview questions most candidates struggle with.
Technology has paved the way for the success of businesses in the modern world. Everything we see in the digital perspective, from websites and full-featured web applications to mobile phone applications and widgets that we use on a daily basis, all use a common language that only the skilled and passionate understand – that is Javascript.

Nowadays, hiring a well-versed Javascript Developer can be difficult. Indeed, there are many developers with significant experience, however, what they can offer may not be enough to meet your needs and expectations. It takes a unique combination of skills, knowledge, passion, and attitude to stand out from the crowd of candidates. It’s very important for the developer to educate himself. He should regularly read tech news, mainly about technologies which he use. It’s good idea to listen tech podcasts or watch videos.

Some example websites about JavaScript news:


The technical questions you ask in the interview process are just as important as the tests and exercises that will be given to the potential candidates. These questions will determine whether or not a candidate has the qualities you are looking for.

Here are examples of the questions that even the best and seasoned javascript developers might struggle with.

It takes a unique combination of skills, knowledge, passion, and attitude to stand out from the crowd of candidates.

You are about to write a backend Node.JS module that will be preprocessing financial information and financial data. What are the potential pitfalls that you foresee? We are talking just about JS and programming, not strictly about security.

The main potential pitfall is handling monetary values as float precision numbers. It is a bad idea because with a binary representation of a base 10 system you end up with inaccurate results when you try to do math. As you calculate more values, the imperceptible precision errors lead to larger gaps. This inevitably ends up causing rounding issues. One of the solutions is store monetary values as sub-units, that mean you need to convert main-units to sub-units (e. g. convert 1 dollar to 100 cents – and that’s the solution that uber or stripe uses internally in their systems).

What is a typical use case for anonymous functions?

Anonymous functions are also called arrow functions. It is a function without a name. The most typical use is to pass them as an argument to another function or used to construct the result of a higher-order function that needs to return a function. If it is only used one ao a limited number of times, an anonymous function may be syntactically lighter than using a name.

What is a generator in JS?

Generator functions allow defining an iterative algorithm by writing a single function whose execution is not continuous. They are written using the function* syntax. When called, the generator does not execute their code, they return a special type of iterator, called a generator. When a value is consumed by calling the generator’s next method, the generator function executes until it encounters the yield keyword. The function can be called as many times as desired and returns a new generator each time. Each generator may only be iterated once.

Explain event bubbling and how one may prevent it.

Event bubbling is when an event will traverse from the most inner nested HTML element and move up the DOM hierarchy until it arrives at the element which listens for the event. It starts from the deepest element to its parents, then all its ancestors which are on the way from bottom to top. We can add event listener to root level element such as html or body, the events will bubble until then.

Describe negative infinity.

The negative infinity is a constant value that is used to represent a value that is the lowest available. This means that no other number is lesser than this value. It can be generated using a self-made function or by an arithmetic operation. JS shows negative infinity as value as -Infinity.

What is a promise? What are the possible states of the promise?

It’s an object which can be returned synchronously from an asynchronous function. They are easy to manage when dealing with multiple asynchronous operations where callbacks can create callback hell leading to unmanageable code. Prior to promises events and callback functions were used but they had limited functionalities and created unmanageable code. Multiple callback functions would create callback hell that leads to unmanageable code. Events were not good at handling asynchronous operations. Promises are the ideal choice for handling asynchronous operations in the simplest manner. They can handle multiple asynchronous operations easily and provide better error handling than callbacks and events. A promise may be in one of three possible states: pending, fulfilled or pending. Users can attach callbacks to handle the fulfilled value or the reason for rejection.

Advantages of using promises:
  • Improves Code Readability
  • Better handling of asynchronous operations
  • Better flow of control definition in asynchronous logic
  • Better Error Handling
The technical questions you ask in the interview process are just as important as the tests and exercises that will be given to the potential candidates.

Difference between undefined, NaN and null

  • Undefined – the default value used when accessing things that don’t exist. It means that the object doesn’t have any value. This occurs when you create a variable and don’t assign any value to it. Null – object is empty and isn’t pointing to any memory address.
  • NaN – represents a value that is “not a number”. There are many ways that you can generate this error, among others invalid math operations such as 0/0 or “some text” / 1.

What will be the output when the following code is executed? Explain your answer.

  • console.log(false == ‘0’)
  • console.log(false === ‘0’)
  • true
  • false

There are two sets of equality operators in JS. The triple-equal operator (===) evaluates to true if the two expressions on either of its sides have the same type and the same value. The double-equal operator (==), however, tries to coerce the values before comparing them.

What is the difference between let and var?

The main difference is the scoping rules. Variables declared by var keyword are scoped to the immediate function body while let variables are scoped to the immediate enclosing block denoted by brackets. The reason why let keyword was introduced to the language was the function scope is confusing and was one of the main sources of bugs.

Explain “use strict”

The purpose of “use strict” is to indicate that the code should be executed in “strict mode”.With strict mode, you can not, for example, use undeclared variables. Strict mode makes it easier to write “secure”. As an example, in normal JavaScript, mistyping a variable name creates a new global variable. In strict mode, this will throw an error, making it impossible to accidentally create a global variable. In strict mode, any assignment to a non-writable property, a getter-only property, a non-existing property, a non-existing variable, or a non-existing object, will throw an error.
He should regularly read tech news, mainly about technologies which he use. It’s good idea to listen tech podcasts or watch videos.

Conclusions

These are very basic questions that each experienced Javascript developer should answer easily, and we often ask them at DevsData. However, as our experience shows that unfortunately, even the best of the best fail to answer all of them. Hopefully, the above examples will help you prepare for your upcoming interview.

Get in touch

If you need help hiring a professional software engineer or want to develop a software project, reach out to us at DevsData.

DevsData LLC is a technology consulting and software agency based in New York City and Europe. Equipped with Google-level engineers, we have the skills, experience, and resources to build complex, personalized technology systems to grow your financial business.

Contact us today, whether you need a talented developer or a custom-tailored system overhaul to optimize for growth.

Thank you

We'll get back to you as soon as possible.

Got a project idea?

Fill in an enquiry form and we’ll get back to you as soon as possible.

Acknowledgements

Unbeatable tech experience

“I interviewed about a dozen different firms. DevsData LLC is truly exceptional – their backend developers are some of the best I’ve ever worked with. I’ve worked with a lot of very well-qualified developers, locally in San Francisco, and remotely, so that is not a compliment I offer lightly. Their depth of knowledge and their ability to get things done quickly.
group-139nicholas_circle
Nicholas Johnson

MENTOR AT YC, CEO OF ORANGE CHARGER LLC

Acknowledgements

Acknowledgements