What is asked at the interview for June, or how I was looking for my second job in IT

I have been working in IT for a little over 1 year as a Test Automation Engineer.

My basic education did not contribute to this in any way, since in my diploma it says “Logistic-Economist”. I started the thorny path in IT with free courses at one large company in my city, after which I worked in the same company on 2 projects, after which I decided to change my job.

image

I responded to 8 vacancies, 4 more companies wrote to me myself (recruiting agencies did not count, I did not plan to communicate with them).

Perhaps my search came in January (it seems like the biggest recruiting boom this month), but after all the telephone conversations and correspondence, I had 4 interview invitations from different companies, 3 of which eventually offered me work.

It was interesting for me to study the hiring process in IT, so I decided to go through all the stages of interviews with each employer for the sake of experience, even if the vacancy itself did not immediately seem attractive to me.

The first company really wanted to find an employee with knowledge of IP networking, but according to them, there were few such specialists on the market, so they invited me :) Mostly they asked about Java for an interview: static, == / equals and other typical questions which I did not have time to write down because the idea to write this article came after the second company, but they will be mentioned in the description of the subsequent interviews. There were also attempts to ask about IP networking, but pretty quickly it became clear that I was not strong at that. Nevertheless, the technical interview, according to HR, went well and I was invited to chat on Skype with a customer who did not like that I did not have an IT education, and therefore there was no suggestion.

The second company is a grocery company, an online game developer. In addition to the usual work with tests, part of the functionality of the test team was the writing and support of bots for online games. In general, the team needed a specialist with knowledge of Python, which ultimately became the main reason for my failure. At the interview, I was asked questions in Java (since I don’t speak another language, which I warned by phone), I will list them below:

  • Exceptions - what happens, hierarchy
  • Git Commands - How to Commit, etc.
  • Can the finally block fail?
  • OOP postulates with examples
  • What is a constructor?
  • How to call a method of a parent class in a child method, if this method is also overridden in the child method?
  • write xpath
  • solve the problem of algorithmization
  • primitive type values ​​by default
  • == / equals
  • Write 2 SQL queries (the first contained a join, which I replaced with a subquery, the second contained the keywords limit and desc)
  • the word final is all you know
  • describe what the test consists of

And also a block about Selenium:

  • Page Object
  • What are locators
  • findElement and findElements - what is the difference and what will happen if a locator is passed to findElement that returns more than one object

And there could also be a separate question about Linux, but at the time of the interview I did not come across it, so there was no point in asking questions. After that, there was another interview, rather, a “conversation about life” with the team manager. As I wrote earlier, I received an invitation, but did not accept it because of Python.

The third company - outsourcing, is engaged in the creation and maintenance of sites for one airline. The test team uses a bunch of Selenium + Maven + TestNG, and using the same approach I needed to solve the test problem in order to get into a technical interview. The task was to log in to the site (create a user manually), open mail and check the number of incoming emails, then send your decision with a link to Git. The problem was solved, a technical interview took place, the questions were as follows:

  • The difference between List and Set
  • Write XPath
  • Try-catch-finally
  • == / equals
  • Word static
  • Static block
  • Features of FluentWait
  • Abstract classes and interfaces
  • (Suddenly) What is polymorphism
  • (even more abruptly) Object class methods
  • Page Object
  • What TestNG annotations are used to indicate input
  • How can I indicate the sequence of tests using annotations?

As a result, I agreed to work in this company, because In my opinion, their project corresponded as much as possible to my skills and experience. And comfort and self-confidence are my main criteria for choosing a workplace. (Here you can disagree with my approach, maybe someone needs a challenge, that's fine too).

The fourth product company again, frankly, was my dream company because it works with AI and Machine Learning. I already worked with their technologies on my first project at my first job and passed the certification they developed, which I wrote about in my resume. Perhaps that is why they invited me to an interview.

In my subjective opinion, this company needs developers or automation engineers with more work experience rather than mine. Perhaps my advantage was that I worked in sales for several years, since most of their projects are on-site and involve constant communication with the customer.

Among all the interviews, this was perhaps the most difficult. For example, the usual comparison of List and Set turned to the question “What is the difference between the implementation of the get method in ArrayList and LinkedList?”

From the commonplace were:

  • Hierarchy of collections (it would be nice, of course, to repeat before the interview)
  • Word Static
  • Inheritance
  • Word Super
  • Abstract classes and interfaces
  • Multithreading - immediately said that I did not know, and thereby suppressed all issues

They also asked about SQL, namely: did I create the tables myself. Requests to write did not ask.

In addition, there was a need to solve a couple of problems, one for algorithmization, and the second, as it turned out, for knowing such a thing as new Command.execute () (I'm curious how many people have come across this).

And - a cherry on the cake - there were logic puzzles! Like you have a box with black and white socks, how many times you need to get a sock in order to be guaranteed to get a pair of the same color. Well and so on, I won’t write everything, I decided I must say, not all.

At this interview, an important place (20 minutes) was occupied by questions about software skills, about conflicts, teamwork, etc.

And this was the only place where at least someone spoke English. (It’s worth mentioning that I have B2, maybe the others believed in the word).

In general, I was very surprised when they called me back the next day already with the offer, because an interview with 30-40% (according to my feelings) of unanswered questions seemed to me a failure. Apparently, the training I had done once with their features was valuable. I still did not accept the offer, because I was not completely confident in my abilities. But this company still seems to me the most attractive in my city, perhaps I will still work for them.

In general, the most important thing I wanted to convey was that you should not be afraid to change something. As a result, I raised my salary by 2 times in comparison with the previous place of work (yes, now I’m somewhere at the junior middle level and in numerical terms this is not so much, but this only confirms the idea that the changes made sense!)
And for those who so far are only looking in this direction, but who do not dare to change their sphere of activity as a conclusion, I would like to note that in order to work in IT, you first need to be able to learn. And never stop doing it. Then the work will be easy and the salaries are high =)

image

And we ourselves may not suspect our strengths.

I hope my modest experience will help you decide on a change or will be just interesting and informative.

Also popular now: