From var b to interview

Have you almost finished university or college? You were invited to an interview, but you go there without preparation? You have no education (higher), but you want to work as a programmer or in IT? It will be more about job search, I will only speak for my city (Chelyabinsk) because I was looking for work here.

When I began to look for work, being a second year in college, I did not even know how many different companies there are in our city. From coders to deep learning, from those. Bitrix support to game developer (mobile, social networks, desktop).

I was about 8 interviews (not counting online). They were all in different directions. Layout, desktop game development, web developer (c # +. Net), web developer (bitrix + php), front-end (js + react). He refused something, didn’t take it somewhere. I know little.

Closer to the case, closer to the code

I would like to tell you what they ask at such interviews and why they do it (explain the technologies used).

Let's start with the simple. Layout

In most cases, everyone needed a layout speed. I was given two tasks (two different companies). The first is the layout of product cards on the site. In one hour I needed to make a layout like in the picture that I had previously thrown off. There is nothing complicated in the task, but one of the conditions is Pixel Perfect (pixel per pixel). I had a couple of errors: discrepancy with the layout (incorrect display of the alert window and the logic of the hover effect).


The second task was even simpler (pixel perfect was not required). There are TK (Technical Assignment) with corrections and they need to be performed on the site. Edits to the display of elements, something under the cell phone to adjust, change the indents, the color of the elements.

Why is that? Nowadays there are very few companies that are looking for designers, that’s why speed is important. Less time to work more orders, and therefore more profit from the company. Such a position often requires more preprocessors (sass, pug) and project builders (gulp, webpack). As for the TK, you will receive it at any job, and you must follow it! All TK is different, in most cases it is a text document with a list of edits.

Web programmer (bitrix)

There were 3 attempts in different companies. In one I was only explained what to do. Support for corporate sites (development for the needs of these sites) + work with the server (setting up and deploying sites). Not a single question that I can and that I know.

But on the second interview, I was only asked what I was doing at the previous place of work, what I can do in bitrix and what I studied at all.

Well, the most interesting is the last interview. There were questions about skills, a description of the company’s tasks, and tasks to be performed on the spot. I hope you can tell about yourself, but I’m ready to share questions. I'll warn you right away, there was no condition in which language to write code, I chose JS. Calculate the factorial, what a binary tree is and what ways to get around it are, sorting algorithms, database access (simple queries), what class.php is in bitrix.

Calculate factorial is very simple, no matter what programming language. Do this through recursion. Pro binary tree is already more complicated ... binary tree (binary) = data structure. The tree is used to work with large amounts of data, it is not surprising that when applying for work with online stores they ask exactly this. Sorting also applies to working with data. Well and appeal to the database, most sites on the network use the database. This is the output of site news, products, a list of popular articles and other elements.

The most interesting, attempt to get a desktop developer


I will immediately note the general themes: OOP and patterns.

What for? Well, modern development without OOP ... this is very strange, just like developing without patterns. Yes, you can do the coursework while studying and not use the patterns + OOP, but without a minimal understanding of what class is, inheritance and polymorphism I will not take you to work. OOP allows you to divide the program into blocks, and patterns, such as SOLID, allow you to divide the code into independent blocks so that you can easily complement them in the future.

All other questions were specific, depending on what the company worked with. For example, if these are game developers, then it was required to write a test game using their engine + documentation, which they provided for it. I was given a child 2D game (c # + XAML). The essence of the game: there are two glasses, one empty, and the second are pencils, when a player clicks on the RMB, one pencil moves into an empty glass and updates the points counter on the screen. It took a trite pencil count.

There was also an interview experience with the developer Unity, it was already more difficult here. and the game was given to 3D, and the code was monitored so that there was no garbage in it + the presence of patterns, I even have this project on github.

Back to the companies, if this is the development of the back-end part (c # +. Net) then the questions were on the .net platform and its pitfalls. If this is application development, then you need to know TDD (development through testing), SOLID, OOP.

I already explained about OOP and patterns. Why ask about TDD? Honestly, I don’t know ... I don’t fully understand the advantage of this approach, some companies use it, but I only had to write code once. SOLID is 5 patterns combined together, after I was asked at an interview about this pattern, I immediately began to study it. I will tell you honestly, it was difficult for me to understand it, but the result is a very strong code that can be supplemented without harm to the already written application. If you are interested in SOLID, then try to write a calculator using this pattern. Implement + and - first, and then add other features to the calculator. I remember I wrote in c # (console program).

Perhaps this is all that I can tell you about the interview in your city. Yes, there are SPA developers (reactJS is required mainly), and web games developers (all the same react, in most cases, and sometimes only native JS), and python, 1C, JAVA, and others. I was very surprised by the variety of technologies and languages ​​used. On this I have everything, perhaps. See you.

Also popular now: