PHP Online Test
For Jobseekers
Practice your skills and earn a certificate of achievement when you score in the top 25%.
Take a Practice TestFor Companies
Test candidates with real-world problems and interview the best ones.
Sign Up to Offer this TestAbout the test
The PHP online test assesses knowledge of programming in the PHP language through a series of live coding questions.
The assessment includes work-sample tasks such as:
- Serializing to/from JSON to handle web requests.
- Using OOP principles in PHP.
- Working with associative arrays and using common built-in functions.
A good PHP developer needs a solid understanding of the PHP programming language and its specifics, OOP principles, and the ability to take advantage of its rich set of built-in functions.
Sample public questions
Your company is analyzing malware which targets numerical record files.
The malware uses a sliding window over the array of numbers in a file, and tries to match the following pattern:
Tl, -, -, X, -, -, -, Tr
The entire window is moved so that 'X' passes through all the values and is compared to the numbers at the 'Tl' and 'Tr' locations, which are positioned at a constant offset to 'X'.
The malware has the following rules:
- If the value at the 'Tl' or 'Tr' position of the pattern is bigger or equal to the value at the 'X’ position, the malware replaces the value at 'X' with 0.
- If the value at the 'Tl' or 'Tr' offset is out of bounds, then the value at 'X' is only compared to the other existing value.
- The record is processed in two stages: first, all the positions that should be set to 0 are located, using the original values for comparison. Only after all positions have been identified do they get set to 0.
For example, if the values in a record file are the following:
[1, 2, 0, 5, 0, 2, 4, 3, 3, 3]
The expected values after the malware runs are:
[1, 0, 0, 5, 0, 0, 0, 3, 3, 0]
In this example, both '2's, the '4' and the last '3' were replaced by 0.
Implement the simulate function so that the malware behavior is replicated for further study.
As part of a data processing pipeline, complete the implementation of the make_pipeline method:
- The make_pipeline method should accept a variable number of functions, and it should return a new function that accepts one parameter $arg.
- The returned function should call the first function in make_pipeline with the parameter $arg, and call the second function with the result of the first function.
- The returned function should continue calling each function in make_pipeline in order, following the same pattern, and return the value from the last function.
For example, calling make_pipeline(function($x) { return $x * 3; }, function($x) { return $x + 1; }, function($x) { return $x / 2; }), and then calling the returned function with 3 should return 5.
For jobseekers: get certified
Earn a free certificate by achieving top 25% on the PHP test with public questions.
Take a Certification TestSample silver certificate
Sunshine Caprio
Java and SQL TestDomeCertificate
For companies: premium questions
Buy TestDome to access premium questions that can't be practiced.
Get money back if you find any premium question answered online.
38 more premium PHP questions
Array Search, Read First Line, Flower Shop, Greeter, Last Key, Height, Shipping, Array Sum, Category Tree, Hobbies, Username, View Count, Log Parser, Kilometer Converter, Paragraph, String Occurrence, Segment, Cookie, Read Write Execute, Filter, Fire Dragon, Unique Numbers, Action Stack, Chain Link, Numbers To Text, Special Actions, Language Teacher, Crop Ratio, Flimsy Ladder, Circuit Simulator, Vectors, Date Transform, Shipping Service, PC Parts Seller, Construction Game, Calories Burned, Students, Chemical Machine.
Skills and topics tested
- PHP
- Arrays
- Recursion
- Exceptions
- Null Coalescing Operator
- Language
- Arithmetic
- Pass by Reference
- Associative Arrays
- Iteration
- Regex
- Strings
- JSON
- Serialization
- XML
- Inheritance
- Method Overriding
- OOP
- Stream
- Session
- Interfaces
- Algorithmic Thinking
- Stack
- Linked List
- Bug Fixing
- Integer Division
- Conditions
- Callback
- Classes
- Properties
- Sorting
For job roles
- PHP Developer
- Web Developer
Sample candidate report
What others say
Simple, straight-forward technical testing
TestDome is simple, provides a reasonable (though not extensive) battery of tests to choose from, and doesn't take the candidate an inordinate amount of time. It also simulates working pressure with the time limits.
Jan Opperman, Grindrod Bank
Product reviews
Used by
Solve all your skill testing needs
150+ Pre-made tests
From web development and database administration to project management and customer support. See all pre-made tests.
90+ skills
From JavaScript and SQL to English and customer support. See all questions to filter by skill.
Multi-skills Test
Mix questions for different skills or even custom questions in one test. See an example.
How TestDome works
Choose a pre-made test
or create a custom test
Invite candidates via
email, URL, or your ATS
Candidates take
a test remotely
Sort candidates and
get individual reports