Internship Tasks

2798 hands-on tasks to practice real job skills - earn XP, build a track record, get noticed for internships.

All Tracks Agile Scrum Programming Data Analysis Project Management DevOps UI/UX Design Digital Marketing Robotics
All Levels Beginner Intermediate Advanced Expert
💻 Beginner

Initialize a New Composer Project

Type the command to interactively create a new composer.json file for a project.

Programming
⏱ 3min ⭐ 80 XP
💻 Beginner

Require a Package With Composer

Type the command to add guzzlehttp/guzzle as a project dependency.

Programming
⏱ 3min ⭐ 80 XP
💻 Beginner

Install Dependencies From composer.lock

Type the command to install exact dependency versions from an existing composer.lock file.

Programming
⏱ 3min ⭐ 80 XP
💻 Beginner

Open the Interactive PHP Shell

Type the command to open PHP's interactive shell (REPL) for testing snippets on the fly.

Programming
⏱ 3min ⭐ 80 XP
💻 Beginner

Run a One-Line PHP Snippet

Type the command to execute the inline code 'echo phpversion();' directly from the terminal, without a file.

Programming
⏱ 3min ⭐ 80 XP
🌳 Beginner

Strict vs Loose Equality

Pick the correct explanation of the difference between == and === in PHP.

Programming
⏱ 3min ⭐ 70 XP
🌳 Beginner

isset() vs empty() vs is_null()

Pick the correct behavior when checking a variable set to 0.

Programming
⏱ 3min ⭐ 70 XP
🌳 Beginner

Visibility Modifiers: public, protected, private

Pick the correct rule about which code can access a private property.

Programming
⏱ 3min ⭐ 70 XP
🌳 Beginner

Null Coalescing Operator ??

Pick the correct behavior of the ?? operator.

Programming
⏱ 3min ⭐ 70 XP
🌳 Beginner

The __toString() Magic Method

Pick the correct purpose of implementing __toString() on a class.

Programming
⏱ 3min ⭐ 70 XP
📊 Beginner

Compare foreach vs for Loop Performance

Read a chart comparing loop execution time over a 1 million element indexed array.

Programming
⏱ 3min ⭐ 90 XP
📊 Beginner

Compare var_dump vs print_r Output Size

Read a chart comparing the character length of var_dump() versus print_r() output for the same nested array.

Programming
⏱ 3min ⭐ 90 XP
📊 Beginner

Read Error Log Entries by Type

Read a chart of PHP error log entries grouped by type over the last 24 hours.

Programming
⏱ 3min ⭐ 90 XP
🔍 Beginner

Fix a Loose Comparison Bug

Find the line where a loose comparison causes an unintended match.

Programming
⏱ 5min ⭐ 120 XP
🔍 Beginner

Fix an Undefined Variable Notice

Find the line that triggers an 'undefined variable' warning because a variable is used before being set.

Programming
⏱ 5min ⭐ 120 XP
🔍 Beginner

Fix a Missing break in a switch Statement

Find the line missing a break, causing execution to fall through into the next case unintentionally.

Programming
⏱ 5min ⭐ 120 XP
🔍 Beginner

Fix a Missing Curly Brace in String Interpolation

Find the line where a property access inside a double-quoted string isn't interpolated correctly.

Programming
⏱ 5min ⭐ 120 XP
🔍 Beginner

Fix an Off-by-One Loop Bound

Find the line where the loop condition causes it to miss the last element of the array.

Programming
⏱ 5min ⭐ 120 XP
🔍 Beginner

Fix an Unhandled Division by Zero

Find the line where a division can throw a DivisionByZeroError if the denominator is 0.

Programming
⏱ 5min ⭐ 120 XP
🔍 Beginner

Fix an Incorrect Date Format String

Find the line where the date() format string produces the wrong output (numeric month instead of name).

Programming
⏱ 5min ⭐ 120 XP
🧮 Beginner

Write an array_filter Expression for Even Numbers

Write the PHP expression that filters an array to only its even numbers.

Programming
⏱ 3min ⭐ 90 XP
🧮 Beginner

Write an array_map Expression to Square Values

Write the PHP expression that returns a new array with every number in $numbers squared.

Programming
⏱ 3min ⭐ 90 XP
🧮 Beginner

Write a sprintf Expression for a Formatted Price

Write the PHP expression that formats a float $price as a two-decimal dollar string, e.g. '$19.99'.

Programming
⏱ 3min ⭐ 90 XP
🧮 Beginner

