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.
PHP
PHP
PHP is a widely used general-purpose scripting language that is especially well suited for web development.
Language
Language
A programmer should use a language as a tool, always taking advantage of language-specific data types and built-in functions.
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.
Arithmetic
Arithmetic
Arithmetic is a fundamental branch of mathematics. An understanding of arithmetic concepts, and their application, is important for every candidate.
MySQL
MySQL
MySQL is an open-source relational database management system. It is one of the most widely used databases and is prominent in the popular LAMP stack.
String Functions
String Functions
String functions are used for manipulating, searching and processing strings. As almost all programs use strings, all developers should know how to make use of string functions.
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.
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.
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.
Pass by Reference
Pass by Reference
The call by reference method of passing arguments to a function copies the reference of an argument into the formal parameter. Inside the function, the reference is used to access the actual argument used in the call. This means that changes made to the parameter affect the passed argument. This is one of two possible ways for passing an argument to a function so it should be known to any developer.
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.
Exceptions
Exceptions
Exceptions exist in most modern programming languages, making it important for a programmer to understand them and know how to handle them.
Linked List
Linked List
A linked list is a linear collection of data elements where each element points to the next. It is a data structure consisting of a collection of nodes which together represent a sequence. It is usually used for advanced scenarios where we need fast access to the next element, or when we need to remove an element from anywhere in the collection.
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.
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.
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
Sorting
Sorting
Every programmer should be familiar with data-sorting methods, as sorting is very common in data-analysis processes.
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.
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.
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.
Integer Division
Integer Division
Integer division is division in which the fractional part (remainder) is discarded. Knowing this is important for optimal implementation of some algorithms and for avoiding common bugs.
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.
Method Overriding
Method Overriding
Method overriding, in object-oriented programming, is a language feature that allows a subclass to provide a specific implementation of a method that is already provided by one of its parent classes.
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.
Window Functions
Window Functions
Window functions operate on a set of rows and return a single value for each row from the underlying query. They are often useful since they does not suffer from information loss, unlike group by queries.
Common Table Expression
Common Table Expression
Common Table Expressions are used to simplify complex joins and recursive queries. It's a very useful tool for any developer who writes SQL.
Recursion
Recursion
A good programmer should be familiar with when to use recursive functions, since they can provide elegant solutions for complex problems.
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.
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.
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.
Cursors
Cursors
Database cursors are a control structure for traversing over the records in a database. As they are often used when writing stored procedures, it's important for database admins and developers to be familiar with how and when to use them.
Stored Procedure
Stored Procedure
A stored procedure is a subroutine available to applications that access a relational database management system. They can consolidate and centralize logic that was originally implemented in applications and speed up certain kinds complex data processing.
Date Functions
Date Functions
Date functions are used to manipulate dates. As this is a common and often complicated task, it's important that every developer knows how to reuse a language or libraries provided for date functions.
Triggers
Triggers
A trigger is a procedure that is automatically executed in response to certain events. They’re often used to enforce data integrity in databases or to schedule tasks in other environments.
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.
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.
Session
Session
A session is a way to store information to be used across multiple pages. This is a technique that should be well known to any developer who works on web applications.
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.
Interfaces
Interfaces
An interface is used to define an abstract type that defines behaviors as method signatures. Instances of different types can implement the same interface and provide a way for a developer to reuse the code.
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.
Recommended Job Roles
These are the job roles that we recommend for the PHP, MySQL, and SQL online test.