Am I on the right track on gaining Computer Science knowledge for a Google Interview?
-
Hi there, I've got a Mechanical Engineering degree from a German University. Currently I'm a Ph.D. Student at the Mechanical Faculty of the same University I graduated. I want to know how someone like me without a Computer Science degree can land an internship at Google Munich as a Software Engineer? To be more specific, it's about this internship: https://www.google.com/about/jobs/search/#!t=jo&jid=4038001& I'm interested in the "Product and Systems Development" position. I've done several things already to counter balance the missing Computer Science knowledge that (I think) is needed for an interview at Google. Now I want to know whether I'm doing the right things. Each weekend and after work I'm doing the following things to prepare myself for the interview: Every week I'm implementing a small project (it ranges from implementing sorting algortihm to programming Apps that's able to communicate via Network), and post them on the following blog:http://pleasefindencoded.blogspot.de/ I'm involved in a small Open Source Project that develops a simple Blog software as Web Application. We develop it in Ruby I recently started solving problems at "Project Euler" I have an active account at Codecademy. (I think right now I've got the second highest score there: 5641) I finished several online courses (e.g. Stanford's "computer Science 101" by Nick Parlante and "Introduction to Database" by Jennifer Widom; OpenHPI' (a German MOOC) "Datenmanagement with SQL" by Felix Naumann and "Web-Technologies" by Christoph Meinel) I'm currently listening University of Washington's "Computer Networks" by David Weherall and Vanderbilt's "Pattern-Oriented Software Architectures for Concurrent and Networked Mobile Devices and Clouds" by Doug Schmidt (nearly finished). I'm reading "Cracking the Coding Interview" by Gayle Laakmann McDowell and "Introduction to Algorithms" by Charles E. Leiserson Furthere more my work contains some amount of programming (C#) too. Am I on the right track? What of these things I should concentrate more and skip others? Is there something else I can do? Listing all these things may sound funny for some of you, but I want to show that I want it badly that I'm willing to put any efforts that is needed. :( Thanks in advance for answering Regards
-
Answer:
Sounds like you are doing a good job. Good luck!
Robert Neuhaus at Quora Visit the source
Other answers
item 7, learning Algorithms and data structures should be of highest priority. Make sure you solve atleast 1-2 new interview questions daily along with working code. Probably you could omit item 6, to get more time. For google interviews, one thing i can say is 'you should be so comfortable with coding that you should able to write code on paper in a single attempt without any scratches or correction'. Almost all the time they look for working code snippet which just runs on computer without any errors. (some interviewers check as much as including ";" correctly). Cormen has the necessary theory and proofs for algorithms, but make sure you can implement any algorithm once you know the algorithm. You could also practice questions from "Algorithms for interviews" by adnan aziz, amit prakash. Just curious, may I ask how you ended up in Mechanical engineering ph.d program, if Computer science is your interest? I thought usually people end up in wrong major at bachelor's level when they are not clear about their interests, But not at ph.d level.
Anonymous
You should be really comfortable working through Cracking the Coding Interview by Gayle Laakman McDowell
Carden Bagwell
You're all set :-)
Amir Memon
Google interviews are almost always involved with Algorithmic questions in general (at-least at entry-level). So, concentrating on your approach to new problems will be a big plus in the interviews. Here is what you can do: 1. Practice Topcoder Div - 2 500s and 1000s and Div - 1 250s (if possible) 2. Practice Ad-hoc/Tree/Graph questions from http://geeksforgeeks.com Above 1 & 2 will: 1. enable you to think quickly and approach new problems (you can refer to topcoder tutorials and CLRS for new algorithms that you come across while solving) 2. enable you to cover all the standard problems which have already been asked so that you do not miss out on an opportunity for free points. Finally, stay relaxed and composed during the preparation as well as the interviews so that you can comprehend the problems better and give your best. Good Luck!
Anonymous
Related Q & A:
- Is a Computer Science Degree considered a technical degree?Best solution by Yahoo! Answers
- How hard will AP computer science if I have no past knowledge of programing or Java?Best solution by Yahoo! Answers
- What can I do to get a good job with my Bachelors of Science in Computer Science?Best solution by collegexpress.com
- Can I be a computer technician with a degree in Computer Science?Best solution by Yahoo! Answers
- What can I do with an Associate degree in Computer Science?Best solution by Yahoo! Answers
Just Added Q & A:
- How many active mobile subscribers are there in China?Best solution by Quora
- How to find the right vacation?Best solution by bookit.com
- How To Make Your Own Primer?Best solution by thekrazycouponlady.com
- How do you get the domain & range?Best solution by ChaCha
- How do you open pop up blockers?Best solution by Yahoo! Answers
For every problem there is a solution! Proved by Solucija.
-
Got an issue and looking for advice?
-
Ask Solucija to search every corner of the Web for help.
-
Get workable solutions and helpful tips in a moment.
Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.