Write an implode Expression to Join Names

Write the PHP expression that joins a $names array into a single comma-and-space separated string.

Programming
⏱ 3min ⭐ 90 XP
🧮 Beginner

Write an explode Expression to Split a CSV Line

Write the PHP expression that splits a comma-separated string $line into an array of fields.

Programming
⏱ 3min ⭐ 90 XP
🧮 Beginner

Write a Strict in_array Check

Write the PHP expression that checks whether $needle exists in $haystack using strict type comparison.

Programming
⏱ 3min ⭐ 90 XP
🧮 Beginner

Write an array_unique Expression

Write the PHP expression that removes duplicate values from $items while keeping the first occurrence of each.

Programming
⏱ 3min ⭐ 90 XP
🧮 Beginner

Write a Null Coalescing Assignment

Write the PHP statement that sets $config['timeout'] to 30 only if it isn't already set.

Programming
⏱ 3min ⭐ 90 XP
🔢 Beginner

Order a try/catch/finally Block's Execution

An exception is thrown inside a try block that has a matching catch and a finally clause. Order what executes.

Programming
⏱ 4min ⭐ 100 XP
🔢 Beginner

Order Composer's Autoloading Setup

Order the steps that let 'use App\\Foo;' resolve to the right file via Composer autoloading.

Programming
⏱ 4min ⭐ 100 XP
🔢 Beginner

Order a Bubble Sort Pass

Order the logical steps of a single pass of the bubble sort algorithm over an array.

Programming
⏱ 4min ⭐ 100 XP
🔢 Beginner

Order Reading a File Safely

Order the steps for safely opening, reading, and closing a file in PHP.

Programming
⏱ 4min ⭐ 100 XP
🔢 Beginner

Order Implementing an Interface

Order the steps for making a class satisfy a Countable-style interface.

Programming
⏱ 4min ⭐ 100 XP
🔢 Beginner

Order a composer install Workflow

Order the steps a fresh clone of a PHP project needs before it will run.

Programming
⏱ 4min ⭐ 100 XP
🔢 Beginner

Order Starting PHP's Built-in Development Server

Order the steps to serve a simple PHP project locally without Apache or Nginx.

Programming
⏱ 4min ⭐ 100 XP
🔢 Beginner

Order Building and Sending a JSON API Response in Plain PHP

Order the steps for a plain PHP script (no framework) to return a JSON API response.

Programming
⏱ 4min ⭐ 100 XP
💻 Beginner

Check the Installed PHP Version

Type the command to check which version of PHP is installed and active on the command line.

Programming
⏱ 3min ⭐ 80 XP
💻 Beginner

Lint a PHP File for Syntax Errors

Type the command to check script.php for syntax errors without actually executing it.

Programming
⏱ 3min ⭐ 80 XP
💻 Beginner

Start PHP's Built-in Development Server

Type the command to serve the current directory on localhost port 8000.

Programming
⏱ 3min ⭐ 80 XP
🔍 Beginner

Fix an N+1 Query in a Blade Loop

Find the line causing an N+1 query problem when rendering a post index.

Programming
⏱ 5min ⭐ 120 XP
🔍 Beginner

Fix a Controller Method Missing a Return

Find the line where the controller forgets to return the response, causing a blank page.

Programming
⏱ 5min ⭐ 120 XP
🔍 Beginner

Fix Incorrect Validation Rule Syntax

Find the line with invalid validation rule syntax that will throw an error.

Programming
⏱ 5min ⭐ 120 XP
🔍 Beginner

Fix a Missing CSRF Token in a Form

Find the missing piece causing every POST submission to fail with a 419 error.

Programming
⏱ 5min ⭐ 120 XP
🔍 Beginner

Fix an Eloquent Where Clause Typo

Find the line with a typo that silently breaks the intended filter.

Programming
⏱ 5min ⭐ 120 XP
🔍 Beginner

Fix a Migration Missing Its Rollback

Find the missing piece that makes this migration impossible to roll back cleanly.

Programming
⏱ 5min ⭐ 120 XP
🧮 Beginner

Write a Query for Active Users

Write the Eloquent expression that fetches all users where is_active is true.

Programming
⏱ 3min ⭐ 90 XP
🧮 Beginner

Write a Sum Aggregate Query

Write the query builder expression that sums the 'total' column for all orders placed today.

Programming
⏱ 3min ⭐ 90 XP
🧮 Beginner

