📜 ⬆️ ⬇️

3 tasks that filter out 9 out of 10 "Senior PHP" candidates

Candidates - “Senior PHP”, with experience, prior to the interview pass primary selection by resume / cover letter, that is, only those who look like decent programmers are enrolled in an interview. Interviews are held remotely - Skype / ICQ (no voice). Those. theoretically, you can google, even though I ask you not to do this.

So, the tests that screen out "like programmers":


1. count the number of hits


')
Task: I have a banner.php, let it display a static image, some kind of banner. We include it on the page just <img src = "/ banner.php" />

I need to know how many times we showed it. Please write the code.

If the candidate offers some simple solution, calculate the hits in the Apache logs, I complicate the conditions, for example, govryu "logs off", or "let's use the base", or "how many unique?".

Surprisingly, only a few are able to offer something real. Everyone for some reason, rush to use the session or store something on the client side. The most original was “you need to use a super logger from Facebook. I don't know anything about him, but I highly recommend it. ”

2. Basics of working with unix shell + a bit of creativity



Task: I have a cleanup.php which is doing something critical there. I need the script to run every 13 seconds.

Most offer to hang on crowns, I ask the steps to describe what I need to do so that a cronjob appears (taking into account that I have SSH access). Then it turns out that the crown has only per-minute tasks, and some kind of “hack” is needed. Again, it is possible to complicate the conditions if the candidate offers a solution in order to understand how deeply and widely he is in the “topic”. Most of them merge saying “I’m not badly rummaging around in the linux-shell, admins have done everything”.

3. some databases - SQL (mysql)



Task: I want to keep my library in the database. I’m worried about the names of the books and the authors - I don’t have to store anything else Suggest a table structure.

Half of the candidates do not know what many-to-many are and cannot decide which is better - store author_id in the books table or book_id in the authors table.

If everything is OK with the structure, I ask you to pull out a list of books that are written by 3 co-authors. That is, get a report “book - the number of co-authors” and filter out those with co-authors less than 3x.

For 3 months, while I give this test, I can remember the names of the candidates who did it in pure SQL in one query.

Total



These three tasks screen out 9 out of 10 candidates. Sometimes I feel sad, and I am plagued by vague doubts - maybe I am missing out on intelligent programmers? The candidates may be worried and they will “get out of my head” simple things, but then what will happen when they get into the team - “tomorrow is release, and our horse didn’t roll”? It may be worthwhile to set up candidates in advance, saying “be ready to write code at the interview”? Would not it be worse? Do you think it would be advisable for you to pass such an interview adequately?

Source: https://habr.com/ru/post/285398/


All Articles