Technical Interview. How to prepare?
Technical interviews are designed to estimate your hard skills and problem-solving proficiency. As with every interview, you should be prepared to demonstrate your skill set, but not only. It is a conversation important for both sides, as the goal is the same: make sure we'll become a great engineering team together.
Therefore the matter of interviewing can't be underrated. To make our hiring process even more clear, we've decided to share information about what to expect from our technical interview. Enjoy details from our Competence Lead with huge experience in conducting interviews.
{center}• • •
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.
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 between several technical guys about their experience, preferences, and decisions but not an interrogation at all.
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 a 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 this😉
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 of TypeScript web and mobile development. It’s a part of our coding culture inside the dedicated engineering team.
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 manipulating 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 the technical interview, 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 in our engineering team.
Dedicate your time to studying noteworthy resources:
- MDN
- Web.dev – learning center
- dev.to – blog
- Google Web Developers – community
- CSS Tricks – it’s much more than just CSS
Thanks for reading!
Let's engineer your breakthrough
79015, Smal-Stotskoho St. 1 Ukraine
50-062, Plac Solny 15 Poland