Write a Multi-Column orderBy Query

Write the Eloquent expression that sorts posts by category first, then by newest within each category.

Programming
⏱ 3min ⭐ 90 XP
🧮 Beginner

Write a pluck() Query for a Dropdown

Write the Eloquent expression that returns category names keyed by their id, ready for a select dropdown.

Programming
⏱ 3min ⭐ 90 XP
🧮 Beginner

Write a Custom Per-Page Pagination Query

Write the Eloquent expression that paginates posts, showing 25 per page instead of the default 15.

Programming
⏱ 3min ⭐ 90 XP
🧮 Beginner

Transform a Collection With map()

Write the collection expression that returns an array of just the uppercase titles from a $posts collection.

Programming
⏱ 3min ⭐ 90 XP
📊 Beginner

Migration File Growth Over Time

Read a chart of cumulative migration files created per month and identify the busiest development month.

Programming
⏱ 3min ⭐ 90 XP
📊 Beginner

Compare Package Bundle Sizes

Read a chart comparing installed package sizes and identify the heaviest dependency.

Programming
⏱ 3min ⭐ 90 XP
💻 Beginner

Generate a Database Seeder

Type the command to generate a seeder class named PostSeeder.

Programming
⏱ 3min ⭐ 80 XP
💻 Beginner

Generate a Model Factory

Type the command to generate a factory class for the Product model.

Programming
⏱ 3min ⭐ 80 XP
💻 Beginner

List All Registered Routes

Type the command to print every route registered in the application, including method and controller.

Programming
⏱ 3min ⭐ 80 XP
💻 Beginner

Clear the Application Cache

Type the command to clear Laravel's application (data) cache.

Programming
⏱ 3min ⭐ 80 XP
💻 Beginner

Open an Interactive Tinker Shell

Type the command to open Laravel's REPL for interacting with the application from the command line.

Programming
⏱ 3min ⭐ 80 XP
💻 Beginner

Serve the App on a Custom Port

Type the command to start the built-in development server on port 8080 instead of the default 8000.

Programming
⏱ 3min ⭐ 80 XP
🌳 Beginner

Choosing the Right Eloquent Relationship

Pick the correct relationship method for a scenario.

Programming
⏱ 3min ⭐ 70 XP
🌳 Beginner

Route Model Binding Basics

Pick the correct explanation of implicit route model binding.

Programming
⏱ 3min ⭐ 70 XP
🌳 Beginner

Events vs Listeners

Pick the correct relationship between events and listeners.

Programming
⏱ 3min ⭐ 70 XP
🌳 Beginner

Casting a JSON Column to an Array

Pick the correct way to make a JSON database column automatically decode to a PHP array.

Programming
⏱ 3min ⭐ 70 XP
🌳 Beginner

CSRF Protection in Laravel Forms

Pick the correct requirement for a standard Blade HTML form that submits via POST.

Programming
⏱ 3min ⭐ 70 XP
🌳 Beginner

Choosing Blade's Escaped Output

Pick the safe way to output user-generated content in a Blade view.

Programming
⏱ 3min ⭐ 70 XP
📊 Beginner

Compare Response Time Before/After Caching

Read a before/after chart of average response times and identify the improvement.

Programming
⏱ 3min ⭐ 90 XP
📊 Beginner

Read Test Coverage by Module

Read a chart of test coverage percentage across app modules and find the weakest one.

Programming
⏱ 3min ⭐ 90 XP
🔢 Beginner

Order the Steps to Add a New Eloquent Migration

Put the steps for creating and applying a new database table migration in order.

Programming
⏱ 4min ⭐ 100 XP
🔢 Beginner

Order the Steps to Build a One-to-Many Relationship

Arrange the steps for wiring up a hasMany/belongsTo relationship between Post and Comment.

Programming
⏱ 4min ⭐ 100 XP
🔢 Beginner

Order the Steps to Install and Register a Composer Package

Order the steps for adding a third-party Laravel package to a project.

Programming
⏱ 4min ⭐ 100 XP
🔢 Beginner

Order the Steps to Seed a Database with a Factory

Order the steps for generating fake data for a Product model using a factory and seeder.

Programming
⏱ 4min ⭐ 100 XP
🔢 Beginner

Order the Steps to Scaffold Authentication with Breeze

Arrange the steps for adding Laravel Breeze authentication to a fresh project.

Programming
⏱ 4min ⭐ 100 XP
🔢 Beginner

Order a File Upload and Storage Flow

