You’ll meet with a peer or a senior software engineer. Please expect to answer detailed questions on your technical experience and the projects you’ve worked on. We will conduct a brief technical assessment primarily on problem solving. You’ll receive a problem statement and you will be evaluated on your ability to analyze, solve and code the problem. You can code the solution in any language.
This is your quintessential coding exercise. You will receive an open ended problem statement via email. You can reach out to the interview panel to ask clarifying questions. Your goal is to devise a solution and convert it to workable code. You’ll be expected to think through edge cases, write clean code, optimize the code and write test cases. This should take you between 2-3 hours to complete. On completion – you’ll submit your solution as a GIT bundle via email. The panel will schedule a 30-minute follow-up video interview with you to discuss the solution you built.
For other technical roles, the video discussion will last for 60 minutes. Candidates interviewing for an Android Role could prepare for an in depth technical evaluation on data structures and algorithms. Candidates interviewing for an SRE Role could expect to code and set up an environment on a cloud server.
The onsite interview process focuses on a detailed technical evaluation (3 hours) and a behavioral interview process (1.5 hours).
Technical evaluation: We’d like to understand your coding, problem solving and design skill-set. Be prepared to talk through your solutions in depth and push your boundaries to find the best answer. Your interviewer will engage in a healthy back and forth discussion with you which will be quite similar to what you’d expect when building a solution at your job. Interviewers tend to use a whiteboard and you’ll be given a Macbook pro to work on.
Behavioral Interview: You’ll meet with two interviewers who’d ask you a series of open ended (behavioral) questions that will provide us insight into how you work, what motivates and what you are looking for in your next employment opportunity.
Technical interview preparation tips:
• Brush up your coding skills so that you can write clean unit testable code. You’ll be asked questions that will involve: object orientated design, programming, system design and architecture.
• Practice problem solving – you’ll be evaluated on your approach to problem solving, knowledge of data structures and algorithms. Data structures most frequently used are arrays, linked lists, stacks, queues, hash-sets, hash-maps, hash-tables, dictionary, trees and binary trees, heaps.
• Review common sorting functions and the type of input data they require for efficiency.