I was contacted on LinkedIn. At the time I was already interviewing with several other companies at once, but I replied anyway to give it a shot.
I passed the phone screen, then scheduled the onsite (VO) with the recruiter. Their onsite can be split across several days — day one is coding. If you fail the coding round, they don't move you on to system design.
The first coding round was actually a problem I'd seen before — the agent voting question. It's out there, and there are also some details posted in a Leetcode discussion thread.
It needs to support:
- Computing the average rating
- Sorting by average rating
Leetcode says there's usually a follow-up too, and I did finish with time left, but the interviewer didn't ask any follow-up questions. I was a little worried about that at the time, but it went pretty smoothly and I passed.
I'd prepared for this beforehand, so on the day it went smoothly. But I was already in offer talks with another company, and even though Atlassian is remote-friendly with a good culture, I liked the other company more, so I turned them down directly and didn't continue interviewing.
Even though I ended up not using them, here are the high-frequency Atlassian system design questions I had prepared in my notes:
- Design a tag system — mainly about REST API design, and the interviewer asks about every detail, bit by bit, from creating tags, to associating them, deleting them, and searching for them.
- Image crawl — given a URL, you need to crawl images. Felt pretty similar to a task scheduler; discussion mainly focused on the DB and failure handling.
- unlimited root URLs
- unlimited depth
- Design a hierarchical model to store data, with two functions: adding a node and returning all of a node's children. Very focused on API design and DB schema, and we discussed edge cases a bit. Feels like they really like to dig deep into API design — if you don't have much experience, I'd suggest looking into this more beforehand.
- Top-N posts on Confluence
- Design a role access system that needs to support both role-based and resource-based access
Hope this helps! Good luck with the job search, everyone!
Discussion
Loading comments…