Interview at Booking.com (Part 1, Moscow)
Recently, articles on the topic of labor immigration to Europe have become popular here. Since I am also an IT immigrant and work in the Booking.com office in Amsterdam, I decided that I also have something to tell.
My name is George, and for a year and a half I have been living in Holland and work as a developer / team leader on Booking.com. I want to start my story about life in Amsterdam with a story about how it all started. This story will be about how and why I chose my current company for work, how the process of interviewing and subsequent support went.
Like any adventurous undertaking, it all starts with an idea. In my case, it’s very spontaneous. I really like traveling to other countries. Most often I visited Europe, and for a rather short time (a week or two). However, this year I made my truly major journey, which will be remembered for a long time (and I really hope to write separate articles about it someday). In February 2014, I got married, and my wife and I went to the ends of the world - to New Zealand. Since in three weeks we wanted to have time to squeeze out the maximum of impressions from the country to which you only need to fly 30 hours to get there (and this, I will tell you, is extremely exhausting), our trip consisted of many transfers from place to place with a constant change of hotels and cities. Planning and selection of housing, especially when you need to choose it not for a long time in one city,
And at that moment Booking.com, a site known to many travelers, really helped me .
With it, I was able to book the best hotels for the price / quality, and more than once there were no overlays or any problems. Upon returning home, in the wake of such inspiration and sincere gratitude to the booking, I suddenly decided for some reason to see if they had any vacancies. It was just some kind of spontaneous idea, born in my head in the wake of an overabundance of emotions.
I did not expect or plan anything concrete. I did not even know in which country the head office is located, nor how many employees are in it, nor what development technologies they use. On a site with vacanciesI was struck by the work titled “Developer (Willing to learn Perl)”, which said, in short, that since there are not so many specialists in the Perl programming language in the world, and that this language is not very popular, the company is looking for just a smart and experienced developer who does not know, but would like to learn Perl. Honestly, I really like this approach, because I think that a programming language is just a tool in the arsenal of a real programmer. And it’s not the language that determines who you are. For example, an experienced auto mechanic will not care if a Lada is in front of him or a Mercedes. Yes, first he will have to read the instructions for the car to understand the differences in design, but ultimately, if his hands grow from the right place, he will not care what to repair.
It should also be said that in my work I always lacked the feeling that I was working for someone’s good. Yes, I created software systems of varying complexity, but all of them were made for a certain limited circle of people, on order, and there was little return on my work.
Therefore, I also wanted to find a place to work on a project that would really help specific people. And so that I can come home, run this program or website on my computer, and say to my family: “Look, I made this convenient thing with my own hands.”
The combination of enthusiasm, admiration and desire to help others came together, so I decided to try my luck and responded to the vacancy. By that time, I already had a compiled resume in English, left over from the old days. I updated it a bit, updated my skills and other things, and sent it without much hope that it would be interesting to anyone. Judge for yourself - a certain programmer from Russia, with experience that absolutely does not overlap with the fact that he uses booking (I have a lot of skills in the field of everything related to Microsoft, and they need an employee to work with Perl, which implies using Linux and other Open Source solutions). So I sent and forgot. But, as it turned out, in vain, because they noticed me.
One fine day, as usual, I was in the office at my then still main job. And then suddenly the phone rang from an unknown and obviously not Russian number. I did not have any foreign friends or colleagues, so a similar call somewhat confused me. Imagine my surprise when at the other end of the “wire” they told me that they were calling from Booking.com about my resume. So began the recruiting process. To imagine the duration of this process, I’ll say that the first call came in around March 20 or so (about a week or two after sending the application).
This call was essentially the first interview. Fortunately for many, the very first interview is not technical. This was done in order, firstly, to get to know the person in more detail and talk with him in a voice, and secondly, to give the candidate time to prepare for really technical parts. The first call is made by the recruiter. In my case, it was a girl with a pleasant voice, who rather politely and kindly told me a little about the company, position, etc., after which she began to ask about me: who I work with, what I do at work, why I want to go to the booking Well, and the like. Thus, you go through the primary filter: the company understands whether you correspond to the description from the resume, and indeed how you communicate in general. Some kind of foolproof,
Important! Booking.com is an international company with people from 113 countries, headquartered in Amsterdam. To be able to understand each other, the official language of the company was recognized as English. Therefore, before submitting a resume to booking, it is very important to understand that you will always have to speak English everywhere.
I know English quite well, but I lacked conversational practice. Therefore, our communication was rather chaotic, given the unexpectedness of the call. But in general, everything went pretty well, although I recall that I was pretty sweating and a small desert formed in my throat.
After the first call, we agreed that they would write me an email with the results, and that if everything was positive, they would appoint another call, but this time of a technical nature. The letter was not long in coming. After about one more week (or even less), the same girl wrote to me (by the way, it’s worth noting that she then led my candidacy all the time until the offer was issued. Pretty nice, I feel that you are being given personal attention. In addition, you always remain in the context of one person).
The letter said that I successfully passed the HR interview and now it is time to show what I am capable of. To do this, the company will arrange another call with me (by phone or skype, as I like), during which I will solve real problems. I was asked on what day and at what time it would be convenient for me to phone. I suggested several alternatives, given the time difference, my schedule, etc. A couple of days later, another letter arrived, in which I was assigned a call. And I began to prepare.
Before telling about the call itself and what was there, it is worth paying a few words about how I was preparing for all this. If you have never been interviewed in a company of this kind, then it is very difficult for you to imagine what to expect. In most Russian companies at the interview, it is customary to ask more about some technical and platform-dependent things. For example, if you want to work as a C # programmer, you will be asked about the Garbage Collector device or about some other internal things. But in my case, this obviously could not be, because I went to the position of a Perl developer without experience.
Fortunately, I imagined how Google, Microsoft and the like giants are gaining. There is one very good Gayle Laakmann McDowell book called Cracking the Coding Interview. The recruitment process at Google, Amazon, and Microsoft is very well described there (without details, but to understand the principle), and at the same time they give sample topics that they ask. So, it turned out that in such companies they are interested not so much in the programming language as in knowledge of the fundamentals of programming in principle. This means that they will ask you about data structures and algorithms, and ask you to solve some problems for which it is difficult to come up with a solution, but when it is, it is programmed in a matter of minutes. Taking into account that booking is a foreign company, I decided that most likely the principle of questions will be similar to industry giants,
I rediscovered the wonderful world of algorithms and data structures, learned to distinguish a linked list from a tree, a hash from an array, and also began to understand what O (n) is and how to evaluate the complexity of the algorithm. Even if all this knowledge were not useful to me for an interview, I still would not regret that I remembered all this.
But they came in handy, and how.
At the appointed time (approximately mid-April), I did not go to work to stay at home and get an interview. Strictly at the appointed time, with a slight delay of 5 minutes, they called Skype. On the other side were two guys named Sergey and Ivan. Naturally, they were Russian-speaking guys, but despite this, our communication was completely in English. Honestly, I didn’t even think to speak Russian with them.
I was immediately offered to open a common online document where I had to write code. A feature of this approach is that everything you write is immediately accessible to all users. In other words, any of your actions are noticeable. Therefore, you need to be very careful and careful, think through each expression as carefully as possible so as not to look like a slut and not a professional. The second feature is that you lose your usual IDE with all sorts of smart tips, auto-substitution, and more. Only you and the code and nothing more. It is for this reason that the book about which I wrote above strongly recommends that you complete all the tasks on a sheet of plain paper - to get used to relying only on yourself.
I was very surprised and pleased by the fact that the company, whose main technologies are Open Source products, tried and invited people who understand C # a little to interview (my main language, with which I did assignments).
It is very important to see at the interview stage that the company cares not only about its employees, but also about those whom it has not yet hired.
If they told me to perform tasks on something that is necessary and important for booking (in C ++ or Perl, or at least Java), then I would most likely fail the task. But with this approach, everything is much calmer and more comfortable.
I will not say here what tasks I had during the telephone interview. The reason is quite banal - I just don’t remember them. But even if I remembered, it would be dishonest on my part (and most likely illegal). I’ll just try to give a few analogies of what may occur in a telephone interview in booking.
- For example, you may be asked to write an algorithm to find and remove an item from a singly linked list. A fairly simple and well-known algorithm that will determine your fundamental knowledge.
- Or you may be given a task to calculate Fibonacci numbers (1, 1, 2, 3, 5, 8, 13, etc.). You can do this in several ways, and it’s better to talk about them all, the problems and benefits of each.
It is important to be able to evaluate the complexity of the algorithm that you wrote. You need to understand that Booking.com is visited daily by millions of users. And if one or another algorithm is written inefficiently, runs slowly, or requires a lot of memory, even a little extra work will result in huge costs.
In most cases, when implementing a task at an interview, there will be two ways to solve it. The first is the most obvious and simple. For example, you need to understand whether the entered number is a power of two or not. To do this, you can simply divide this number by 2 until you get a deuce in the last step. This algorithm will work, it will produce a result, but it will spend a lot of extra time on large numbers. Or you can write a simple expression in one line: x & (x-1) == 0. Here a little bit of magic is used, but the result will be the same, but in much less time. Now imagine that this function is executed every time a request from the user comes to the server. And such optimization of the algorithm will save a lot of time for the user and the money of the company.
During the interview, it is very important to understand that all the code you write can be used against you. Therefore, we must approach this very seriously. Never make hasty decisions or start writing before you think. First you need to analyze the problem, understand its limitations, pitfalls, possible assumptions, and only after the whole picture has developed in your head and you have an approximate algorithm for solving it, only then you should take on the keyboard. All of these tips are described in the book. She helped me a lot, and if you are going to work at Booking.com, Google, Microsoft or even Yandex (where the values are very similar), I highly recommend reading it.
At the end of the telephone interview, I was given the opportunity to ask my own questions. This is a very convenient moment to learn first-hand the features of work in the company, projects in which people work, some other specific things that are not publicly available. In addition, in your questions you also reflect part of yourself - what is important to you, what you want to understand first of all. Therefore, it is very undesirable to ask about money. Personally, I asked what things the guys are working on at the moment, how their normal day goes and what they like to do in their free time. About 5-10 minutes are allotted to these questions, so there is not much to learn, but this is a good chance to get first-hand information.
After the interview
After completing my call, I was all as if on needles. I was terribly curious if I did the job well. Because, frankly, I thought that I did not perform very well. I sat for a long time over one of the tasks and I did not have enough time to complete it. Of course, I did not really expect to get this job and still did not take it seriously, but some part of me (probably pride) really wanted me to move on.
To the credit of Booking.com staff, the answer came pretty soon. Three days after the call, I received a treasured letter. I clearly remember this moment - a feeling when you understand that here it is, the cherished message that you have been waiting for so long. Just take the phone, open the mail and read. But you delay this moment because you know that the longer you drag, the more pleasant the reading itself will be. I saw the sender of the letter, she was my HR recruiter. But more importantly, I saw the subject of this letter. Only four words were written there:
Interview invitation to Amsterdam!
Which meant that I successfully completed the tasks by phone and now they invite me to Amsterdam to chat live. Well, on this I decided to end this story. It turned out already quite a lot of text, and the topic of the interview in Amsterdam deserves no less detailed coverage. If the audience likes it, I will also post it here.
PS We are always actively looking for talented IT-people: developers (backend, frontend, app), designers, product-overs. If you want to join us - write in a personal or social networks, I will be happy to answer any questions. I can also send your resume directly to HR to expedite the process of its consideration.
the second part of the story here