Questions
22 of 32
1What is the constructor function?
2What are Objects?
3What are the properties of an object?
4How does javascript implements object oriented programming?
5What are the key differences between javascript’s Object-based Inheritance and Conventional Class-based Inheritance?
6What is a prototype in JavaScript?
7How we can implement prototype-based inheritance?
8Explain the prototype chain and its role in property lookup.
9What is the difference between an object's `__proto__` and a constructor function's `prototype` property and [[Prototype]]?
10What are object wrappers for primitive type?
11Can you explain the use of object wrappers with examples?
12Explain how the `instanceof` operator works.
13What are different methods to create an object?
14What is an object initializer?
15What does the `Object.create()` method do?
16How are constructor functions used to create objects with shared properties and methods?
17Show an example of ES6 classes to create objects and inherit properties?
18What are factory functions in JavaScript ?
19What are Object constructors in JavaScript ?
20How can you add new properties and methods to the prototype of an existing constructor function?
21What is prototype pollution, and how can it be a security risk in JavaScript?
22Is modifying or extending built-in object prototypes recommended (e.g., adding a method to `Array.prototype`)? Why or why not?
23What happens when you try to access a property that doesn't exist on an object?
24How can you prevent or mitigate prototype pollution vulnerabilities in your code?
25How does the `Object.prototype.hasOwnProperty()` method work?
26How can you optimize prototype chain lookup for better performance?
27Can you explain how `Object.prototype.constructor` property works?
28What is the difference between modifying the prototype of an object and adding a property directly to the object?
29How does JavaScript handle circular references in object prototypes?
30What is static dispatching in object-oriented programming?
31What is the purpose of the `Object.keys()` method?
32Write a function flattenObject(obj) that flattens a deeply nested object into a single-level object, using dot notation for nested keys.
22 / 32

Is modifying or extending built-in object prototypes recommended (e.g., adding a method to `Array.prototype`)? Why or why not?

Modifying or extending built-in object prototypes is generally not recommended, as it can lead to compatibility issues and unexpected behaviour in code that uses those objects. It's better to create utility functions instead.

Difficulty: 5/10
Topics: prototype inheritance, global namespace pollution, maintainability

Scenario Questions

0-2 years experience
  1. 1

    How would you add a custom method to all arrays in a small script? Show the code you’d write.

  2. 2

    If you added a method named flatten to Array.prototype but later discovered JavaScript added its own flatten method, what would happen to existing code?

2-5 years experience
  1. 1

    We have a legacy codebase where someone patched Array.prototype with a sum method. A new library you’re using now throws an error. How would you debug and fix the issue?

  2. 2

    When you need a reusable array operation for a new feature, would you extend Array.prototype or create a helper function? Explain the trade‑offs.

5-8 years experience
  1. 1

    In a large web app, performance regressions appeared after several teams added methods to built‑in prototypes. How would you measure the impact and decide whether to refactor those extensions?

  2. 2

    Design a strategy to prevent prototype pollution across multiple micro‑frontends that share the same global JavaScript environment.

8+ years experience
  1. 1

    Your organization is moving from a monolithic front‑end to a modular architecture with isolated runtimes. How would you handle existing code that monkey‑patches built‑in prototypes to avoid breaking other teams?

  2. 2

    What company‑wide policies or tooling would you introduce to enforce safe usage of prototype extensions across many projects?

Follow-up Questions

  • What problems have you seen in production because of prototype changes?
  • How would you test code that relies on a patched prototype?
  • Can you think of a scenario where extending a prototype is justified?