What are advantages of composition and aggregation over inheritance?

Object composition in OOP refers to combining two or more different classes with purpose of creating new, more complex class. In case of composition, an object "owns" another object, rather than just use it, which means if main object will be destroyed, all internal objects should be destroyed as well. In case of aggregation, which is a closely related concept to composition, you can say an internal object is a part of the main object, but is still independent and can exists on its own.

How prototype-based OOP is different from class-based?

Prototype-based programming is a style of object-oriented programming in which inheritance is implemented via process of cloning existing objects that serve as prototypes. Read more about prototype-based OOP here. In prototype-based languages objects inherit directly from other objects, in more classical class-based OOP languages inheritance is based around "parent-child" relationship between classes.

What is a linked list and how it works? What are advantages and disadvantages of linked lists?

A linked list is a linear collection of data elements called nodes, pointing to the next node by means of pointer. It is a data structure consisting of a group of nodes which together represent a sequence. Under the simplest form, each node is composed of data and a reference (in other words, a link) to the next node in the sequence; but there are more complex variants, which introduce additional links. This structure allows for efficient insertion or removal of elements from any position in the sequence.

What are new features introduced in HTML5?

HTML5 is a markup language used for structuring and presenting content on the World Wide Web. It is the fifth and current version of the HTML standard.

It was published in October 2014 by the World Wide Web Consortium (W3C) to improve the language with support for the latest multimedia, while keeping it easily readable by humans—and consistently understood by computers and devices such as web browsers, parsers, etc. HTML5 is intended to subsume not only HTML 4, but also XHTML 1.

What are the benefits of including 'use strict' at the beginning of a JavaScript source file?

The use strict directive is new in JavaScript 1.8.5 (ECMAScript 5). It is not a statement, but a literal expression, ignored by earlier versions of JavaScript. The short answer here is that use strict is a way to voluntarily enforce stricter parsing and error handling on your JavaScript code at runtime. Code errors that would otherwise have been ignored or would have failed silently will now generate errors or throw exceptions.