⬆️ ⬇️

As I was interviewing the company Zynga

On Habré again began to appear articles on how to pass interviews for the post of programmer. Material from them is useful to applicants just as textbooks are useful to students during the session. Caulk tom by mat. Analyze and if you get on that exam, get a top five.



It is much more interesting to read real stories of people who describe their interview experience with one or another well-known company. What did you ask, what did you not ask, what was the atmosphere like, how long was the interview? Such data is much more useful than "and the jags still have this, maybe they will ask."



So, I want to talk about how representatives of the company Zynga came to Moscow in search of the right people. About his experience of communicating with them, about mistakes and conclusions.

')

Well, and the picture on the seed.









So, at the end of this spring, a banner hung on the DTF , which many probably saw. Zynga absorbed all the resources of the States and now hunt people in the snow-covered Russia. If my memory serves me, they focused on PHP and C ++ programmers. I thought that the worse I was, the more the client of most of their games was written in Flash. Surely, they also need flashers.



I will say right away that I was more interested in how far I would go and what would come out of it than the real work on Zynga. First screenshot. N-tsat empty cans of Red Bull is not just there. Secondly, I do not like dogs.



Interestingly, while at the request of “work at zynga” in the top three, there was a link to my blog with the above picture. Honestly, I was a little afraid if it would come to me sideways.



It is strange that about this event (almost) no one anywhere wrote. I do not know anyone who eventually took. And the people there were about 50 people at the second (full-time) stage of the interview. How many more were they eliminated during the Skype conversation. Surely, not only YoungSkipper from Habravchan was at that interview .



Preliminary interview


The recruitment chief was a certain Mathias Connot (he even got a profile on moikrug about this). I only communicated with him by mail. Somewhere I read that he once successfully successfully hanted Russian to Microsoft.



They liked my short resume, Matt "recorded" me on a Skype interview at a certain day and time, gave me a piece of information about the company and a promotional video (Attentive at 1:57). At the appointed time, I received a call from Luke Rajlich , FarmVille CTO.



Error number 1 - no matter how well you know English American, before talking on a phone / Skype with a native speaker, talk to a mirror, watch a movie in English - try to get used to a foreign language.



I worked for a while in New York. I have a lot of experience with Americans. But all the same, during the interview, 70% of my brain was completely allocated to understand the interlocutor and correctly construct the answer. Including due to imperfect communication (at its end). Plus, I was a little worried.



Luke ran through my resume and started asking questions:



25 minutes passed unnoticed. For the remaining five minutes, I asked Luc a few questions - I don’t manage to talk with CTO FarmVille every day. During this time, I learned that they mostly use Linux + Apache + MySQL + PHP; that Erlang and Scala are interesting, but you can't find developers on them; that they do not protect their games, because it is useless and (for the most part) is not necessary. He laughed when I told him about 3 identical full clones in Russian social networks from Facebook.



Error number 2 - you need to finish nervous. It seems to be not small, I passed the exams, I was at the interviews, spoke at conferences, wrote podcasts. But still.



Error number 3 - do not respond immediately. Think about it. Even simple questions like Strong Typing and Static Typing can be confused. Do not be afraid to correct your mistakes. A couple of minutes later, on another question, I realized my fatal mistake and said, they say, I was wrong there very much, in fact it is like that.



Error number 4 - already read the GoF book on patterns. Someone will say that nafig not needed, and so everything is clear. But I still did not know the exact definition of Abstract Factory (what the interviewer wanted from me), but told a slightly different type of factories and how we use them in our work. Sometimes people want to hear from you exactly the definitions.



As a result of the conversation, I was very dissatisfied with myself. All the analyzed errors did their job, and I would most likely not have taken such a job myself.



But no, after some time I received a letter from Matt that they want to see me personally in Moscow at the second stage of the interviews.



Training


I had a month before the second interview, during which I, through laziness, read the Internet in search of information about Zynga, about possible issues and tasks. Judging by the advice on the Internet, only some syshniki go to the interviews and are forced to stamp the names of data structures on speed and write all known sorting algorithms on paper. I absolutely did not know what to expect.



I will not lie, I thought for a long time what would happen if I was offered a job. But I had already worked for some time in the States, I broke my rose-colored glasses a long time ago and I see the world more closely to reality. Zynga seemed to me not the best place to work, but it was still interesting to go further.



Second phase


As Matt said, the plan was this - according to the results of the interview, they select 40-50 people, go to Moscow with a team, where they personally talk with all 10 people a day (5 in the morning, 5 in the evening).



At the appointed time, I drove to the Marriott Royal Aurora hotel in the center of Moscow, where the interviewers team was located. We were 5 or 6 in the morning. Matt took us to a meeting room where I met other candidates. With me mostly sishniki and one PHP'ist have fallen. Everybody had a strange mood, they say, it’s better there PHP'istoma than with sishnikom.



Immediately there was a funny incident. A young man came in and silently stared at us. We stared at him.

- Mei ai sit hir? He asked, and pulled back the chair.

- Sure, why not? - I answered for some reason, and we continued to stare at each other for another 10 seconds, until I realized.

- What do we speak English? - I asked.

- Oh, and what are you, too, on the interview? And I thought you were going to ask me here.

Neighing. But you had to start asking.



Then Matt told us about the company and how to pass the interview. I think it will be useful to everyone:



The interviews were built as follows. Each applicant has his own room with a table, two chairs, water, a window and a toilet. One of the "examiners" comes in for 20-30 minutes and conducts his part of the interview. On sheets of paper you write algorithms in your favorite language, draw data schemes and machine interactions ... Then take a 15-minute break. At the same time, as Matt said, it is planned from 3 to 5 interviews with everyone, that if you are expelled after the third, then this, they say, means nothing. But we know ...



