First of all, although I ended didn't getting the offer from them my overall experience from the interview with them was positive.
Basically, their interview consists of 3 parts:
1)Phone screen - Talk with the dev and code online with them
2)On-site 3 hour interview, 2 with developers, 1 with non-developer on the tech team
(Whiteboard coding)
3)Final on-site interview, where given an assignment which you have to complete within 3 - 4 hours and discuss with a group of developers about the assignment
I got to the final part of the interview. I was basically tasked to create an app to that takes in commands, and based on the commands I would output the response. An example would be like, if I typed "help", it would list out all the commands and what they do in an output text.
I was able to get most of it done and added a couple extra features in like say when the user inputs "lunch", the app would redirect to Google Maps which lists out all the restaurants nearby. Also, like having one of the commands redirect to the Youtube app, and web browser and such.
I honestly felt confident that I was able to achieve all of these under a time constraint and added extra features too. Thinking that I would get the offer, but ended up not getting it.
While I was deeply saddened to find out about this, I did get some feedback about my final interview. Although I have gotten most of the features working, they mentioned that they would like to see more abstraction and encapsulation to avoid code repetition. Which was something I didn't think about since I was under a time constraint and have to get features working. I usually have the mindset of getting things done first, then optimize it and make it look clean later. I guess my optimization and cleaning parts need more work.
Overall, what do I think about this company? Would I recommend people to apply to this company?
My answer is yes! The people I met are really nice and friendly people, NO JOKE! From what I've experienced talking to them, they give me an impression that they have fun both in and out of work which I think is an important aspect in a job.
NOTE: The reason why the interview lasted around 3 weeks was because that their mobile team was not around the area at that time, and that they wanted to setup an appropriate time for me to meet them.