Android Interviews @ Coffee Meets Bagel
Hey there! Thanks for your interest in Coffee Meets Bagel. We know that the interview process can be overwhelming at times so we’d like to try and make sure you feel as prepared as possible before starting the interview process with us.
About Me
My name is Brian and I’m the hiring manager for all of the Android roles here at CMB. We are expanding our team, and we’re looking for passionate and talented engineers who want to have a lot of impact. Currently, we’re in the middle of iterating on our product to provide the best possible experience to our daters and refactoring our codebase to modernize the CMB Android app. I hope that the following information can help you get a better idea of what’s to come should you decide to move forward with us in the interview process.
Our Process
Round 1: Initial Phone screen with Monique, our Talent Manager
This will be a short conversation that digs into your background and your particular interests. Please share with us the experience you have and past projects that were really exciting to you. Again, we are looking for passionate engineers to join the team!
Round 2: Virtual Technical Screen
The initial technical phone screen allows us to cover a variety of topics, but the main focus will be on data structures and algorithms.
Round 3: Onsite
The last step of the process will be an onsite. At the time of the writing, we’re in the middle of a pandemic so this will be done virtually for the time being. Depending on scheduling, this can be broken up into two half days or one full day.
We want to be respectful of the time you’ve put in so it’s our goal to respond to you in a timely manner every step of the way. However, if you’re ever unsure about the status of your application, please feel free to reach out to us.
Data Structure/Algorithms
Throughout the interview process, you will be asked to code up solutions using data structures and algorithms. The purpose of these questions are not to trick you, but to see how you think and how well you are able to communicate your solution. The best way to solve these problems is to break the problem down into smaller sub-problems. You will be able to answer all questions using basic data structures (Lists, HashMaps, Graphs, etc.). i.e. You will not be required to use data structures like a red-black tree. As a software engineer, you will also be expected to be able to evaluate the efficiency of your solutions using Big-O notation.
The criteria used to evaluate these sections will be the cleanliness of the coded solution, efficiency of the solution, and communication during the process. If you get stuck, don’t worry. Your interviewer is there to be a partner in solving the problem. The number of bugs will also be taken into consideration so be sure to run through test cases and address any edge cases that you may see!
Android Project
As this is an Android role, you will be required to demonstrate Android specific knowledge. At CMB, we evaluate this by having candidates come in and code an app from scratch. You will be free to use any existing templates you’d like so be sure to come prepared!
Upon completion of the app, you will be expected to present your app and code to the interviewer. We care about clean and maintainable code so be sure to cover topics such as app architecture, design decisions, edge cases, etc. We totally understand that one interview slot is definitely not enough time to have a production level app, so be sure to be able to talk about the next steps required to take it there!
System Design
This portion is very close to the daily tasks you would have as a part of the team. Given a particular set of requirements, you will be asked to design a system. Think through the given problem and discuss tradeoffs to different solutions. You can go as deep as you’d like into specific topics. This is a good chance for you to demonstrate your knowledge of building Android apps. However, be sure to check in with your interviewer from time to time to make sure that things are moving along at the right pace.
Cross Functional Collaboration
As a part of daily job duties, engineers work closely with a cross functional team to execute on new features. The partnership between product, design, QA and engineering is crucial to the success of CMB as a whole. During this portion of the interview, you will be asked about your previous experience working cross functionally. Be sure to use specific examples to illustrate your points! We’d love to hear about how you have demonstrated the following company values in the past.
- Ownership
- Continuous Learning
- Accountability
- Collaboration
- Courageous Candor
Closing Thoughts
Thank you for taking the time to prepare for your upcoming interview. It is our goal to make sure that your interview experience is as positive as possible. If you have any questions throughout, please do not hesitate to ask. We also love hearing feedback from you as we continue to improve the interview process. Best of luck, and hope to talk to you soon!