Ace high bar Interviews

Nanda Porto
Imagine
Published in
10 min readMay 27, 2022

Things you must know by Ahmad AlMughrabi, Senior SE @ Glovo

I designed this survey based on my experience with multiple interviews in tech companies globally such as Germany, Netherlands, Spain, Australia, UAE, USA, UK, UAE, and Jordan.

Before we start…

Tech companies are usually divided into two types:

  • Data-driven companies, such as Google. Think about it as a company that works with a huge amount of data.
  • Event-driven companies, such as e-delivery companies. Think about it as a company that works a huge amount of messages, signals, triggers, etc.

But… why?

It is super important to help you to prepare. For example, if you interview a data-driven company, your questions will be more about “data”. The infrastructure that is usually used is also different. For example, Google Cloud Platform (GCP) is designed to accept these data-driven companies, so you will observe the billing cost is much cheaper than other cloud providers. Knowing GCP features such as BigQuery, Apigee, VMs (including the hypervisors) is super helpful for you.

Common questions (cloud independent) about container orchestration such as Docker, Kubernetes (a.k.a k8s), trafeek, terraform, retries & circuits breaker, messaging queues (pub/sub, consumer/producer, etc.), will constantly be on the table during the interviews. So it is terrific for you to have general information on them before starting the discussion.

You can recognize which path you should follow from the job description.

The interview process in a blink

The order of the interviews is not important. Sometimes, the Behavioral interview could be very early in the process.

Not all companies adopt the same structure. Some merge or skip the interviews mentioned above. It’s also important to be aware that the naming conventions could be different. In all cases communication skills are extremely important, practice is a key factor to success, and the focus is the heart of success. Let’s dive deeper into each type of interview and what you can do to pass them all toward an offer.

#1. Screening: When the recruiter reached you out on Linkedin or other professional mediums. Please try your best to:

  • Welcome the recruiter.
  • Show your appreciation for reaching out.
  • Be flexible with the time slot scheduling.
  • Note: the recruiter is on your side. Try your best to win them over! This is a key thing in the interview.
  • The recruiter will describe the company for you, the position and all the related information about the open position.
  • Prepare a written 1 min pitch to describe yourself. Make sure your pitching is clear, straightforward, and reflects your value. Please don’t oversell yourself in your presentation. This is important to break the screening phase. Make sure that you don’t exceed 3 mins max.
  • Be yourself. If you are at home, wear whatever you want. The recruiter will not judge on your clothes, the recruiter will judge on your presented values.
  • The recruiter will ask you general questions about your C.V. Be ready, and revisit your C.V. before the screening call. If you don’t know how to build a GREAT C.V., Imagine can help you to do this.
  • Examples of the presented values:
  • Accountable.
  • Approachable.
  • Self-motivated.
  • Self-managed.
  • Responsible.
  • Passionate.
  • Adaptable.
  • Task-oriented
  • Self-organized (whether in a flat organization or un/structured environment).
  • Honest.
  • Able to learn from mistakes.

Your soft skills (for tech leads/managers, you want to measure it through surveys or other mediums).

  • Flexible.
  • Storyteller.
  • Comfort zone breaker.

In other words, your overall mindset should have a growth mindset.

#2. Online test: If you passed the first phase, you could move to the next phase. Some companies love sending IQ online tests. Make sure to PRACTICE, PRACTICE, PRACTICE before you apply to these online tests. For example, the recruiter will send you some links to practice. If the recruiter doesn’t send any sample link about the online test, please ask for it.

#3. Coding/Assignment: Some companies have a coding online test before moving you to the e-tech-interview. The online test was about solving small problems (Easy level) within 1 hour. Please make sure that you solve the online test within the given period (e.g. 1–2 hrs). If you see that you are stuck on a question, skip it, and move to the next question. In case you have extra time in the end, back again to that question. It is essential to make sure that you have a stable internet connection and a quiet environment without interruption. Make sure to FOCUS, FOCUS, FOCUS on the questions before solving them. Don’t be in a rush, and read the question carefully before adding your answer.

