Here are some hints and tips to help you prepare for the interviews:
Tl;dr: We like to let candidates show off their skills in the environment they are best on. As such, you’ll need to bring a laptop and you should plan to write lots of code on it that runs during your interviews.
Interview Questions:
Interview topics may cover anything on your CV (especially if you have stated that you are an expert!), coding questions on your laptop, building and developing complex algorithms and analyzing their performance characteristics, systems design and core computer science principles - hash tables, stacks, arrays, etc. Computer Science fundamentals are prerequisite for all engineering roles at Snap, regardless of seniority, due to the complexities and global scale of the projects you would end up participating in.
How to succeed:
At Snap, we believe in collaboration and sharing ideas. Most importantly, you'll need more information from the interviewer to analyze & answer the question to its full extent.
* Bring a laptop that you are comfortable writing code on
* Interviewers strongly prefer working test cases over psuedo-code
* It’s OK to question your interviewer.
* When asked to provide a solution, first define and frame the problem as you see it.
* If you don't understand - ask for help or clarification.
* If you need to assume something - verbally check it’s a correct assumption!
* Describe how you want to tackle solving each part of the question.
* Always let your interviewer know what you are thinking as he/she will be as interested in your process of thought as your solution.
Also, if you're stuck, they may provide hints if they know what you're doing.
* Finally, listen - don't miss a hint if your interviewer is trying to assist you!
Interviewers will be looking at the approach to questions as much as the answer:
* Does the candidate listen carefully and comprehend the question?
* Are the correct questions asked before proceeding? (important!)
* Is brute force used to solve a problem? (This is a fine starting point but refine your solution from there!)
* Are things assumed without first checking? (not good!)
* Are hints heard and heeded?
* Is the candidate slow to comprehend / solve problems? (not good!)
* Are new ideas and methods of tackling a problem sought?
* Is the candidate inventive and flexible in their solutions and open to new ideas?
* Can questioning move up to more complex problem solving?
Snap is keen to see really high quality, efficient, clear code that runs real test cases at the end of your interview.
To practice for your interview you may want to visit the website www.topcoder.com If you launch the "Arena" widget and then go to the practice rooms where you can play with the problems in the first/second division as a warm up. This is particularly important for candidate with less than four years of experience. Another site recommended highly by engineers is projecteuler.net. These sites will expose you to programming problems that you would not normally come across in a standard day.
Comments
Post a Comment
https://gengwg.blogspot.com/