December
4th, 2008
Interview questions from Google, Yahoo!, O’Reilly and a few startups
Just over a year ago my wife and I decided that we’d consider moving from Cincinnati to Silicon Valley. I’ve always found it difficult to find work that I enjoyed in Cincinnati. That resulted in me being involved in two startups, neither being successful :). As part of the process my friends who were also considering moving and I documented the questions we were asked during interviews.
O’Reilly (in person):
- Create a Perl dictionary in Python.
Google (phone):
- What is a sticky bit?
- How do you display all available information for an inode?
- What is the default switch for kill?
Gaia Online (in person):
- Write pseudocode which determines if a move is legal in reversi.
- Write a regular expression to convert this UBB code into valid HTML: The dog [b]ran over [i]the street[/b] and said: [blockquote]i am a dog[/blockquote].
- Questions regarding what I did to help scale software at Photagious and ClearChannel.
Rearden Commerce (in person):
- What is the architecture where you currently work and what are some of the bottlenecks?
- How do you go about solving a performance problem?
- Can a computer process two things at the same time?
- How would you implement support for multiple languages in a web application?
- How would you remove all of the sequential characters from the following string: AADBDDDABDDEAAD?
- How would you speed up the performance of Javascript?
- How would you speed up the performance of CSS?
Yahoo! (in person):
Group 1
- What does the gnu top program do?
- What does the gnu find program do?
- What is the difference between a thread and a process?
- What version control software have you used?
- Why would you use git over subversion?
- What is a hash datatype?
- What is a super class or parent class?
- Explain prototype in Javascript.
- What character encoding does Javascript use?
- What methods are supported by HTTP?
- When wouldn’t you use an MD5 hash?
- How would you approach writing an similar hashing algorithm to MD5?
- What is a CSS sprite?
Group 2
- Given a 2 dimensional array write pseudocode which sorts the array by the 2nd dimension.
- How would you replicate the PHP extract function?
Group 3
- How would you efficiently pull out links to MP from an HTML file?
- Can you avoid cross site scripting (XSS) with ajax calls? If so, how?
Group 4
- Given n points in the form (x1, y1, z1)…..(xn, yn, zn), find the k closest points to the origin.
- Given the same points as above, find the K closest points to each other.
- Given a url such as http://yahoo.com/foo/bar/../baz/./abc/foo/def/../ghi, determine the final directory being requested by parsing the string.
- Given the following set of numbers: 10, 7, 5, 8 find all pairs which add up to 15.
Once it was all said and done, we all ended up out here in sunny California.
and living in Sunnyvale, CA.