On the other hand, some companies are sending assignments, and you want to solve them within a period of time (e.g. 3–9 days). Be ready for any kind of questions on your code. People that evaluate your code want to know your opinion and why you do the assignment in this way.

#4. Live-Coding-interviews: Usually this kind of interview will be online. There will be one or two engineers. In the first five minutes, the engineers will introduce themselves, describe the interview structure/methodology, asking you to introduce yourself (remember the 1-minute pitch you prepared). The goal of this technical interview is to measure your compatibility with them “as a team”. In other words, do they like to work with you? Moreover, they will assess your skills by showing you some questions.

To crack this interview, you would like to practice more on platforms such as LeetCode. Remember, an unprepared candidate is underqualified. Usually, to break these technical interviews, you want at least to practice 30 medium questions. Think about the complexity. They want to see linear or logarithmic solutions, not quadratic O(N2) solutions. Share your thoughts before jumping to the code. Ask questions to collect requirements and constraints. Ask the interviewers if they are OK with the proposed solutions. Samples from a real interview: Onsite technical interview

Make sure your solution is coded within 20 mins. This is a good sign that you passed on the question.

#5. System Design: High-level questions on everything you know about the computer!! Yes, you should expect questions from many aspects, such as algorithms, complexity, data structures, multithreading, multiprocessing, operating systems, messaging queuing, deadlock, live-lock, starvation, databases (NoSQL/RDBMS), distributed computing such as distributed data, parallel processing, etc, Cloud computing, communications, security, scalability, networking, and other computer science foundations. Read more in Architecting Cloud Native .NET Applications for Azure, Designing Data-Intensive Applications (DDIA) — an O’Reilly book by Martin Kleppmann (The Wild Boar Book), and Microservices Patterns [Book].

#6. Architecture: The architecture interview is usually split into two or grouped into one interview, I’m splitting them out for clarity:

  • System Architecture: The interviewer will ask you about how to design a system (draw and discuss). For example, design a URL shortener. The interviewer will propose a very high level of information. You should ask more about the requirements such as do we need to track the URLs? Try as much as you can from the interviewer, justify your answer and start drawing. Some interviewers may ask you to draw on your favorite drawing tools. Use draw.io to simplify your interview. Or any tool that you have an experience with. The most important part is to practice.

It is really good to learn from others’ experiences and read more about how the tech-lead in the marketplace design their systems. For example: see Bitly: Lessons Learned Building a Distributed System that Handles 6 Billion Clicks a Month.

  • Application Architecture: Unlike the System Architecture interview which is a high-level Architecture design, the interviewer will ask you to design a system with deeper details. For example, build a UML for a bike rental system. Here, the interviewer expected tons of questions about the system. You should be curious and focus on the details. Please please please … keep asking and gathering the requirements before starting designing your application.

The interviewer will challenge you and start adding more requirements while you are drawing. Take the new requirements, justify your design, and continue from that point. After drawing the UML, the interviewer will ask you to design a REST API. Make sure the RestAPI is designed based on OpenAPI specifications. Make sure you remember that HTTP methods (PUT, DELETE, POST, GET), and response code (2xx, 4xx, 5xx) are extremely important.

#7. Behavioral interview (a.k.a Cultural fit): You may be a very strong candidate technically, but you have been rejected after this particular interview. Why??

The reason is that you are not culturally fit. What does that mean? It means that you probably do not show enough soft-driven skills or represent or speak about your ideas clearly. You probably offer misleading representation about your genuine attitude, or your environment does not match the new environment. For example, you are working in a very structured organizational structure while they have unstructured and flat organizational structures. You should show your values in the screening interview. Please remember, don’t oversell yourself in this phase too. See more details here: Interview Questions

#8. Offer negotiation: This phase is really important. Ideally, you want to do your homework about the average salaries in the country that you will move to. Ask about the relocation package. Make sure that you are aware of the living costs, and whether the country is fit for you to live in or not.

