You can create IT products at different levels and improve them from the inside (backend) and the outside (frontend). Take a website, for example. A specialist can work with tasks “under the hood” or develop a website, application, or unique business software interface to make them convenient, understandable, and functional. The latter is precisely what a frontend engineer does. What else junior specialists need to know about frontend development, what not to do before the interview, and what questions to answer to be 100% ready — Oleksiy Horbunov, Frontend Engineer at Levi9, clears up everything in this article.
Basic knowledge
The following areas of knowledge should be considered first when it comes to jumpstarting your career in IT:
- The scope of frontend development is quite extensive. A specialist can perform ordinary tasks, such as page layout, setting up the transfer of information from the server to the site and doing it in a user-friendly way, as well as develop applications for iOS/Android, interfaces for working with statistics, structuring information and files, interactive whiteboards, and productivity tools such as Trello, Jira, Notion.
- Programming languages: JavaScript, TypeScript.
- Frameworks: general - React, Angular, Vue; for mobile development - React Native and Ionic; for desktop development - Electron .
- English: to grow quickly and work in international markets and with exciting projects, you need to know English - at least B2 level to communicate comfortably with the team and the client.
A frontend developer can work in any field. For example, in e-commerce, you are responsible for customer interaction with your website and its content, working with the browser and its features, etc. If it is a mobile application, the developer faces native modules – setting up notifications and integrating dip links, and video elements, such as scanning a QR code or receiving camera information. Each area has its nuances and peculiarities, but this is normal – the developer is constantly learning.
Interview experience and its peculiarities
Generally, interviews can be divided into two stages: an introductory interview with HR about your wishes, experience, and the company’s work, and communication with technical specialists to test your development skills. At the same time, the technical interview can last several hours – I had a 3-hour meeting.
The key to a successful interview is a ‘match’ from the first meeting. To make it happen, you must present yourself well but not try to seem like a better and stronger developer than you are now.
Interview questions
While soft-skills questions aim to reveal your personal qualities, technical interviews focus on hard skills. Usually, many questions are about working with “pure” JavaScript, i.e. without frameworks and libraries.
- Regarding the programming language, classic JavaScript differs from what developers use on real projects. For example, methods for working with specific data types are taken from libraries like Lodash, while the same classes are rarely used in building interfaces in React. There is also a difference in working with objects, arrays, primitives, prototypes, types, and other things "under the hood." The approach to solving problems is also different, but without understanding classic JavaScript, you won't be able to interact with a higher level of abstraction on a project.
- Working with React, you probably won't encounter prototyping. Instead, you may be asked about them in an interview.
- During most interviews in the JavaScript section, you will be asked about data types in this language, what the "this" keyword means and how it works. You will be given several tasks on syntax, prototypes, algorithms, and various data structures such as stack or queue. And for frameworks like React - how to work with performance, what tools are available for this, about rendering and hooks, and how to interact with the component life cycle. At the same time, if you are unlikely to encounter prototyping while working with React, you may be asked about it during the interview.
- You may also be asked to write code - given a task and asked how you would improve the performance and what solution you can offer to the customer's requirement.
- There may be some strange questions. For example, I was once asked what I would do if two of my colleagues got into a fight.
Interesting test tasks
Test tasks are an excellent opportunity to test your knowledge and show what you can do. However, its task is not to create software for the company but to see how the developer thinks and works, for example, how he declares variables and functions and what project structure he follows. But the work on the test task should not exceed 4 hours.
Some technical interviews included a live-coding block. They gave out people’s data and asked them to build a responsive page using these cards. Or they asked us to draw hotel cards and set up search filtering. This task aims to see how the developer thinks, approaches the job, and uses the best solutions when working with the code.
Another enjoyable task was to implement infinite page scrolling and solve the problem that arises when the system is overloaded with elements – the site starts to freeze. For example, this is possible with libraries like React-virtualized, where components are virtualized and less loaded on the user’s device.
Preparing for the interview
Before the interview, you don’t need to try to learn everything by heart – programming is too diverse to know everything. Instead, you need to understand it: if you remember the language’s syntax and understand how the feature works, your brain starts reproducing this knowledge in practice.
To be sure of your abilities and refresh your theory, practice on Leetcode and Codewars tasks and look at repositories with popular interview questions. There are blocks on CSS, HTML, and JavaScript. You can also look at similar cases and frameworks and how to interact with them and work with performance.
Red flags
- Overall impression. You can better understand the direction and technologies you will be working with from the job description. So, if you don't like the field or are not interested in the stack, it's better not to apply for this position.
- Time trackers. Getting a task and immediately starting to write code is wrong and useless. The developer should analyze the job, look at similar implementation cases, read the documentation, and think through the code logic. Thus, you can solve a problem in your head or on paper all day and write high-quality code in 30 minutes.
- Blurred work schedule. When the working hours are vague, and the recruiter dodges a direct question, it may indicate frequent overtime, which is unsuitable for beginners.
- Learning opportunities. Junior specialists should devote more time to professional development and training. Then the result will be much more valuable for you and the company.
Alternative benefits of interviews
When a specialist goes through interviews, they better understand their position in the market – whether you know the current technologies and business needs and whether your skills and experience match them.
An IT specialist should constantly improve their skills, attend courses, and create pet projects. And it would be best if you didn’t try to appear more qualified. If you don’t know something, don’t hesitate to say so, but try to understand how it can be done logically.
An interview is always a new experience, and there is no universal template for how to conduct it. You will face something new even at the 40th interview and should not be nervous about it. Interviews can be viewed as an opportunity to learn something useful and communicate with professionals who can teach you something, give you advice, or tell you insider tips about the field.