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. Notably, we ask candidates not to compile or run their code during this exercise, and not to refer to online resources. Our goal is not to simulate day-to-day software development — where we read docs and write lots of tests! — but rather 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).
Communication: We’d love to see you clearly explain your solutions, and your thought processes towards them. We try to design our interview questions to see how you work through unknowns. We also want to see you able to exchange ideas and collaborate with your interviewer, including taking feedback.
User empathy: We don’t expect you to be a product designer, but knowing how your engineering decisions will affect users is important to us. Will certain trade-offs you make create confusion or pain-points for the user? How might it constrain their abilities, or force them to deal with complexity?
Learning: You’ll definitely have to learn new things on the job, and we love evidence that you’ll pick up things fast. Don’t worry if you get stuck; that’s bound to happen when exploring new territory. This happens to everyone! Be honest with your interviewer and see if you can talk through where you’re stuck. Listen for hints they might be giving you.
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.
Asana doesn’t work with the internet browser you are currently using. Please sign up using one of these supported browsers instead.