In the rooms lay large illustrated books about the cities in which the company's offices were located. It was very interesting to look at the pictures in the breaks.



Error number 5 - try to find out in advance how the interview will take place, which specialists the company needs, who will conduct the interview.



It was very unexpected for me that not a single interviewer asked a single specific question, not only in Flash, but in general in a programming language or technology . I honestly did not think that I would be interviewed for the position of a C ++ developer. What is my C ++ developer? The brain was filled with different Flash-specific information, and could have crammed something more useful.



First interview


Immediately error number 6 , which is not something that would be a mistake, I just start to blunt, when someone looks at me in a sheet or in a monitor. I can do almost nothing. This let me down many times at school, at the university on the exam, at work, and now here. I know many with a similar problem. We need to somehow learn and try to deal with it. No one knows that after the interview you can write this algorithm, which was steamed over an hour, in 15 seconds.



The first American (oh bad I'm in the names) introduced himself as a jack of all trades, they say, he does the server, the web of the muzzle, and the games on the flash. He was interested in the practical possibilities of implementing and optimizing server search paths for a huge number of autonomous agents. In other words, this is where Kueva hucha mobs will spawn and everyone needs a way to find (and maintain) the player.



I remembered everything that I had ever done and read: the implementation of A *; how from his work to partially cache the results for other mobs; make waypoints on the map; various other options for preprocessing space; to combine mobs into clusters with self-organization inside (so that it is not so boring); throw part of the calculation on the client (within reasonable limits) in the end ...



The American looked pleased (which is good at them, even when he hates you in his heart) . Put the task on the trees, bypass in width. Then I got caught on the sixth error. Tupil minutes five to the end of time. The interviewer left, but said that I could decide, if anything, with the next one. Needless to say, as soon as the door slammed, I immediately issued an algorithm ...



Error number 7 - how much can you repeat, do not rush! Even Matt warned about this. Understand the problem, think about the simplest solution, write it. Look at the already working algorithm, and immediately understand how to improve and optimize it.



Second interview


The next person was interested in what projects I participated. He told mostly about social networks (in the end, I’m starting a game company!). In the second half, he asked me about data structures. Set the task to find the loop in the Linked List. Returning to error number 7 , I, like a fool, decided to show off with a knowledge of not the most obvious algorithms, where I ran into the following questions when it was necessary to work with their results. Over the past five minutes, I once again protupil, but during the break, I wrote and waited for the next visitor.



Third interview.


After the break, Cy Zynga Cadir Lee came to me. If, who were the others, I didn’t quite understand, then Kadir was clearly getting out of the group of young cheerful guys. He was more like a lecturer at the university. Then I felt like a first-year student and wiped the cold sweat from my hands on my pants.



First, he checked the solution of the previous problem. A couple of times he asked me what I did, and again I cursed myself for error number 7 . This was followed by a very interesting and very unexpected question. I was completely unprepared for this. He asked me to talk about a framework that I use at work as if he was joining us in a company. For some reason I decided not to talk about current developments (probably considering them insignificant; and the team is small now), but about the framework in which we used to make games in TimeZero. Who knows, he already laughs at the futility of this undertaking in these conditions. In general, it turned out to me very bad.



Then he asked to design tables (sic!) For a Jira-like software. That's exactly what I didn’t expect, but I still began to recall entities and connect them through join'y in tables (which most likely looked quite pitiful, for the last time I did something like that sooo long ago). Looking at my worthless attempts, Kadir decided to give me something easier - design a game of the Rubik's Cube. I coped with that tolerably, considering all that pressure.



Error number 8 - try to disengage from the interviewer, do not be distracted by his personality, fame and gaze. So you can make a lot less mistakes and expose yourself to a much smaller idiot.



Expectation


A half-Russian-speaking member of the team, Alex Sergienko, came to me (as it turned out, his parents are Russian, and he is for the first time in Russia, but he can speak Russian somehow) and said that I would not have more interviews. What does this mean was clear and true, but was it really that bad? It seemed to me that the first two turned out very well.



I was handed a bag with stupid gifts and carried to the exit. By the way, here is the secret from where I got this $ 10 Game Card in CityVille (8



Two weeks later they sent a standard letter, they say you are an excellent candidate, but so far we have no vacancies for you.



findings


I almost did not get upset, but made some conclusions.



Candidates have an interesting mood - “PHP’s better there than Sishnik’s.” As if there is a pink marmalade country. Apparently, work will have to be healthy. In close cubicles on stile chairs. Dogs run everywhere. And the collection of cans from Red Bull have not forgotten yet?



At the same time, it is not very clear who they were looking for specifically. It seems that they needed some kind of universal biorobot. Theoretically-practical language-independent individuals who can be thrown at any task. Be it a PHP backend, a huge parallelized database in C ++ or a game client on AS3. I don’t know how now, but in my time we did not give such an education in Russia. Everyone studied himself in practice and (possibly) quite excelled in his field.



Some questions I did not expect. Then I sat thinking for a while, for example, over a proposal to talk about the framework used in the company.



In some aspects there was a better opinion of himself. It became sad that it is impossible to grow up. I decided to grow in breadth and jump on various other technologies.



That's right, I read different theoretical books. Knowledge was useful. But, of course, it's sad that Flash is such a child's toy. I can bet that 90% of flashers have never used nonstandard data structures, and the complex algorithm from the category of classical data on these structures is not capable of writing. There also PHP'sty, and Java Enterprise developers. There is still, of course, the question "Why?" .



In general, one practical interview gave me several orders of magnitude more experience and reasons for reflection than reading articles on how to pass an interview, and what they might ask ... But they may not.



Interesting from the comments






Update : thanks to everyone who sent error messages and typos.

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



All Articles