4 February, 2020
Are you preparing for your PHP job interview? You are probably searching for articles about common questions during interviews for a PHP developer in 2020. It’s only natural. But what you might not realize that most of such articles are not going to be very helpful. Why? Because, as weird as it may sound… there is more to a PHP developer than just PHP. Best software development companies know that. Let’s review what you should brush up on to succeed during your PHP job interview.
My name is Michał Żądło and I’m the head of PHP at The Software House. As such, I tend to conduct many job interviews for PHP developers. I’ll try to share some of my knowledge to make your next interview (as a candidate) a little easier for you.
PHP interview questions in 2020 – different than what you might expect
Let me start by saying what this article is NOT going to be. You won’t find here ready-made answers to a bunch of PHP-related interview questions. I have seen quite a few of such articles online. In fact, most articles on this topic are just like that and limited to the PHP domain only. But does knowing PHP well alone make you a good developer? I don’t think so.
PHP is mostly used for making web applications and developing a working app requires much more than just PHP. Typically, you want to use some kind of server and database as well. Of course, there are projects that do not require any extra skills, but I think it’s fair to say that there aren’t that many of them these days.
As you probably realize, any PHP developer worth their salt needs to be adept at those related technologies. Knowing this, interviewers are bound to ask about anything related to app development. While today’s development world is more and more specialized, strong general knowledge is still extremely valued and characteristic of a good dev.
The details of the PHP developer job interview will also largely depend on the company’s profile. It’s essential to get familiar with what the organization actually does and the technologies it uses. Pay attention to the “highly welcome” section of the job offer. Brushing up on the skills listed there will be very helpful. Some of these issues may not seem like the most important ones, but they can actually make you stand out from other candidates.
Today, let’s focus on a couples areas that are very likely to turn up during a PHP job interview:
- PHP language itself
- Common development problems
- Web and REST API
- Programming engineering
- Soft skills
This expertise is so vast that you won’t be able to get fully prepared in just a couple days. However, what you can improve in that time is your attitude, the way you talk and your self-confidence. Still, knowing what you might expect during an interview can also go a long way to boost your confidence. That’s why I’m going to talk about all the aspects mentioned above from the perspective of someone who does PHP job interviews very often.
There will definitely be some questions related to the PHP language itself. Typical areas include:
- what’s new in PHP 7.4 or more generally PHP 7.x
- differences between PHP 5.6 and 7.x. A lot of companies still use PHP 5.x and such questions are only natural, especially in the context of migration to version 7,
- OOP in the context of the PHP language,
- limitations and common challenges in PHP development,
- Dependency management in PHP projects, especially composer.
Speaking from my experience, recruiters usually ask about the issues they work with on an everyday basis. That’s what makes preparing for an interview somewhat challenging. Based on the articles I read while preparing for my own take, I didn’t get the feeling that what they talk about is representative of my own experiences as both recruiter and applicant. My fellow PHP developers at TSH also share this opinion.
PHP frameworks solve many problems and are a basis for most projects. They have the potential to save a lot of time and spare yourself many difficulties in the future. When you know a framework your prospective employer uses, it’s also much easier to adapt to the new place. Some companies even specialize in a specific framework and grow their whole team around it. Questions during the PHP job interview will depend on the kind of expertise and challenges the company faces, but some of the most common include:
- the life cycle of a request, that is the entire process of how requests are handled in the framework,
- data validation methods,
- ORM, that is the way the framework supports the data layer,
- dependency management,
- console commands.
Common development problems
A common practice during a PHP job interview is to present the candidate with a typical problem. I usually only use it for more experienced devs. It’s a great way to see how the dev approches new problems and their ability to locate the most important aspect of them. It’s also a chance to see how they work under pressure – will they give up or try to come up with a solution?
As for preparation, the best way is to come with the right attitude. One interview is not the end of the world. There is no need to get too nervous. Even if we fail to find the solution, our attitude alone can still make us look really good. It’s a good habit to ask questions, especially to make sure that we understand what the problem is really about.
Web and REST API questions
Most modern apps communicate with the outside world via the HTTP protocol and by sharing an API (also, check out our article on API Platform, which allows you to create an API very quickly), consumed by frontend and mobile apps and other third-party apps that integrate with our services. As far as I know, there isn’t a single PHP project at TSH, which doesn’t have its own API. It’s a very important aspect of PHP development, so it’s bound to show up during a job interview. Typical tasks may be like this:
- describe how the communication via HTTP works,
- the differences between HTTP 1.1 and 2,
- what REST API is and how it works,
- what CORS is and what it is used for,
- authentication and authorization of users via API.
Databases are also an essential part of any app. Consequently, questions such as these above are very common during PHP job interviews:
- What are the differences between relational and non-relational databases?
- What noSQL databases did you use? What can they be used for?
- Performance and optimization of databases.
Programming engineering questions
For me personally, it’s usually the most interesting part of the interview, as it really shows the dev’s worth. It’s the kind of knowledge that separates good programmers from those who still have a long way to go before they can call themselves real pros. Typical topics may include:
- app testing – types of tests, specific cases, tools for testing PHP applications,
- best practices, such as SOLID,
- design patterns – how they are grouped, what real problems they solve and more,
- architecture patterns,
Most projects will eventually make it to the production (at least, that’s the idea). Developers should understand the implications of it. Most modern apps work in the cloud and are meant to be scalable (use more than one instance). Every developer should understand common scalability challenges and solutions to them such as:
- file storage and shared sessions,
- app configuration for a variety of environments,
- common issues with the scalability of PHP apps,
- virtualization and containerization,
- app deployment methods.
Soft skills questions
A highly underestimated and commonly marginalized issue by developers. It’s extremely important, because usually we don’t work alone. We work in teams composed of programmers, testers, project managers or product owners. The ability to cooperate with them all is essential. Typical questions related to the dev’s soft skills include:
- methods of solving conflicts in a team,
- approaches to dealing with unreasonable deadlines,
- how to communicate the inability to deliver in a sprint to the product owner,
- how to argue during code reviews.
Summary and key findings
What do you think about this list? Feel a little more confident? Here’s a short recap of the most important points:
- The PHP job interview may include questions about the entire app ecosystem, not just PHP itself. After all, that’s just how real PHP projects are.
- Companies will try to ask questions related to their own profile, specializations and work environment.
- It’s good to be honest about what you don’t know. It will come out eventually anyway. Companies realize that it’s easier to teach development than change one’s character and attitude to work.
I wish you good luck on your next PHP job interview. I hope it will help you land your dream job. Perhaps, it happens to be at The Software House – I encourage you to take a look at our job openings, for both PHP developers and other specialists.