The technology will be tailored to stuff you know. For example, if you know .NET and React, we’ll ask you about them. If you don’t know Typescript, we won’t ask.
Regardless of technology, the questions are mostly (99%) related to principles, mechanisms and design decisions. We have very few (almost none) API questions. Rather, we ask stuff like:
- what’s the difference between reference and value types in .Net? why do we even have two? when would you use one or another?
- how does async/await work, i.e. what does the compiler generate when you “await” and how does it behave at runtime?
- why would you use promises instead of callbacks in javascript?
- 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?
- 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?
- 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?
- 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?
- 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?
- 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
- 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?