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.
JavaScript
JavaScript
JavaScript is the programming language of HTML and the web. It's an essential skill for any programmer working with websites and web technologies.
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.
Closures
Closures
Closures are an important concept in any programming language in which functions are first-class citizens.
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.
DOM manipulation
DOM manipulation
Dynamically accessing and updating user interface elements is an important part of most modern web applications.
Event handling
Event handling
Event-based design patterns are very common in modern applications, especially in the development of user interfaces.
Language
Language
A programmer should use a language as a tool, always taking advantage of language-specific data types and built-in functions.
Strings
Strings
The string data structure is used to represent text. It is one of the most commonly used data structures. Therefore, every programmer should be skilled at string manipulation.
Monkey patching
Monkey patching
Monkey Patching is a method of either adding new or overriding existing functionality without the creation of a new type. As such it's an important tool for developers to be familiar with.
HTML5
HTML5
HTML5 is now supported in all modern browsers, making it important for front-end developers to know how to use its features.
Arithmetic
Arithmetic
Arithmetic is a fundamental branch of mathematics. An understanding of arithmetic concepts, and their application, is important for every candidate.
Iteration
Iteration
Iteration is the act of repeating a process, or cycling through a collection. Iteration is one of the fundamental flow control tools available to developers.
Attribute manipulation
Attribute manipulation
Getting and setting HTML attributes is one of the most common coding tasks of that changes something on a web page.
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.
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.
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.
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.
Elements and attributes
Elements and attributes
Defining elements and their attributes is the first process in creating an HTML page.
Fonts
Fonts
Setting the font name or size is part of creating any web page.
Dialog box
Dialog box
Dialog box, a small window that pops-up, is a common way for communicating information to the user and prompting them for a response.
Regex
Regex
A regular expression (regex) is a special text string for describing a search pattern. It is a common way for extracting data from text.
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.
Asynchronous calls
Asynchronous calls
Calling methods asynchronously is a common task for programmers.
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.
Serialization
Serialization
Familiarity with data serialization to and from formats such as XML and JSON is important as it is commonly used for interprocess communication
XML
XML
Extensible Markup Language (XML) is a markup language that defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. The design goals of XML emphasize simplicity, generality, and usability across the Internet. This is one of the most used formats for exchanging data over the web.
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.
Sorting
Sorting
Every programmer should be familiar with data-sorting methods, as sorting is very common in data-analysis processes.
Content manipulation
Content manipulation
Adding or modifying content is the most common task when developing dynamic web pages.
Forms
Forms
Forms provide a method of grouping inputs and collecting user data. As such, they are important for all front end developers.
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.
Callback
Callback
A callback is a piece of code that can be passed as an argument to another bit of code. It's a very common pattern that has a wide variety of uses, and as such it's important to understand.
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.
Classes
Classes
A class is one of the most widely used and primary structures used in object-oriented programming. As such it's important for any developer to have a working knowledge of how to use it.
ECMAScript 2015
ECMAScript 2015
ECMAScript 2015 adds a significant number of features to JavaScript, including classes, modules and range based loops. As such it's important for any JavaScript developer to understand.
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.
Recursion
Recursion
A good programmer should be familiar with when to use recursive functions, since they can provide elegant solutions for complex problems.
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.
Semantic tags
Semantic tags
HTML5 introduced semantic tags, which can greatly improve the level of automated analysis that can be done on documents, as well as improve the readability of HTML.
React
React
React is a JavaScript library for building user interfaces. As one of the most widely used frameworks it's important for most JavaScript developers to have a working knowledge of.
Components
Components
Components are used in many frameworks and languages as the building blocks of an application.
Conditional rendering
Conditional rendering
Conditional rendering in React is rendering different components depending on the application state. It is commonly used and, as such, is important for all developers.
Managing state
Managing state
Knowing how to overcome statelessness, the intrinsic limitation of web programming, is a very important skill for a web developer.
Context
Context
React Context provides a way to pass data without using props through every level of the tree.
React Hooks
React Hooks
React Hooks allow developers to use state and other React features without writing a class. Hooks allow developers to reuse stateful logic without changing the component hierarchy.
Higher order components
Higher order components
A higher-order component (HOC) is an advanced technique in React for reusing component logic. HOCs are not part of the React API, they are a pattern that emerges from React’s compositional nature.
Effect Hook
Effect Hook
Using a React Effect Hook allows you to set up a subscription to DOM changes and perform side effects.
State Hook
State Hook
Using a React State Hook allows you to preserve state between re-renders in a manner that doesn't require render props and higher-order components patterns, which simplifies code.
Portals
Portals
Portals are a first-class way to render children into a DOM node that exists outside the DOM hierarchy of the parent component. As such, they are a very convenient tool for all developers who need to interact with a virtual DOM.
VDOM
VDOM
Many modern web frameworks provide a virtual DOM that can be used to improve performance and maintainability of large web applications - as such, it's important for web developers to have a solid understanding of how to interact with both the VDOM and DOM.
Reducer Hook
Reducer Hook
Using a React Reducer Hook allows you to pass callbacks with values between components, which simplifies code by removing the need to pass callbacks through every level of a component tree.
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.
Pagination
Pagination
Pagination is the process of dividing data into discrete pages. It can be used to reduce the overhead of fetching large quantities of data, and as such, it is important when developing systems that fetch remote data.
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.
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.
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.
Error boundaries
Error boundaries
Error boundaries are React components that catch JavaScript errors anywhere in their child component tree and display a fallback UI instead of the component tree that crashed. Since they are one of the basic building blocks of error handling, they are important for all React developers.
Algorithmic thinking
Algorithmic thinking
When designing and/or analyzing an algorithm or data structure, it is important to consider the performance and structure of an implementation. Algorithmic thinking is one of the key traits of a good programmer, especially one working on complex or performance-critical code.
Dictionary
Dictionary
A dictionary (or associative array) is a data type composed of a collection of key-value pairs, where each possible key appears at most once in the collection. It is used when we need to access items by their keys.
Associative arrays
Associative arrays
An associative array (or dictionary) is a data type composed of a collection of key-value pairs, where each possible key appears at most once in the collection. It is used when we need to access items by their keys.
Ajax
Ajax
Ajax, which initially stood for Asynchronous JavaScript And XML, is a programming practice of building complex, dynamic webpages using a technology known as XMLHttpRequest. Knowledge of Ajax is important for web developers.
HTTP
HTTP
The Hypertext Transfer Protocol is the foundation of data communication on the World Wide Web. As such, it's important for all developers who work on internet applications and websites to understand this.
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.
Timing Events
Timing Events
JavaScript can be executed in time-intervals. JavaScript developers use timing events to delay the execution of certain code, or to repeat code at a specific interval. Knowledge of timing events is necessary to implement features that have time as a factor.
Hooks
Hooks
Many frameworks allow developers to add their own plugins and extensions. Hooks are the points within the framework that the developer can access to implement their own logic and designs.
Exceptions
Exceptions
Exceptions exist in most modern programming languages, making it important for a programmer to understand them and know how to handle them.
Recommended Job Roles
These are the job roles that we recommend for the HTML/CSS, JavaScript, and React online test.
JavaScript Developer