How to ace your technical interviews

The technical interview is unlike any other job interview: it’s a specialized, rigorous process that tests your coding skills, problem-solving abilities, and personality. It is fairly predictable and usually, a mix of coding/algos, design, explain your project, and culture rounds, each one driven by a known pool of questions. 

But don’t fear—just get ready to show off your skills. This article is designed to give you some advice that you can do right to boost yourself to ace any technical interviews.

Before The Interview — Makes it perfect:

Before hiring, the recruiter/ hiring manager will scan over a candidate’s portfolio, digging into its projects’ source code if open source available which can serve as a basis for dialogue and to construct bespoke questions for the interview. If resumes/portfolios are about telling someone what you can do, technical interviews are about demonstrating it.

You should always prepare to share plan should be : Prepare the coding fundamentals, understand the problem, formulate a solution, explain it, and execute it. In other words, the best way to prep for your interview is to be a good engineer.

Particularly, talk through the problem with your interviewer, ask questions, and reevaluate or alter your approach. This is like showing your work on a test for partial credit, and it can swing the situation in your favor. In a sense, talking through your thought process is also important to the interviewer than the solution itself.

 
Screen Shot 2020-09-08 at 8.29.54 AM.png
 

5 Types of Technical Challenges

  1. Live Coding Exercise

Live coding interviews are often considered one of the toughest challenges during a recruitment process. They’re not only technically challenging per se, but can also bring about nerves and insecurities in the engineers undergoing them.

 From a recruiter’s view, live programming tests are a truly valuable source of information. They allow recruiters to observe a candidate’s logic, their ability to explain what they’re doing, how they think, and their ability to code under pressure.

Learning how to perform a specific task and learning the key problem solving techniques to ace the coding interview are available online and abundantly present. There are also fantastic resources out there.

  • Use a problem solving methodology over and over again to become an expert on solving any problem. Prefect how you approach the problem, strategise and plan you actions

  • Resist the urge we all have and don’t rush into writing code first

2. Take-Home Assignment

Companies will generally give you a specific amount of time to complete your take- home assignment—whether by deadline. Let's give yourself time to review and edit your work, just as you would if you were writing an important report or sending a sensitive email.

Think of this as your best chance to show off your skills. And along those same lines, you should think about all the mistakes other people make that you can easily avoid. When you present your solution, guide the interviewer through your approach and be prepared to answer questions. Highlight the assumptions you made, options you considered, and things you could improve in the future. Remember, there’s no “right way” to approach a problem, although your interviewer may be interested in mastery of particular concepts and will likely ask about them during your presentation.

Even with a great solution, many candidates fall short during the presentation by fixating on code, rather than how it addresses the requirements. You can avoid this by practicing your presentation. One final tip (that should really go without saying): Make sure you submit your work on time!

3. Design Challenge

Live coding and take-home assignments are practical assessments, but theoretical tests are also quite common. And that’s where you’ll appreciate having a whiteboard.

You’ll have to design something—perhaps a messaging application—and will be given some broad boundary conditions (for example, make it web-based and text-only) and an initial prompt, like, “What kinds of data will you need to manage and how would you model it?” Based on your answer, your interviewer may gradually increase the scope and ask you to think about the interface, networking, and refactoring, leading you from simple concept to full-scale app.

Your design problem may seem like it has nothing to do with the company’s actual product, but don’t let that throw you off. The interviewer is actually evaluating how you react to changing requirements and less-than-perfect product specs. As you progress, your interviewer will challenge your decisions and assumptions. If you decide to use NoSQL for data storage, for example, they might add a new technical requirement that’s difficult to achieve without joins.

Be prepared to adapt, because your temperament is being evaluated as much as your solution. “One of my biggest red flags is when someone sees their solution as the best and only solution,” says Matthew Gerrior, an engineering team lead at Bloomberg. “If you can’t take feedback or constructive criticism during an interview, you certainly aren’t going to take any on the job.” (Read more about the soft skills engineers need.)

You don’t need to be an expert at database administration, UI/UX, or low-latency networking. But as a full-stack developer, you should be able to speak intelligently about the full stack of an application.

