winkle
Test library
Technical Includes code

PHPMid level.

Tests them on prepared statements and password hashing, XSS defences, traits and PSR-4, Composer and its lock file, and generators.

What's included

  • Only reviewed, approved questions
  • Every question editable before it’s sent
  • Timed at 60 minutes
  • Camera, screen and microphone recording
  • Leaving the tab is logged
  • Copy and paste blocked
  • Scored automatically, with reasons for written answers

What the 228 questions ask.

  • Multiple choice

    One right answer or several. Marked the moment they submit.

  • Debugging

    Code with a bug in it. They find what is wrong and say how to fix it.

  • Coding

    They write a solution in a code editor in the browser.

Drawn from 49 topics

How many approved Mid questions the bank holds on each.

  • Types and juggling15
  • Arrays10
  • Modern class features10
  • Composer9
  • Testing8
  • Headers and output buffering7
  • Input validation7
  • Performance7
  • Request lifecycle and PHP-FPM7
  • Closures and generators6
  • Deployment and upgrades6
  • Inheritance and interfaces6
  • Superglobals and requests6
  • Enums and readonly5
  • Exceptions and errors5
  • HTTP semantics5
  • Operators and control flow5
  • Security5
  • Sessions and cookies5
  • Strings5
  • Traits and static members5
  • Classes and objects4
  • Encryption and signing4
  • Error handling and logging4
  • Functions and arguments4
  • JSON4
  • Magic methods4
  • Namespaces & autoloading4
  • Output escaping and XSS4
  • Password hashing4
  • Randomness and secrets4
  • SQL injection and PDO4
  • Static analysis4
  • Arrays & array functions3
  • Coding standards (PSR)3
  • CSRF3
  • Forms and file uploads3
  • Other injection risks3
  • PSR-7 and PSR-153
  • Sessions3
  • File handling2
  • File uploads2
  • Generators2
  • OOP: classes, interfaces & traits2
  • Routing basics2
  • Transactions and data integrity2
  • Access control1
  • Functions & closures1
  • Types & juggling1

From test to shortlist in three steps.

  1. 01

    Pick a test

    Choose the skill and the level. Every question can be edited or swapped before anything is sent.

  2. 02

    Send one link

    Candidates take it in the browser from one link, against the clock.

  3. 03

    Read the scores

    Multiple choice marks itself. Written answers get a score with the reasoning behind it, so a surprising number can be checked.

About the PHP test.

What employers ask before sending the Mid PHP test, answered with its real figures.

  • How long does the Mid PHP test take?

    20 questions in about 60 minutes. The clock is set to 60 minutes by default. Switch timing off in the test’s settings and the duration becomes a suggestion instead of a limit.

  • What kinds of questions are in it?

    It mixes multiple choice, debugging and coding questions. Coding questions are answered in a code editor in the browser. Its questions run from intro to expert difficulty.

  • How is it scored?

    Automatically. Multiple choice marks itself the moment the candidate submits. Written answers are scored against a model answer, with partial credit for an answer that is partly right, and every written score comes with the reasoning behind it so a surprising one can be checked.

  • Which PHP level should I send?

    PHP comes at 4 levels: Junior (20 questions, 45 min), Mid (20 questions, 60 min), Senior (20 questions, 60 min) and Staff (20 questions, 35 min). Junior draws on introductory questions, Mid draws on intermediate questions, Senior draws on advanced questions and Staff draws on expert questions. Pick the level the role needs, not the one on the candidate’s CV.

  • Can I change the questions?

    Yes. Using a test puts a draft in your account, and you can edit, remove or swap any question before it goes to anyone.

  • How do you keep every result fair and honest?

    New tests start with camera, screen and microphone recording on, every time the candidate leaves the test tab logged, copy and paste blocked outside the code editor and questions hidden while the window isn’t in front, and printing blocked. Each is a switch in the test’s settings. You can also set how many times a candidate may leave the tab before the test submits itself, and shuffle the question order and answer options for each candidate.

  • Why can’t I see the questions on this page?

    A public page with the questions on it is an answer key for every candidate who finds it. Sign up free and using the test puts every question in front of you to review before anything is sent.

  • What does it cost?

    Nothing to start: sign up free, with no card. The plans and their limits are on the pricing page.

Send it today.

Sign up, and this test is waiting in your library, one click from a link you can send.