We’re excited to have you come in and interview with us at Asana!
While onsite, you’ll meet your future teammates, learn more about Asana and our culture, and be given the opportunity to showcase the best of your abilities. We want you to feel comfortable throughout our interview process to give you the best chance of showing your strengths. To help with that, we’ve written this guide to give you expectations about the structure and content of our interviews.
Please let us know if you have any questions. Also, please let us know if you have suggestions about how to interview you: In what areas do you excel? Are there any additional resources or accommodations you might need?
We design our interview questions to see how engineers work through technical problems they don’t know the answer to yet.
We’ll ask you to solve some coding questions in a language and text editor of your choice. Feel free to bring your own laptop, or we’ll be happy to provide one. We allow candidates to run their code and refer to online resources during this exercise. Our goal is to see how you reason about your code and input cases. For that same reason, we won’t ding you for superficial syntax errors or misremembered function names. After leaving you to work through the questions on your own, we’ll sit down together and talk through your solutions (including any ideas you didn’t have time to commit to code).
Most engineering interviews contain some algorithmic questions. At Asana, we particularly love questions that involve the use of data structures. Hashes, sets, heaps, binary trees, linked lists, all the usual suspects. Using the right data structure for the right job is a skill we consider fundamental because it is key to efficiency. Things to think about: Do you know the different types of operations for which a data structure is suited? What kind of run-time complexity do the operations have? We don't expect you to know how to implement every data structure by heart, but we do hope to see that you could work it out in cooperation with a helpful partner. We also value thoroughness and being able to catch your own mistakes, even in the edge cases.
When it comes to modeling and design, we value clarity with a bias towards simplicity; we expect Asana engineers to be comfortable designing a technical solution to a real-world problem (often based on a problem that we've worked on in the course of building Asana). Break the problem down into smaller components. You might prefer an object-oriented design, or a functional design, or perhaps even take a declarative approach; the key is being able to articulate not only a solution, but also why you made the choices you did. Being able to identify trade-offs explicitly and why you are making them is the sign of mindful design.
This isn't an exhaustive list, but it's some of the qualities we look for that we think are especially valued at Asana (while not unique to us).
Technical Design: Simple and Robust
Programming: Abstractions, Code, and Algorithms
Communication: Articulate your mental model
Collaboration: Would be a good teammate
Learning: Absorbs information and avoids repeating mistakes
Autonomy: Prioritizes well and anticipates problems
Below are just a few ways we’ve heard on how successful candidates have prepared for their interviews.
Read through technical interview prep resources
Reflect on your experience and interesting technical problems you’ve worked on
We want to hear your story and witness your expertise. The more you tell us about your past work, the more we can adapt our interview to suit your strengths.
Bring questions for your interviewers
As important as it is for us to evaluate if you're a good fit for Asana, we want you to be able to make the same call. What matters to you in a working environment? What are you looking for in your future projects and teammates?
These are the ways we approach our interview process, and we’d also love to hear about your experience so far and what we can do to better accommodate your onsite visit! We’d encourage you to share your experience with us or speak with anyone on our team before or after your interviews.
Follow-up note regarding this Guide: We’re also still in the early stages of creating this guide and are always seeking ways to make it better. Let us know what you think and what else you would’ve liked to see on here.