How to rock our technical interview

Hey, my name is Anton and I’m Frontend Competence Manager at Rolique. This post is intended to help you prepare for the technical interview. I’ll try to describe the general process and leave some hints that can help you before and during the interview.

This article is written by Anton Yatseniuk

There is no fun in interviewing like FAANG 🙂. That’s why we’re not big fans of hours of interrogation about all possible algorithms and data structures. We’re more about your latest experience, problems you’ve solved, how deep you were involved in project setup, build process, decision making, and, of course, your hard skills.

The interview is a dialogue of several technical guys about their experience, preferences, decisions but not an interrogation at all.

At first, we’ll talk about your CV: last project, team, decisions, problems on the project how they were solved, and by whom. It helps us to understand your role and involvement. Hence, don’t forget to refresh your knowledge, double-check your CV content, and yes, we always read project description, so it will be great to see it there.

Afterward is the most interesting part — hard skills interview. I’ll be speaking about JavaScript/TypeScript tech stack mostly since it’s my main competence. So, we always start from the basics just to detect the technical level of a candidate. It lasts less than 10 minutes, and questions are about basic JavaScript standards and core language principles, hence it’s better to know about 😉

Here are some topics to cover:

  • Data types
  • Scopes
  • Collections
  • Type conversions
  • Immutability, mutability
  • Methods of built-in data structures

We also practice live coding during interviews, so be ready to share your screen and solve some tasks connected to the topics above.

For example, it could be a simple task to create a function that removes duplicated items from the array of numbers or group objects from the array by some key.
We understand, that it’s hard to code when someone is watching behind your back, but we believe it’s the easiest way to determine a candidate’s abilities to collaborate, incremental thinking, and to prove theoretical knowledge, discussed 10 minutes ago in the previous part of the interview.

TypeScript is also a part of the interview (in most cases) since we work with it a lot. And when I say “a lot” it means even more. We’ve been using TypeScript for the last 5 years, before all the hype and market trends. We’re big fans and enthusiasts, so it’s a part of our internal coding culture.

Recently, they’ve updated the website and now it includes a very good Handbook with all topics covered and very detailed examples. We recommend this resource as the main entry point to TypeScript.

TypeScript interview includes tiny coding questions like creating a custom type and manipulate it or using some built-in TS Utils to work with multiple custom types or data structures. You can use Playground with prepared examples to try your skills beforehand and even learn new things in practice.

After all this coding hell (aka very fun entertainment), we talk about a detailed tech stack related to the candidate’s experience and position. We can talk about setting up DB infrastructure, data models, some NodeJS modules, or general frontend modules that you use more than others.
Markup principles, CSS, how you work with styles or dependencies on your projects and why, how to manage change requests in the very complex applications, tools that you’re using in your day-to-day work. Common Web-related stuff like Promises, Workers, Ways to Authenticate a Web app, PWA, and much more.

Be ready to talk about REST API Guidelines or GraphQL approach, pros and cons. What will you choose if you start a new project tomorrow? What questions should you ask before this or what information should your team gather to choose the right tech stack or general architecture?

Yeah, of course, we talk about Architecture principles regardless of frontend or backend, tech stack, team size, etc. So, depending on the position you apply for, this part will differ, but the basic principles of organizing your code and building the applications are required for any position.

Any OOP and Design Patterns hype words are welcomed here 😂 Don’t hesitate to say that you are not an expert in some field, we neither. We’re just guys chatting in the room sharing their experience, remember?

During such a short period of time, we need to understand:

  • if you are in comfort working with us and vice versa
  • if your experience matches our expectations
  • will you be interested in working with us
  • if our position matches your expectations

I hope, I’ve managed to structure and describe our interview process a bit, but it’s always better to feel it by yourself, so go check our open positions. We are waiting for you on the other side of the screen.

Shortlist of recommended resources:

Engineering Your Breakthrough