After working at other major/top Silicon Valley companies, Dropbox is definitely the best company I've worked at. The level of technical talent here is better than pretty much any other company, and Dropbox maintains a high hiring bar to ensure it doesn't drop. This provides a lot of opportunity for learning and means that I can fully trust my coworkers to produce excellent work.
I also get a lot of control over what I work on and how it should be implemented. My manager/PM are always open to suggestions on how things should work, from the technical to the product level, and I don't usually have to go through them anyway.
Work/life balance is great. I don't work weekends at all and I have yet to go above 50 hours a week (not including meals at the office).
Compensation is on par or better than any other company in SV, and the perks are great (best food of any tech company!).
The company is still growing very quickly, which means that a lot of the processes aren't as set in stone as they are at larger or more stable companies.
This means that when trying to do certain things, no one really has a good idea of how to go about it (e.g., compensation reviews were only standardized relatively recently).
This doesn't actually affect much in practice, however, as everyone I've met is more than willing to work with you to make sure things are made right.
The interview process was a coding assessment and a phone screen. The coding assessment was a design question consisting of four parts. It increased in difficulty and involved designing a system to do a certain task.
Phone interview: The question was to find all duplicate files in a file system. Follow-up questions included: * What if files are large? * What if files are small? The interviewer was kind of indifferent.
After the resume screen, the second stage was a coding interview. I was asked one question related to recursion, specifically to find a duplicate file in a filesystem. This was conducted in a browser-based text editor.
The interview process was a coding assessment and a phone screen. The coding assessment was a design question consisting of four parts. It increased in difficulty and involved designing a system to do a certain task.
Phone interview: The question was to find all duplicate files in a file system. Follow-up questions included: * What if files are large? * What if files are small? The interviewer was kind of indifferent.
After the resume screen, the second stage was a coding interview. I was asked one question related to recursion, specifically to find a duplicate file in a filesystem. This was conducted in a browser-based text editor.