Practice by picking out and methodically thinking about a project you’ve worked on (either at your day job or on the side). How do the front end, back end, data, and user interface (UI) interact with one another? How would you structure them if you were starting from scratch? Would you choose different tools? What trade-offs would you need to consider?

Mentally refactoring projects will help you identify areas for improvement and alternate points of view. And talking through them out loud at home will help prepare you to do the same with an interviewer.

4. Trivia Quiz

At some companies, it doesn’t matter if you have many year experiences —it’s all about the knowledge. And there’s nothing more fundamental than computer science trivia. You may get conceptual questions like, “What is bigO notation and why does it matter?” or “How would you implement this program recursively?” or questions about a specific language. If you’re interviewing for a job writing JavaScript, for example, we recommend brushing up on the latest ECMAScript release features and browser quirks.

Language-specific questions come up most often at smaller companies, where the tech stack is narrow and new hires have to hit the ground running. This can be tricky if you’re new to the language, but as Juan Müller, lead engineer at Greenhouse, points out: “Even if you’re not prolific in the language in which you’re being tested, what interviewers are looking for is your ability to reason about code. Most languages will have similar constructs and logic doesn’t change.”

Trivia may seem asinine in 2019, when everything is open book, but it’s a big differentiator for candidates with non-traditional backgrounds—including developers who are self-taught. It signals that you’re interested in and knowledgeable about foundational aspects of software engineering.

Spend some time studying the basics of control flow, object-oriented programming (OOP), common sorting algorithms, data structures, and string manipulation. You won’t have to implement a Radix sort in five languages or anything, but you should know what it is and what its limitations are.

Practice Makes Perfect 

 Here’s a couple of great websites to help you prepare and get confident with various technical assessments:

CodeSignal_Logo.jpg
 
  • Codewars: Train your coding skills

    • Codewars is where developers achieve code mastery through challenge. Train on kata in the dojo and reach your highest

    • Website :  www.codewars.com

 
adaface_logo_560_360_transparent.png

Adaface: Online coding test

  • Adaface is a skills assessments platform to identify qualified developers accurately using an AI chatbot with in-built code editor.

  • Websites : https://www.adaface.com/

  • Useful Sample Questions

 
hackerrank.png
  • HackerRank  

    • HackerRank is the market-leading technical assessment and remote interview solution for hiring developers. Learn how to hire technical talent from anywhere !

    • www.hackerrank.com

 

5. Last but not at least

Even after you get the job, you’re subject to a probationary period. It may not be explicitly called out in your offer letter, but developers are expensive, capital is limited, and if you’re not moving the company forward, you’re dragging it down. It’ll take time to get up to speed on all the new tech, systems, teams, and people, but you should be delivering results within two months. If it turns out you’re better at interviewing than getting work done, you won’t be around for long.

The good news is, there’s an easy way to set yourself up for success: communication. During your first couple of days, sit down with your co-workmates  and outline a plan for your working. This will establish clear milestones and expectations that you can work toward.

Follow that up with weekly or bi-weekly one-on-ones to report on your progress, highlight your achievements, indicate where you need help, and get feedback. Before you know it, you’ll be fully integrated into the team and helping the next engineer get settled!

If you’re more experienced, the goal of your technical interviews is slightly different. Employers will assess your adaptability, how up-to-date your skills are, and how well you integrate with the team.

Conclusion

Engineering interviews can seem daunting. But I think we’re lucky to have such a well defined process. But it does require a ton of time for prepare for. We’re expected that you could show skills from the ground up every time you find a new job search. There’s much less emphasis on our past accomplishments.

We recommend every software engineer being somewhat interviewed ready at all times throughout their career and keeping up this specialized set of skills. Hopefully, after using these tips,  your success rate will increase dramatically and you’ll be that jammy so and so that always breezes interviews.

In Colibri, our candidates have gone through gauntlets for product management and data science. The interviews are much more deterministic in terms of results. If you are looking for more help, lets join Us. Colibri is always on the lookout for top-notch talent. Apply today and start working with great clients from the globe!

Colibri_beeldmerk_RGB_72DPI-01.png

Are you a talented, ambitious, International-oriented tech talent in Vietnam, interested to work with startup to develop tech products and want to join a diverse, fun, and healthy team? Feel free to Reach out.

THU THAO NGUYEN