Order the steps for handling an uploaded avatar image in Laravel.

Programming
⏱ 4min ⭐ 100 XP
💻 Beginner

Generate a Model With Its Migration

Type the single Artisan command that creates a Post model AND its migration file in one go.

Programming
⏱ 3min ⭐ 80 XP
💻 Beginner

Generate a Resource Controller

Type the command to generate a PostController pre-filled with all seven RESTful resource methods.

Programming
⏱ 3min ⭐ 80 XP
💻 Beginner

Create a Migration for a New Table

Type the command to create a new migration file for a 'comments' table (not editing an existing table).

Programming
⏱ 3min ⭐ 80 XP
🔢 Beginner

Parse command-line arguments with argparse

Arrange the steps to parse command-line arguments with argparse.

Programming
⏱ 5min ⭐ 100 XP
🔢 Beginner

Log messages using the logging module

Arrange the steps to log messages using the logging module.

Programming
⏱ 5min ⭐ 100 XP
🔢 Beginner

Use type hints in a function signature

Arrange the steps to use type hints in a function signature.

Programming
⏱ 5min ⭐ 100 XP
🔢 Beginner

Work with the collections.Counter class

Arrange the steps to work with the collections.Counter class.

Programming
⏱ 5min ⭐ 100 XP
🔢 Beginner

Use a namedtuple

Arrange the steps to use a namedtuple.

Programming
⏱ 5min ⭐ 100 XP
🔢 Beginner

Use the defaultdict class

Arrange the steps to use the defaultdict class.

Programming
⏱ 5min ⭐ 100 XP
🔢 Beginner

Profile a function's execution time using timeit

Arrange the steps to profile a function's execution time using timeit.

Programming
⏱ 5min ⭐ 100 XP
🔢 Beginner

Serialize a Python object using pickle

Arrange the steps to serialize a Python object using pickle.

Programming
⏱ 5min ⭐ 100 XP
🔢 Beginner

Deserialize a pickled object

Arrange the steps to deserialize a pickled object.

Programming
⏱ 5min ⭐ 100 XP
🔢 Beginner

Write a simple recursive factorial function

Arrange the steps to write a simple recursive factorial function.

Programming
⏱ 5min ⭐ 100 XP
🔢 Beginner

Implement a basic linked list node in Python

Arrange the steps to implement a basic linked list node in Python.

Programming
⏱ 5min ⭐ 100 XP
🔢 Beginner

Implement a simple stack using a Python list

Arrange the steps to implement a simple stack using a Python list.

Programming
⏱ 5min ⭐ 100 XP
🔢 Beginner

Implement a simple queue using collections.deque

Arrange the steps to implement a simple queue using collections.deque.

Programming
⏱ 5min ⭐ 100 XP
🔢 Beginner

Write a binary search function

Arrange the steps to write a binary search function.

Programming
⏱ 5min ⭐ 100 XP
🔢 Beginner

Implement bubble sort

Arrange the steps to implement bubble sort.

Programming
⏱ 5min ⭐ 100 XP
🔢 Beginner

Use the with statement to manage multiple files

Arrange the steps to use the with statement to manage multiple files.

Programming
⏱ 5min ⭐ 100 XP
🔢 Beginner

Create and use a Python package with an __init__.py file

Arrange the steps to create and use a Python package with an __init__.py file.

Programming
⏱ 5min ⭐ 100 XP
🔢 Beginner

Write a function that returns multiple values

Arrange the steps to write a function that returns multiple values.

Programming
⏱ 5min ⭐ 100 XP
🔢 Beginner

Use conditional expressions (ternary operator)

Arrange the steps to use conditional expressions (ternary operator).

Programming
⏱ 5min ⭐ 100 XP
🔢 Beginner

Chain multiple string methods together

Arrange the steps to chain multiple string methods together.

Programming
⏱ 5min ⭐ 100 XP
🔢 Beginner

Zip two lists together

Arrange the steps to zip two lists together.

Programming
⏱ 5min ⭐ 100 XP
🔢 Beginner

Write a docstring for a function

Arrange the steps to write a docstring for a function.

Programming
⏱ 5min ⭐ 100 XP
🔢 Beginner

Use assert statements for debugging

Arrange the steps to use assert statements for debugging.

Programming
⏱ 5min ⭐ 100 XP
🔢 Beginner

Work with the datetime module

Arrange the steps to work with the datetime module.

Programming
⏱ 5min ⭐ 100 XP