2798 hands-on tasks to practice real job skills - earn XP, build a track record, get noticed for internships.
Type the command to interactively create a new composer.json file for a project.
Type the command to add guzzlehttp/guzzle as a project dependency.
Type the command to install exact dependency versions from an existing composer.lock file.
Type the command to open PHP's interactive shell (REPL) for testing snippets on the fly.
Type the command to execute the inline code 'echo phpversion();' directly from the terminal, without a file.
Pick the correct explanation of the difference between == and === in PHP.
Pick the correct behavior when checking a variable set to 0.
Pick the correct rule about which code can access a private property.
Pick the correct behavior of the ?? operator.
Pick the correct purpose of implementing __toString() on a class.
Read a chart comparing loop execution time over a 1 million element indexed array.
Read a chart comparing the character length of var_dump() versus print_r() output for the same nested array.
Read a chart of PHP error log entries grouped by type over the last 24 hours.
Find the line where a loose comparison causes an unintended match.
Find the line that triggers an 'undefined variable' warning because a variable is used before being set.
Find the line missing a break, causing execution to fall through into the next case unintentionally.
Find the line where a property access inside a double-quoted string isn't interpolated correctly.
Find the line where the loop condition causes it to miss the last element of the array.
Find the line where a division can throw a DivisionByZeroError if the denominator is 0.
Find the line where the date() format string produces the wrong output (numeric month instead of name).
Write the PHP expression that filters an array to only its even numbers.
Write the PHP expression that returns a new array with every number in $numbers squared.
Write the PHP expression that formats a float $price as a two-decimal dollar string, e.g. '$19.99'.
Write the PHP expression that joins a $names array into a single comma-and-space separated string.
Write the PHP expression that splits a comma-separated string $line into an array of fields.
Write the PHP expression that checks whether $needle exists in $haystack using strict type comparison.
Write the PHP expression that removes duplicate values from $items while keeping the first occurrence of each.
Write the PHP statement that sets $config['timeout'] to 30 only if it isn't already set.
An exception is thrown inside a try block that has a matching catch and a finally clause. Order what executes.
Order the steps that let 'use App\\Foo;' resolve to the right file via Composer autoloading.
Order the logical steps of a single pass of the bubble sort algorithm over an array.
Order the steps for safely opening, reading, and closing a file in PHP.
Order the steps for making a class satisfy a Countable-style interface.
Order the steps a fresh clone of a PHP project needs before it will run.
Order the steps to serve a simple PHP project locally without Apache or Nginx.
Order the steps for a plain PHP script (no framework) to return a JSON API response.
Type the command to check which version of PHP is installed and active on the command line.
Type the command to check script.php for syntax errors without actually executing it.
Type the command to serve the current directory on localhost port 8000.
Find the line causing an N+1 query problem when rendering a post index.
Find the line where the controller forgets to return the response, causing a blank page.
Find the line with invalid validation rule syntax that will throw an error.
Find the missing piece causing every POST submission to fail with a 419 error.
Find the line with a typo that silently breaks the intended filter.
Find the missing piece that makes this migration impossible to roll back cleanly.
Write the Eloquent expression that fetches all users where is_active is true.
Write the query builder expression that sums the 'total' column for all orders placed today.
Write the Eloquent expression that sorts posts by category first, then by newest within each category.
Write the Eloquent expression that returns category names keyed by their id, ready for a select dropdown.
Write the Eloquent expression that paginates posts, showing 25 per page instead of the default 15.
Write the collection expression that returns an array of just the uppercase titles from a $posts collection.
Read a chart of cumulative migration files created per month and identify the busiest development month.
Read a chart comparing installed package sizes and identify the heaviest dependency.
Type the command to generate a seeder class named PostSeeder.
Type the command to generate a factory class for the Product model.
Type the command to print every route registered in the application, including method and controller.
Type the command to clear Laravel's application (data) cache.
Type the command to open Laravel's REPL for interacting with the application from the command line.
Type the command to start the built-in development server on port 8080 instead of the default 8000.
Pick the correct relationship method for a scenario.
Pick the correct explanation of implicit route model binding.
Pick the correct relationship between events and listeners.
Pick the correct way to make a JSON database column automatically decode to a PHP array.
Pick the correct requirement for a standard Blade HTML form that submits via POST.
Pick the safe way to output user-generated content in a Blade view.
Read a before/after chart of average response times and identify the improvement.
Read a chart of test coverage percentage across app modules and find the weakest one.
Put the steps for creating and applying a new database table migration in order.
Arrange the steps for wiring up a hasMany/belongsTo relationship between Post and Comment.
Order the steps for adding a third-party Laravel package to a project.
Order the steps for generating fake data for a Product model using a factory and seeder.
Arrange the steps for adding Laravel Breeze authentication to a fresh project.
Order the steps for handling an uploaded avatar image in Laravel.
Type the single Artisan command that creates a Post model AND its migration file in one go.
Type the command to generate a PostController pre-filled with all seven RESTful resource methods.
Type the command to create a new migration file for a 'comments' table (not editing an existing table).
Arrange the steps to parse command-line arguments with argparse.
Arrange the steps to log messages using the logging module.
Arrange the steps to use type hints in a function signature.
Arrange the steps to work with the collections.Counter class.
Arrange the steps to use a namedtuple.
Arrange the steps to use the defaultdict class.
Arrange the steps to profile a function's execution time using timeit.
Arrange the steps to serialize a Python object using pickle.
Arrange the steps to deserialize a pickled object.
Arrange the steps to write a simple recursive factorial function.
Arrange the steps to implement a basic linked list node in Python.
Arrange the steps to implement a simple stack using a Python list.
Arrange the steps to implement a simple queue using collections.deque.
Arrange the steps to write a binary search function.
Arrange the steps to implement bubble sort.
Arrange the steps to use the with statement to manage multiple files.
Arrange the steps to create and use a Python package with an __init__.py file.
Arrange the steps to write a function that returns multiple values.
Arrange the steps to use conditional expressions (ternary operator).
Arrange the steps to chain multiple string methods together.
Arrange the steps to zip two lists together.
Arrange the steps to write a docstring for a function.
Arrange the steps to use assert statements for debugging.
Arrange the steps to work with the datetime module.