Compendium of Questions I have been asked during Interviews.
- What is a Promise?
- How do you use a Promise?
- What are some of the Promise libraries available?
- Are Promises blocking or non-blocking?
- What is a Promise Chain?
- What do Promises seek to solve?
- For a chained Promise, does the next Promise have to wait for the resolution of the current Promise to finish?
- What is Promise.all()? How does it work?
- What methods are using by Promises?
- What are alternatives to Promises?
- Is JavaScript dynamic or static?
- Does JavaScript have types?
- What are the types available in JavaScript?
- What are the raw or primitive types in JavaScript?
- What is the difference between a primitive type and a non-primitive type?
- What is an array?
- Are arrays mutable or immutable in JavaScript?
- How can you reserve the elements in an Array?
- What are some methods available to you to manipulate Arrays?
- What libraries out there are helpful with array manipulation?
- Explain the following: map, filter and reduce?
- Are arrays primitive JavaScript types?
- Explain the Object Oriented Programming/Design paradigm?
- What is inheritance?
- What is polymorphism?
- What is method overloading?
- What can you achieve method overloading in JavaScript?
- What type of inheritance is implemented in JavaScript?
- What is a prototype?
- How do you use a prototype?
- What is the difference between declaring properties and methods in the class than outside of the class through the prototype?
- Explain prototypical inheritance.
- Contrast inheritance between JavaScript and Java.
- How do you instantiate a class in JavaScript?
- Can you create private variables or methods in JavaScript? Explain.
- From what do all objects in JavaScript descend?
- Are null and undefined objects?
- What is a Closure?
- What is the usage of Closure?
- Why are Closures important in the JavaScript language?
- Give an example of usage of a Closure?
- What is an IIFE?
- What are the uses cases of an IIFE?
- How do you return data from an IIFE?
- Does JavaScript have namespaces?
- How can you create namespaces in JavaScript?
- Explain “this”.
- What are some challenges that you may face while trying to access “this” within nested functions? How do you overcome them?
- What is the global object?
- What is the difference between == and === ?
- Does JavaScript support unary operators? Give an example.
- What is ES5?
- What is ES6?
- What is ES?
- What is the difference between ES5 and ES6?
- How do you overcome browsers not supporting modern features of JavaScript?
- What is TypeScript?
- Is TypeScript the same as JavaScript? Are they backwards compatible?
- Who oversees the JavaScript language?
- Is JavaScript open source?
- What is Functional Programming?
- Does JavaScript support Functional Programming?
- What does it mean for a function to be called “first class citizen”?
- What is a pure function?
- What is immutability?
- Does JavaScript support immutability?
- What libraries are useful for Functional Programming design?
- Is JavaScript pass by value or pass by reference?
- What is pass by value and pass by reference? What is their difference?
- Does JavaScript check for the number of arguments passed to a function?
- How can you ensure you are getting the number of arguments desired?
- How can you implement default values for parameters in JavaScript?
- Can you return a function from a function?
- What is recursion?
- Is recursion bad for performance?
- What is function composition?
- What is the Event Loop?
- Walk me through the event loop.
- What is the stack?
- What is the heap?
- What is the event queue?
- What does the time represent in a setTimeout function?
- How does JavaScript keep control of asynchronous calls?
- What is hoisting?
- What is a web worker?
- What is a service worker?
- What are generators?
- How do you use generators?
- What is an iterable object?
- What is async?
- Reverse a string without using any of the built in methods.
- Extract the domain of an email address.
- Extract the numbers of a phone number.
- What is Angular?
- What is a directive?
- What is a controller?
- What is a service?
- What is a filter?
- What is a component?
- What is the difference between a component and a directive?
- What is scope?
- What is a view?
- Is Angular MVC? Explain.
- What is the Angular digest cycle?
- How do you trigger the digest cycle?
- What are watches?
- Compare and contrast apply and digest.
- Explain the lifecycle of a directive.
- How do JavaScript and Angular event loops integrate?
- What is two-way binding?
- What is one-way binding?
- What are events?
- What is a directive?
- What is compile?
- What is link?
- What is postlink?
- Why are directives the best place to perform DOM manipulation?
- Give examples of common native directives.
- How do you build a custom directive?
- What type of directives can be built?
- What is a decorator directive?
- When should you use a directive as an element and when as an attribute?
- Should two attribute directives have isolate scopes? Explain.
- How can you communicate across directives?
- Compare and contrast ng-show and ng-if.
- What is a controller?
- How can controllers communication among each other?
- What is broadcast?
- What is emit?
- When should you use broadcast or emit?
- Explain scope inheritance?
- Are controllers always necessary? How can you avoid using a controller and why?
- What is a service?
- How can services be used in Angular?
- What are the advantages of services?
- What are some native services?
- How do you create a custom services?
- What is the difference between provider, factory and service?
- What is value and what is constant?
- How can you improve performance in Angular?
- Why is ng-repeat a source of bottlenecks in Angular?
- What is the maximum numbers of watchers an application can have?
- What is the maximum number of times that angular will run through the watch list? What happens if that number is exceeded?
- What are style guides?
- Why are style guides useful?
- Are you familiar with the guidelines set by Todd Motto or John Papa?
- What is Node.js?
- What is the relationship between Node.js and C++?
- What is V8?
- What is callback hell?
- What is promise hell?
- What is error first?
- What is middleware? Give examples.
- What is a buffer?
- What is a stream?
- What are some common promises libraries for Node.js?
- Explain the Node.js event loop.
- What is shrinkwrap?
- What is NPM?
- What is Yarn?
- What is the difference between NPM and Yarn?
- Is Node.js single thread or multithread?
- Is Node.js non-blocking? What does that mean and how is that achieved?
- What is Express?
- What is Restify?
- What is unit testing?
- What is e2e testing?
- What is an integration test?
- What is a functional test?
- Why is testing important?
- what is TDD?
- What is BDD?
- How do you test JavaScript?
- How do you test Angular?
- How do you test Node?
- How do you test CSS?
- What is CSS?
- What is SASS?
- What is LESS?
- What is CSS3?
- What are the properties of the box component in CSS?
- What are CSS animations?
- What is a preprocessor?
- Why use SASS?
- How can you modify CSS properties dynamically?
- How do you overcome cross browser compatibility issues with CSS?
- Create a circle with CSS and place that circle on top of a box so that circle’s center aligns with the box top border.
- How do you stack elements with CSS?
- What is a flexbox?
- What is semantic HTML?
- Give examples of semantic HTML.
- Is
- What is SOLID?
- What is modularization?
- What is architecture in software terms?
- What are some different architectures?
- What is middleware?
- What is encapsulation?
- What are microservices?
- What is CI/CD?
- What is Version Control?
- What is git?
- What is git flow?
- What is a merge conflict?
- What is rebasing?
- What is a Pull Request?
- How do you perform a pull request?
- What is a fork?
- What is Gulp?
- Contrast Gulp with Grunt?
- What is a Gulp plugin?