Covered Skills
Testing of these skills is covered in this pre-built test because they’re closely related. On our paid plan, you can easily create your own custom multi-skill tests.
Angular
Angular
Angular is a widely used, complete, JavaScript-based open-source, front-end web application framework. As it is the front end of the MEAN stack it's important for front end engineers to have experience with or knowledge of Angular.
Structural Directive
Structural Directive
A structural directive changes the model it is a part of by adding and removing components. A crucial tool for programmers building applications using frameworks.
HTML/CSS
HTML/CSS
HTML is the standard markup language for creating web pages. It's an essential skill for anyone creating web pages of any complexity.
CSS Selectors
CSS Selectors
Selectors are a programming pattern that can be used to select an element from a container. They are primarily used in technologies such as CSS and jQuery to apply styles to groups of elements.
Styling
Styling
Styling user interfaces according to the specification is a daily routine for a front-end developer.
Components
Components
Components are used in many frameworks and languages as the building blocks of an application.
Services
Services
A service is a function, or object, that is available for, and provides data or functionality to an application. It's important to understand a services responsibility, and to encapsulate logic and features when possible.
Node.js
Node.js
Node.js is a cross-platform JavaScript runtime environment for developing a diverse variety of tools and applications. It is used primarily as the back end for web applications(including the MEAN stack).
Modules
Modules
Modules are a way to package functionality in units that can depend on other modules. Since modules are often used for code reuse and code organization, knowledge of them is important for all developers.
TypeScript
TypeScript
The TypeScript programming language is a strict superset of JavaScript. It adds optional static typing and class-based object-oriented programming to the language
OOP
OOP
Object-oriented programming is a paradigm based on encapsulating logic and data into objects, which may then contain fields and procedures. Many of the most widely used programming languages are based on OOP, making it a very important concept in modern programming.
Events
Events
Events are the basic building block of Node.js. As such, they are important for all Node.js programmers.
Element Spacing
Element Spacing
Setting the margins and padding of the elements on a web page is one of the basic things that any web developer or designer should know.
Flexbox
Flexbox
The Flexible Box Layout Module makes it easier to design a flexible responsive layout structure.
Positioning
Positioning
Dynamic positioning of user interface elements depending on resolution is more important than ever in modern applications, making this important for a front-end developer.
Fonts
Fonts
Setting the font name or size is part of creating any web page.
Elements and Attributes
Elements and Attributes
Defining elements and their attributes is the first process in creating an HTML page.
HTML5
HTML5
HTML5 is now supported in all modern browsers, making it important for front-end developers to know how to use its features.
Language
Language
A programmer should use a language as a tool, always taking advantage of language-specific data types and built-in functions.
Animation
Animation
Animation is the process in which images or objects are manipulated to appear as if they are moving. It's a powerful effect that is important for UI designers to understand and be able to use.
Forms
Forms
Forms provide a method of grouping inputs and collecting user data. As such, they are important for all front end developers.
Asynchronous Programming
Asynchronous Programming
Asynchronous programming is a programming method used to to run tasks asynchronously. Running tasks asynchronously can improve performance and allow applications to feel more responsive. As such, it's important for all programmers who need to write performant or responsive applications.
Hyperlink
Hyperlink
Hyperlink, or simply a link, is a reference to data that the reader can follow by clicking or tapping. There's no web page without a hyperlink.
IFrame
IFrame
The HTML Inline Frame element (iframe) represents a nested browsing context, embedding another HTML page into the current one. Web developers often use it to display content within other content.
Async-Await
Async-Await
The async function declaration defines an asynchronous function, which can await a response. Using the async-await pattern allows using asynchronous code while not losing readability or maintainability.
Promise
Promise
In JavaScript, a Promise is an object representing the eventual completion or failure of an asynchronous operation. It allows associating handlers with an asynchronous action's eventual success value or failure reason. It is one of the commonly used asynchronous programming techniques in JavaScript.
Spread
Spread
Spread syntax allows an iterable to be expanded in places where zero or more arguments or elements are expected. As a core language feature of many programming languages, it's important for all developers to be familiar with.
JSON
JSON
JSON is an open-standard format that uses human-readable text to transmit data objects consisting of attribute-value pairs. It's the most common data format used for asynchronous browser/server communication.
Stream
Stream
A stream is a sequence of data elements made available over time. It is particularly useful for tasks that may benefit from being asynchronous, including tasks such as I/O processing or reading from a file, and as such is important for developers to understand.
Event Binding
Event Binding
In Angular, event binding refers to binding events to methods.
One-Way Binding
One-Way Binding
In Angular, one-way binding is a type of binding where changes in the model are reflected in the HTML, but not the other way around.
Two-Way Binding
Two-Way Binding
In Angular, two-way binding is a type of binding where the model and HTML are synchronized, ie, changes in the model update the HTML and changes in the HTML update the model.
Angular Pipes
Angular Pipes
In Angular, pipes are simple functions that are used to transform values in template expressions. They are useful since a pipe can be declared only once and then used throughout the whole application.
Expressions
Expressions
Expressions are the bedrock of a language. They are used to translate a value or definition from one form to another.
Directives
Directives
A directive is a special token in the markup that tells the library to do something to a DOM element. It is often the simplest way to perform a required task.
Event Handling
Event Handling
Event-based design patterns are very common in modern applications, especially in the development of user interfaces.
Data Binding
Data Binding
Data binding is a technique for synchronizing data between a component and DOM. For this reason, it’s important for all web developers.
NPM
NPM
npm is the default package manager for Node.js. As such, it is an important tool for every Node.js developer.
Event Loop
Event Loop
The event loop is what allows Node.js to perform non-blocking I/O operations — despite the fact that JavaScript is single-threaded - by offloading operations to the system kernel whenever possible.
Bug Fixing
Bug Fixing
Everyone makes mistakes. A good programmer should be able to find and fix a bug in their or someone else's code.
Event Emitter
Event Emitter
In Node.js, all objects that emit events are instances of the EventEmitter class making it one of the most commonly used classes. These objects expose an eventEmitter.on() function that allows one or more functions to be attached to named events emitted by the object.
Exceptions
Exceptions
Exceptions exist in most modern programming languages, making it important for a programmer to understand them and know how to handle them.
HTTP Routing
HTTP Routing
Routing describes the method of creating and directing a response for a given request (typically a URL).
CSS Advanced
CSS Advanced
Cascading Style Sheets are the styling language of the web. Knowledge about advanced CSS features is required for seasoned front-end developers.
Element Size
Element Size
Setting the size of the elements on a web page is one of the basic things that any web developer or designer should know.
Arithmetic
Arithmetic
Arithmetic is a fundamental branch of mathematics. An understanding of arithmetic concepts, and their application, is important for every candidate.
Objects
Objects
An object is a self-contained component which consists of methods and properties to make a particular type of data useful. Knowing how to create objects, and work with them, is an essential part of OOP.
Inheritance
Inheritance
In object-oriented programming, inheritance is the mechanism of basing a class upon another class, retaining similar implementation. Inheritance allows programmers to reuse code and is a must know topic for every programmer who works with OOP languages.
Bookmarks
Bookmarks
A bookmark is a hyperlink that points to a location within a document, which is defined by a name that is assigned to an element. Bookmarks are used when we need to jump to a specific location within a document.
Accessibility
Accessibility
Accessibility refers to the design of products, devices, services, or environments for people who experience disabilities. It's important for all designers and developers to know how to optimize for people who experience disabilities.
CSS Basics
CSS Basics
Cascading Style Sheets are the styling language of the web. Any good front-end developer requires a knowledge of basic CSS features.
Tables
Tables
A table stores data as rows and columns. From databases to HTML layouts, as a data structure they are ubiquitous. They are an important structure for developers to understand and know how to use.
Responsive Design
Responsive Design
Anyone who works with web should know how to properly implement responsive web design that makes web pages render well on a variety of devices and screen sizes.
UI
UI
An understanding of user interface design is important for any good front-end developer.
Semantic Tags
Semantic Tags
Semantic HTML elements clearly describe their meaning in a human and machine readable way. They are used to improve page SEO.
Union Types
Union Types
Union types allow using multiple distinct types for a function parameter or a variable.
SQL
SQL
SQL is the dominant technology for accessing application data. It is increasingly becoming a performance bottleneck when it comes to scalability. Given its dominance, SQL is a crucial skill for all engineers.
Conditions
Conditions
Conditional statements are a feature of most programming and query languages. They allow the programmer to control what computations are carried out based on a Boolean condition.
Views
Views
A database view is a result set that is defined by a stored query, the results of which can can also be queried. As a fundamental and widely used database construct, it's useful for candidates to understand how and when they should be used.
Select
Select
The SELECT statement is used to select data from a database. It is the most used SQL command.
Create Index
Create Index
The CREATE INDEX statement is used to create indexes for tables. Indexes are used to retrieve data from the database more quickly. They are very important for making performant queries.
Database Schema
Database Schema
A database schema defines how data is stored in a database. Fields are assigned fixed data types and restrictions. Formalizing how data is stored is an early step towards building an application or service.
Performance Tuning
Performance Tuning
The performance of an application or system is important. The responsiveness and scalability of an application are all related to how performant an application is. Each algorithm and query can have a large positive or negative effect on the whole system.
Alter Table
Alter Table
The ALTER TABLE statement is used to add, delete, or modify columns and constraints in an existing table. Alter table statements are important for all programmers who have to modify existing schemas.
Constraints
Constraints
Constraints are used to define rules and relationships. They are applied to a dataset. A constraint may take many forms, such as x ≤ 5 in a programming language and a NOT NULL constraint in a SQL table definition.
Create Table
Create Table
The CREATE TABLE statement is used to create a new table in a database. It is an essential command when creating new database.
Aggregation
Aggregation
An aggregate function is typically used in database queries to group together multiple rows to form a single value of meaningful data. A good programmer should be skilled at using data aggregation functions when interacting with databases.
Subqueries
Subqueries
Subqueries are commonly used in database interactions, making it important for a programmer to be skilled at writing them.
Ordering
Ordering
Knowing how to order data is a common task for every programmer.
Indexes
Indexes
The proper implementation and use of indexes are important for improving the performance of database queries.
Union
Union
The UNION operator is used to combine the result-set of two or more SELECT statements. It is often used when a report needs to be made based on multiple tables.
Group by
Group by
The GROUP BY statement groups rows by some attribute into summary rows. It is a common command when making various reports.
Update
Update
The update operation is used to modify existing entries in a database and is used with high frequency when dealing with mutable data.
Insert
Insert
Even though most database insert queries are simple, a good programmer should know how to handle more complicated situations like batch inserts.
Joins
Joins
A normalized database is normally made up of multiple tables. Joins are, therefore, required to query across multiple tables.
Left Join
Left Join
LEFT JOIN is one of the ways to merge rows from two tables. We use it when we also want to show rows that exist in one table, but don't exist in the other table.
Right Join
Right Join
RIGHT JOIN is one of the ways to merge rows from two tables. We use it when we also want to show rows that exist in one table, but don't exist in the other table.
Delete
Delete
The delete statement is used to delete records in a table and is one of the four basic CRUD functions (create, read, update, and delete) required for working with any persistent storage.
SQL CASE
SQL CASE
The CASE statement is SQL's control statement. It goes through conditions and returns a value.
CTE
CTE
A CTE (Common Table Expression) is a temporary result set that can be referenced within another SELECT, INSERT, UPDATE, or DELETE statement. Recursive CTEs can reference themselves, which enables developers to work with hierarchical data.
Borders
Borders
Borders can be applied to most HTML elements within the body. This is one of the most used element decorations.
Inline Styles
Inline Styles
Inline styles are styles that are applied directly on elements. This is one of the ways for applying styles and for some scenarios, such as for email, is the only supported way.
Selectors
Selectors
Selectors are a programming pattern that can be used to select an element from a container. They are primarily used in technologies such as CSS and jQuery to apply styles to groups of elements.
CSS Layout
CSS Layout
Cascading Style Sheets are the styling language of the web. For a front-end developer, a knowledge of CSS layouts is required.
Database Normalization
Database Normalization
Database normalization is the process of structuring a relational database in accordance with a series of so-called normal forms in order to reduce data redundancy and improve data integrity. It should be used to avoid undesirable side-effects such as update, insert, and delete anomalies.
Arrays
Arrays
An array is a container of a fixed number of objects of a similar type. It is a fundamental component of most programming languages.
Recommended Job Roles
These are the job roles that we recommend for the HTML/CSS, Angular, TypeScript, Node.js, and SQL online test.
Angular Developer