Josh Daddy has very good mail updates on the tips and tricks to negotiate an offer. Read his blog, and decide how you ask for more money at your next software job…without losing the offer?

So, What did I learn from these interviews?

  • Un-prepared candidates are underqualified even if you are a principal, tech lead, senior, or manager. Your daily life tasks are not really helpful in the interviews. You want to learn more and work hard to improve your skills.
  • Well, prepare for your LinkedIn profile, and C.V. increases your visibility for the recruiters. Before I joined Imagine, I had no idea how vital my LinkedIn and C.V. setup was. Unfortunately, before fixing it, my LinkedIn profile is rarely visited by viewers, rarely do recruiters reach me out, rarely notified from LinkedIn of suitable match results.
  • Being rejected in an interview depends on which stage you received the rejection. For example, if you failed in the behavioral interview, this is not your fault. Behavioral interview is about how you are fit with the company culture. Moreover, the decision will be made based on how close you are to the company criteria. Usually, there are no clear/shared metrics to measure your answers. On the other hand, even if you are using the STAR method, it is not guaranteed that you will pass the interview.
  • For example, an interviewer had an impression that I’m not interested in the position even though I felt great and I had an impression that I passed in the interview. So, the results of this interview stage are unpredictable.
  • One more example, I passed the screening interview and the technical interview, but with no luck with the behavioral one. The reason that I received the rejection is that the manager felt that I showed more information than needed for the question. On the other hand, the questions that are raised are high-level questions, and there are no yes/no answers for such questions. In other words, “it depends” answers.
  • One more example, in one of the tech companies, I passed the screening technical interview. They decided that my qualifications do not fit with the applied position, so they decided to move me to a lower level without asking questions about the level that I’m applying to. When I ask about the reason for this decision, they feel that I’m not fit with the applied level. So, be ready and stay strong!. :)
  • In conclusion, to pass the behavioral interview, you would like to read the High-Impact Interview Questions: 701 Behavior-Based Questions to Find the Right Person for Every Job by Victoria Hoevemeyer. You can find the summary here: Behavioral Interview Questions; you could do the following:
  • For each Step in Behavioral Interview Questions, you should write your own story. People that have storyteller skills, will love this part of the interviews.
  • Your story should NOT exceed 100 words.
  • Your story should have four parts: Situation, Task, Action, and Result.
  • Read the story with your friends, and see if they understand it “as is”. Take their questions, and try to rewrite the story to accept the answer. Repeat until you feel everyone understands the story that you read.
  • Each step should have a story, which means, you should have ten stories.
  • Try to remember the story, you can’t read them during the interview. No need to say the story “as is”. The idea is to practice delivering the story.

Optionally, if you are very keen on writing an effective story, you would like to read this excellent book: STORY: Substance, Structure, Style, and the Principles of Screenwriting | McKee Seminars.

  • Starting with your local market is a good way to practice. For example, I overestimated myself in my first interview. The interviewer crashed me with simple questions. From that point, I started my preparation, reading and practicing more. After a while, I felt more confident and I applied to two companies. As a result, I got an “Overqualified” response from one of them. Overqualified in your local market is a great signal to start globally.
  • When you have an interview with a company, PLEASE, ask questions to the recruiter such as what interview style you want to do. Whether they can share resources to help you to prepare. Preparing the whole IT for an interview is impossible. Asking questions, helps you to stay focused and get prepared well.
  • Accept the offer from the company that you feel belongs, curious, and take your attention.
  • LeetCode has the looks and feels like part of the Coding interview.
  • If you can’t describe it, draw it. Use the online editor tools that you feel comfortable with. Don’t worry about how ugly your drawing is. If you don’t have time to put rectangles from the drawing toolkit, draw it using a pen. What is essential here is to express the idea.

We know it’s a lot to take on so feel free to bookmark this article and take your time to go through all the tips & tricks you find on it.

Let us know how it helped you to crack your job interviews.

Your friends from Imagine wish you all the success.

Cheers.

--

--