10 Interview Questions Every JavaScript Developer Should Know - Deepstash

Keep reading for FREE

Marcus Lemonis

“People, Process, Product”

MARCUS LEMONIS

96

711 reads

Can you name two programming paradigms important for JavaScript app developers?

JavaScript is a multi-paradigm language, supporting imperative/procedural programming along with OOP (Object-Oriented Programming) and functional programming. JavaScript supports OOP with prototypal inheritance.

  • Good to hear: Prototypal inheritance (also: prototypes, OLOO); Functional programming (also: closures, first class functions, lambdas).
  • Red flags: No clue what a paradigm is, no mention of prototypal oo or functional programming.

92

431 reads

What is functional programming?

It produces programs by composing mathematical functions and avoids shared state & mutable data.

  • Good to hear: Pure functions/function purity; Avoid side-effects; Simple function composition; Examples of functional languages: Lisp, ML, Haskell, Erlang, Clojure, Elm, F Sharp, OCaml, et.; Mention of features that support FP: first-class functions, higher-order functions, functions as arguments/values.
  • Red flags: No mention of pure functions / avoiding side-effects; Unable to provide examples of functional programming languages; Unable to identify the features of JavaScript that enable FP.

97

430 reads

What is the difference between classical inheritance and prototypal inheritance?

In JavaScript, prototypal inheritance is simpler & more flexible than class inheritance.

  • Good to hear: Classes: create tight coupling or hierarchies/taxonomies; Prototypes: mentions of concatenative inheritance, prototype delegation, functional inheritance, object composition.
  • Red Flags: No preference for prototypal inheritance & composition over class inheritance.

92

286 reads

What are the pros and cons of functional programming vs object-oriented programming?

  • Good to hear: Mentions of trouble with shared state, different things competing for the same resources, etc.; Awareness of FP’s capability to radically simplify many applications; Awareness of the differences in learning curves; Articulation of side-effects and how they impact program maintainability; Awareness that a highly functional codebase can have a steep learning curve; Awareness that a highly OOP codebase can be extremely resistant to change and very brittle compared to an equivalent FP codebase.
  • Red flags: Unable to list disadvantages of one style or another.

92

170 reads

When is classical inheritance an appropriate choice?

The answer is never, or almost never. Certainly never more than one level.

Good to hear:

  • Rarely, almost never, or never.
  • A single level is sometimes OK, from a framework base-class such as React.Component.
  • “Favor object composition over class inheritance.”

87

168 reads

When is prototypal inheritance an appropriate choice?

Good to hear:

  • In situations where modules or functional programming don’t provide an obvious solution.
  • When you need to compose objects from multiple sources.
  • Any time you need inheritance.

Red flags:

  • No knowledge of when to use prototypes.
  • No awareness of mixins or `Object.assign()`.

85

123 reads

What does “favor object composition over class inheritance” mean?

Good to hear:  

  • Avoid class hierarchies. 
  • Avoid brittle base class problem. 
  • Avoid tight coupling. 
  • Avoid rigid taxonomy. 
  • Avoid the gorilla banana problem. 
  • Make code more flexible. 

86

147 reads

What are two-way data binding and one-way data flow, and how are they different?

Good to hear:  

  • React is the new Canonical example of one-way data flow. Cycle.js is another popular implementation of uni-directional data flow.
  • Angular is a popular framework which uses two-way binding. 

87

140 reads

What are the pros and cons of monolithic vs microservice architectures?

Good to hear:  

  • Positive attitudes toward Microservices, despite higher initial cost vs Monolthic Apps. Despite higher initial cost, Microservices tend to perform and scale better.
  • Structure the App so that services are independent from each other. But easy to bundle together as a monolithic App in the beginning.

87

132 reads

What is asynchronous programming, and why is it important in JavaScript?

Good to hear:  

  • An understanding of what blocking means, and the performance implications. 
  • An understanding of event handling, and why its important for UI code. 

90

542 reads

CURATED BY

dustinspe

Secretary at a company

Ready for the next level?

Read Like a Pro

stash-superman-illustration

Explore the World’s

Best Ideas

200,000+ ideas on pretty much any topic. Created by the smartest people around & well-organized so you can explore at will.

An Idea for Everything

Explore the biggest library of insights. And we've infused it with powerful filtering tools so you can easily find what you need.

Knowledge Library

Powerful Saving & Organizational Tools

Save ideas for later reading, for personalized stashes, or for remembering it later.

# Personal Growth

Take Your Ideas

Anywhere

Organize your ideas & listen on the go. And with Pro, there are no limits.

Listen on the go

Just press play and we take care of the words.

Never worry about spotty connections

No Internet access? No problem. Within the mobile app, all your ideas are available, even when offline.

Get Organized with Stashes

Ideas for your next work project? Quotes that inspire you? Put them in the right place so you never lose them.

Join

2 Million Stashers

4.8

Stars

5,740 Reviews

App Store

4.7

Stars

72,690 Reviews

Google Play

Sean Green

Great interesting short snippets of informative articles. Highly recommended to anyone who loves information and lacks patience.

Shankul Varada

Best app ever! You heard it right. This app has helped me get back on my quest to get things done while equipping myself with knowledge everyday.

Ashley Anthony

This app is LOADED with RELEVANT, HELPFUL, AND EDUCATIONAL material. It is creatively intellectual, yet minimal enough to not overstimulate and create a learning block. I am exceptionally impressed with this app!

samz905

Don’t look further if you love learning new things. A refreshing concept that provides quick ideas for busy thought leaders.

Laetitia Berton

I have only been using it for a few days now, but I have found answers to questions I had never consciously formulated, or to problems I face everyday at work or at home. I wish I had found this earlier, highly recommended!

Jamyson Haug

Great for quick bits of information and interesting ideas around whatever topics you are interested in. Visually, it looks great as well.

Giovanna Scalzone

Brilliant. It feels fresh and encouraging. So many interesting pieces of information that are just enough to absorb and apply. So happy I found this.

Ghazala Begum

Even five minutes a day will improve your thinking. I've come across new ideas and learnt to improve existing ways to become more motivated, confident and happier.

Read & Learn

20x Faster

without
deepstash

with
deepstash

with

deepstash

Access to 200,000+ ideas

Access to the mobile app

Unlimited idea saving & library

Unlimited history

Unlimited listening to ideas

Downloading & offline access

Personalized recommendations

FAQ

Claim Your Limited Offer

Get Deepstash Pro

BLACK FRIDAY

75% OFF | 1-Year Pro Subscription

Claim Offer