Go to file
2024-07-22 11:30:48 +03:00
api add api with symfony 2024-07-19 14:37:52 +03:00
node-page rewrite to node module 2024-07-22 11:30:48 +03:00
npm-rest add simple nodejs api endpoint 2024-07-19 15:11:41 +03:00
api.php add single page api endpoint 2024-07-19 14:55:09 +03:00
Collection.php add Collection and Student and classes 2024-07-18 18:14:09 +03:00
linux.sh Update linux.sh 2024-07-21 17:27:22 +02:00
nginx-site.conf add simple nginx config for php application 2024-07-19 15:15:54 +03:00
README.md add Collection and Student and classes 2024-07-18 18:14:09 +03:00
StudentAndClasses.sql add Collection and Student and classes 2024-07-18 18:14:09 +03:00

Test tasks

**
Сollections**

You need to write a collection class (which can be used in a foreach construct). The class inherits the iterator interface, that is, it necessarily implements methods:

  • __construct(array $items),
  • prev,
  • next,
  • current,
  • rewind (method rewind returns a pointer to the first element of the collection).

Add an array [1,2,3,4,5,6,7,8,9,10] to the collection.

In the loop, run through the collection and calculate the sum of the elements.

Students & classes

There are tables:

id First name Last name
1 Bob Biden
2 Joey Johnsen
3 Mike Buffollo

Classes:

id title
1 A
2 B

Students_Classes

id class_id student_id
1 1 1
2 1 2
3 2 3

You need to write a SQL query that displays the id of the class, its name and the number of students in the class, that is:

id title student_count

API Development

Task: Create a simple REST API endpoint in PHP that returns a JSON response with a list of users from the users table.

Additional Test tasks

Basic Node.js Knowledge

Create a Node.js application that serves a simple webpage. The webpage should display a list of users fetched from a JSON file.

Basic Understanding of Server Software (Apache, Nginx)

Write a basic configuration for an Nginx server with https redirect that serves a PHP application.

Basic Understanding of Linux Servers

This task will assess your fundamental knowledge of Linux server management, including basic command-line operations, file system navigation, user management, and basic network configuration. Give the list of bash commands for each subtask.

Task Instructions:

  1. Connecting to a Linux Server:
    • Use SSH to connect to a remote Linux server. Assume the server's IP address is 192.168.1.10 and the SSH port is the default one.
  2. File System Navigation:
    • Once connected, navigate to the /var/log directory.
    • List all files and directories within /var/log and save the output to a file named log_list.txt in your home directory.
  3. User Management:
    • Create a new user named testuser without a home directory.
  4. File Permissions:
    • Create a directory named testdir in your home directory.
    • Change the permissions of testdir to allow read, write, and execute access only to the owner.
  5. Basic Network Configuration:
    • Display the current network configuration, including IP addresses and network interfaces.
  6. Package Management:
    • Update the package list on the server and install the curl package.