
I’m often asked such a question, and I decided to answer it.
I wanted to write another article about the interviews, but it seems to me that the format has outlived itself, so we read and talk about us.
Foundation
Build and use Google. The first is difficult to assess, for this a lot of “stupid” questions for interviews have been invented. The second item is either vaccinated in the first days of the trial period, or the developer owns it initially, no one considers the other option ...
General cognitive
I have a question for a general development interview, what happens after entering
domain.com/index.php
domain.com/index.php
and pressing enter, you should tell the following:
- from where and how the browser finds out the IP address of the server
- why our request will process apache
- why apache will start php to handle index.php
- how PHP handles the script index.php
I again return to the interviews, and beckons me straight
What the HTTP request / response consists of (yes, open firebug or whatever you have installed and see)
Installing a bundle of Apache + PHP + MySQL - practice, this is how it should be.
This is a little about linux - about file system differences in comparison with windows, about the distribution of rights (chmod) and how to exit vi without saving.
')
A couple of days will be required for the assimilation of basic knowledge.Php
Basics of the basics - receiving and processing incoming parameters.
We send the form:
<form action="index.php?a=12"> <input type="hidden" name="b" value="6"/> <input type="submit" value="Calc!"> </form>
And here is the listing of
index.php
, and as a result of the script, we will see ...:
function some_logic($a, $b = 24) { return ($a+$b)/$_REQUEST['b']; } $var1 = $_GET['a']; echo some_logic($var1);
Work with loops, arrays and strings. And yes, a simple task from the interview (it's time to calm down):
Work with the database and files. For the assimilation of the material - here is your task: to write an anonymous message board (with faded
... upload of pictures)
You should know how the session mechanism works - i.e. what happens from the moment you call session_start, and which side is all about cookies (remember, I was talking about HTTP?).
To know what serves include, require and what is the difference between them.
The difference between echo and print is not only know, but also understand.
Taki learn to work with objects, to understand the difference between an abstract class and an interface.
Know and use namespace.
Separately, it is worth mentioning code hygiene - it is necessary to comply with the coding standards, of the many existing I recommend
the Zend Framework coding standardsThe more experience, the better, but you tighten the basics in a week, the RPE will require another week.SQL
Basics of SQL syntax. A little insight into MySQL and understand the differences between MyISAM and InnoDB.
Know how LEFT / RIGHT / INNER JOINs work - clearly in the
Visual Representation of SQL Joins article (link to the lazy picture -
Visual_SQL_JOINS_orig. Jpg O_o)
Be able to design a database for a small project. Here are the requirements for the library database:
The following information should be stored in the database:
- What kind of books do we have in stock
- Book authors
- Library visitors
- Librarians
Allows you to perform the following queries:
- Which will pull out all the authors, which reads the visitor "Ivanov"
- Which will let you know who is currently reading books for more than 3 days
To alter a DB, since In the library there are often more than one copy of the book, but you need to know which copy the visitor took.
Concentrated study during the week is enough for you.HTML and CSS
Make a couple of pages, from and to (HTML must be valid). Do not listen to the fact that this is the work of a designer / coder / someone else. Believe my experience - they will give you a blank page, no one will integrate the HTML template into your system for you, so knowledge of HTML and CSS is mandatory.
Forget about the fact that Smarty is created for web designers, and they will give you ready-made templates - these are fairy tales. About Smarty, too, forget, although not - to have an idea what it is of course necessary, but to use - no.
Must understand the following CSS:
#my p.sel:first-line, .main li li a:hover + span { color:#f00; }
Find out what the block model is, and how the float works. What is margin and padding.
Five days is enough for you to master the basic skills of the maker.Javascript
Know the syntax, how events work, what closure is, and how AJAX works. I recommend reading the
textbook of Ilya Kantor .
This is a little, the study of these issues will not take you more than a week.Then read the first six parts of my series “
jQuery for beginners ” - this
is a couple of days to learn the material.
Still a little straining
Understanding the MVC pattern. Familiarity with some thread framework (Zend Framework, Symfony, Yii, etc.). You can go through the
Quick Start from Zend Framework.
Learn to work with the database through
PDO . Know what is SQL injection.
Get acquainted with a thread of modern version control system (yes, even with SVN)
And what can I expect?
A month of study, and you can already apply for the position of Junior PHP developer. Look for the answer to the mercantile question at
DOUPS There is something to supplement - write comments, see a mistake - it is better in PM