I applied online. The process took 6 days. I interviewed at Pocket Gems in Jun 2015
Interview
One of the 700+ applied online. Got an interview within days. Guess they are doing a breadth first search through the applicants, so do not get excited if you get an interview. Once we got on the phone, we went straight to two problems (strstr & k most frequent # (yes k not kth)). Got second round within minutes.
Advices:
Force yourself into a habit of writing pseudo-code/task list as comments before you start writing code. 1. It will guide you through implementation. 2. It tells what your code does to the interviewers. Make sure you think out loud, and promptly comment on/explain any of the more complex logic as the interviewers are trying to understand your code while you write them. It will make the life easier for the interviewer and ultimately for you.
As for the programming problems, they do not expect you to implement a KMP or a BM algorithm and the likes out of the blue. Yet, be reassured that a brute force solution for strstr with an average time complexity of O(mn) is not acceptable anywhere in the universe. The same holds true for space complexity as well (but less strict). I guess what they want to find out about you out of these questions is whether you can code, whether you constantly shoot for O(logN)/O(n) or even better O(1) algorithms and whether you can communicate effectively with your coworkers as a software engineer. Therefore, in addition to the other things, be sure to know your go to language. Take C for example, throw some mixtures of typedefs, bit paddings, consts, inlines, passing array of pointers by references, functors, or even some inline assembly when you code. Also remember to free up any memory allocated on the heap for languages without garbage collection to show that you think about memory usages, as memory leakage problem is very real for Objective-C, Swift and other things that use reference counting.
Interview questions [1]
Question 1
1. strstr, k most frequent
2. sort color (possibly review enum and struct if using c++), find the smallest node that is bigger than the given node (review bst traversal)
Phone interview. Asked technical questions. The interviewer was very sweet and patient. We went through every problem and examples and how the code will run. Yet to hear from them
I applied online. The process took 1 week. I interviewed at Pocket Gems (San Francisco, CA) in Jun 2015
Interview
Recruiting process is very fast. I applied online and within 2 days recruiter sent email to setup phone interview. Phone interview was setup within 5 days. One online document was shared so you can choose language in which you would like to do code like java, Python, C++ etc. You need to run the code once you are done with coding. You can see output or error in right side of the window. Interviewer was not providing any hint when I stuck somewhere. Sometime he kept silent so you dont get any idea whether he is listening or not.