This blog post is part of our Interview Laid Bare series:


!! Important !!

Very good knowledge of the Software Engineering questions is a prerequisite. Please make sure you go through all of them and are able to have an in-depth discussion about the topics mentioned there.

Technology knowledge (represented by the questions in this post) is a plus, but we won’t reach this part of the interview unless you pass the Software Engineering questions part first.

You can read more about why we put so much emphasis on Software Engineering knowledge in our introductory blog post


HTML / CSS

What does a doctype do?

What is the CSS box model?

Describe what a “reset” CSS file does and how it’s useful.

Describe Floats and how they work.

How you can hide a element (and what is the difference between display: none and visibility: hidden)?

Explain CSS sprites, and how you would implement them on a page or site.

What is the difference between classes and ids?

Do you use some naming convention for your ids and classes ?

How you solve browsers compatibility problems ?

Can you describe your workflow when you create a web page?

What are the advantages/disadvantages of using CSS preprocessors (LESS, SASS,etc)?

Have you ever used a grid system, and if so, what do you prefer?

Have you used or implemented media queries or mobile specific layouts/CSS?

What’s the difference between the following CSS units: px, pt, em, rem?

Describe what CSS specificity is and how it works in practice

What is the universal selector? Name other selectors and explain their effect

What is the difference between RGB and RGBA?

How can CSS be integrated into an HTML page?

What is the difference between a div and a span?

Explain the different types of position.

What are pseudo classes?

Do you use !important?

Explain box-sizing

Have you used Flex? How about Grid?

Resources


Javascript general

Is JS single or multi threaded?

What are constructor functions? How are they different from regular functions? Describe what happens exactly when you call a constructor function.

Should stuff be exposed in the global scope?

What does “this” mean in different contexts?

How can one handle dates/times in javascript?

What’s the difference between “var x = 1” and “x = 1”?

What does hoisting mean?

How does prototypical inheritance work?

What JS frameworks have you used and what have you liked/disliked about each?

What is a promise and when would you use a promise instead of a callback ?

When would you use promises vs async/await?

What is a closure? Can you provide an example?

What is destructuring useful for?

What does “let” do?

What is an iterator and how does it help?

What’s a generator and how could it be used?

Resources


Typescript

What are type definitions?

Describe the difference between type and interface

What are Type Guards

How do you create a User Defined Type Guard

What are Conditional Types

Examples of where you would use Conditional Types

What are Template Literal Types

What are Utility Types?

When should you use ‘as’ type casts?

What is the use of the tsconfig.json file?

What could be dangerous about typescript?

Resources


NodeJS

Is Node single or multi-threaded?

What is the NodeJs event loop? Is it different from the Javascript event loop?

Why is node fast?

What is “callback hell”? How can you avoid it?

How do you read a file in Node? How do you read a file asynchronously in Node?

What are streams?

How can you scale Node?

What is an event emitter?

How do you build a web api with express? How about other frameworks (e.g. Nest)?

How can you implement authentication and authorization in Node?

How can you implement real-time communication between multiple client-side apps using Node?


React

Why is React so fast?

Explain how the virtual DOM works? Reconciliation algorithm?

What are some lifecycle methods and their scope? Where it’s the proper place to make an http call?

What are Hooks and Effects? How are they helpful?

How do you write your own hooks?

What is a Pure Component?

How can you pass state between components?

What are Higher Order Components and what are their benefits? Some examples of popular HOCS?

What are render props?

What are portals?

What are the usages of the context api?

What is the difference between js and jsx files

Give one basic difference between props and state?

Is setState sync or async?

Why do we need a key property? What is the default value?

How to prevent components from re-rendering?

What is the difference between rendering and hydrating a component when using React-DOM?

What are advanced/unusual uses of useRef? Give examples or explain why you can use useRef other than referencing instances of components

What is redux, how does it help and when would you use it?

Can you dispatch an action within an action?

When should be used useMemo or useCallback hooks?

What are error boundaries?

What is concurrent React?

What is automatic batching?

How can you defer re-rendering a non-urgent part of the tree?

How do you create forms in react?

How do you handle state management? What tools have you used?

What is prop drilling?

What is server-side rendering?

Resources


React Native

What are the different threads in React Native?

How do you debug React Native apps?

What are some differences between React and React Native?

Describe what is the bridge.

What are some core components in React Native?

How do you distribute RN apps to testers/users?

What is Async Storage?

Explain lists in RN and optimizations.

Advantages/disadvantages of Expo

Resources


Angular

How does Dependency Injection work in Angular?

How does data binding work in Angular?

What are decorators and how can we use them?

Describe the different types of directives in Angular and give some examples of each

How can you write your own directive in Angular? Why would you do it?

What are components?

Describe what pipes and pipe transforms help with.

What options of view encapsulation exist in Angular and how do they work?

What is an Angular Service and how can it help? How do you declare a singleton service?

Contrast template vs reactive forms.

How can you share data between components?

How is change detection implemented in Angular? How can speed be improved?

What are observables and how can they be used in an Angular app? Contrast with promises.

Describe what RxJs is useful for and some operators.

Describe ngRx and what it helps with.

What is a router outlet and how does it help?

How can be rerendered and updated a component which uses OnPush as change detection strategy?

What are Modules in Angular used for? Why?

Resources

Written by:
Adi.jpg
Adrian Hara

Managing partner and geek wannabe