Caltech Rankmaniac 2012

We are trying to educate people about being CS majors and getting our site to the top of a Rankmaniac 2012 google image search

Category Archives: CS Interviews

Dice Question

rankmaniac 2012

Simple puzzle for rankmaniacs ūüôā

This question is pretty simple, but I was asked it nonetheless at an interview.  You have two blank dice and you want to be able to display every day of the month using these two dice.  How would you put numbers on the dice so that some configuration of the dice show every day of the month from 01 to 31?


Tips for Rocking a CS Interview like a Rankmaniac

Hi guys,

I have just a few general tips for doing well at CS interviews. ¬†I can’t promise these will all work for you – I just know that they work for me.

  1. Buy interview books!  These handy little books include both important concepts and interesting problems.  Start reviewing them at least a week before your interviews Рthey will fill in the gaps in your knowledge and help you get in the frame of mind to answer interview questions.  Two books I recommend are Programming Interviews Exposed and Cracking the Coding Interview.  Alternatively, you can check out sites like  Wikipedia is also a good resource for algorithms.
  2. Review difficult concepts (like dynamic programming or flow networks) the night before. ¬†If you know that your job requires knowledge of systems or databases, leaf through your old textbooks on the subject. ¬†Study only briefly!¬† If you don’t already know the concepts, forcing yourself to learn them the night before will only make you stressed.
  3. Eat lightly before the interview.  This is especially important if you are nervous Рtrust me, your stomach will thank you. It will also keep your head clear and awake.
  4. Come early to the interview.  I find it helps my nervousness levels if I get acclimated to the office before I have to do my interview.
  5. Bring an extra copy of your resume.  The more copies the recruiters have, the more they will see your name and the more likely they are to remember you and hire you.
  6. At the interview, try to keep an upbeat demeanor and hide your nervousness.  This is especially true at the start of the interview before you get into the rhythm of things and your nervousness dies down.  Keeping a handle on your emotions will keep them from spiraling out of control.
  7. Don’t be afraid to chat or even make small talk with the interviewer. ¬†Many CS interviewees forget that an interview isn’t just about showing your technical skills – it’s also about demonstrating that you are a good fit for the company. ¬†A star coder who is unpleasant will be passed over by a recruiter. ¬†Note that some interviewers will not be in the mood for small talk and will want to get straight to the questions. ¬†In that case, make an extra effort to be serious and professional – small talk is off the table.
  8. Don’t be afraid to sell yourself. ¬†The point of the interview is to sell yourself. ¬†If you make a vast display of modesty, you will just be considered unqualified.
  9. Answer questions aloud. ¬†This one should be obvious. ¬†Interviewers have no idea what you are thinking. ¬†Answering questions aloud is like writing out your answers on a test – if you get stuck, at least you will still get partial credit. ¬†It is also important that the interviewer knows how you think. ¬†Silently writing the solution on a board might seem badass, but it’s not – it’s just confusing for the interviewer.
  10. Ask your interviewer questions when you are stuck. ¬†There is no shame in asking for help once you are completely stuck (you better have made a good effort first). ¬†In fact, some questions are designed to totally stump you. ¬†Interviewers want to see how you perform under pressure. ¬†Also, in a multiple question interview, it might be best to have an interviewer help you quickly through a question you can’t get so you can rock the next question. ¬†The alternative is that you waste all your time on the first question.
  11. Always have questions prepared for the end of the interview. ¬†Most interviewers will leave time for any of your questions. ¬†Don’t waste that time. ¬†I always have a few stock questions that I will ask: “What do you like most about working at company X?” “What team are you working on?” “How does part X of your infrastructure work?”.
  12. Write a short thank you note (perhaps with your resume attached) after the interview.  Remember, you want the recruiter to remember you.  This is another excuse for them to see your name.
  13. Forget about the interview ASAP!¬† Never cry over spilled milk. ¬†If you failed the interview, just forget about it – get a bite to eat, take a jog – don’t let it psych you out. ¬†If you rocked the interview, congrats! ¬†Don’t rest on your laurels though – move on and start preparing for the next interview.

Rankmaniac 2012 Interview

Had a Tech Interview Today…

Rankmaniac 2012

Rankmaniac 2012

Futurama - Rankmaniac 2012

My Microsoft Interview

Hi guys,

Still working on the Rankmaniac 2012 competition!!! ¬†Thought I’d give you guys a bit of a description of my Microsoft Interview process, since that seems to be a fairly popular company.

Rankmaniac 2012 Microsoft

Rankmaniac 2012 Microsoft

I knew that career fair was coming up, but I didn’t bother meeting my recruiter there – I wanted to stand out from the rest of the candidates. ¬†Instead, like a true Rankmaniac, I sent my Microsoft recruiter an email before the career fair with my resume and a short note. ¬†When she was visiting campus for the career fair, I set up a time to grab coffee with her (at her convenience of course). ¬†This gave me a chance to learn a lot more about Microsoft and also gave the recruiter a chance to get to know me as a person.

They let me skip the initial interview, which was nice of them, and they had me fly out for an on site interview in Seattle for the Windows Core team, which works on the Windows file system, Windows kernel and some basic Windows security stuff (I specified this team before hand.  I think it looks better when you know what you want to work on).  Microsoft provided me with a rental car and a hotel, so my stay was pretty comfortable.

The night before the interview was fairly sleepless, as is often the case for me.  I woke up around seven and drove the 2 miles to my interview.  I went into a room with many, many other full time and intern candidates.  There I wait for about 30 minutes until my on site recruiter came out.  She led me to a shuttle that took me to the Windows Core building.  My first interview was with a member of the Windows Kernel team.  It was a pretty easy question about inserting an element into a linked list in C.  Not difficult, but the first question is always harder for me than the rest because that is when my nervousness is peaking (after that, I get in the zone).

My next interview was a lunch interview. ¬†I chatted with a member of the file system team, while I had a bite to eat. ¬†Then we went to his office and he asked me some conceptual questions related to file system structure (He basically asked me how does one construct a file system). ¬†This also wasn’t very hard because he wasn’t looking for any technical definitions – he was mostly just looking for how one would define files versus folder (and other simple things like that). ¬†My next interview was with a member of the security team. ¬†It was tough at first until I saw the trick. ¬†He basically wanted me to write a program that removes comments from a C file. ¬†You had to account for all of the different comment types and placements. ¬†Since I’d never taken a compilers class, this was initially a bit challenging. ¬†My last interview was very easy. ¬†Essentially, I just had to iterate through a binary tree. ¬†Mostly, the man (who was on the Windows Core team) just wanted to chat with me about what Windows Core does.

After the interview concluded, I was driven back to the recruiting office.  I had a meeting with the recruiter who presented me with my Microsoft offer.  I left Microsoft feeling happy and relaxed and flew home the next day.

Once you have an offer, Microsoft recruiters become a lot more aggressive (they are definitely known for this). ¬†They call you a lot and push you very hard, but they are also willing to negotiate. ¬†Although, I didn’t end up accepting their offer, I had a really good experience with their team. ¬†Anyway, I hope this post helps you if you ever interview with Microsoft.

How do you think?

Some questions at interviews are just meant to get an idea of our thinking processes and our problem solving abilities. I was once asked a single question – one that I’ve heard before – and asked to give multiple different answers. Yes, there was an actual solution and I’m sure other interviewees would have known it, but I did not. So, I came up with four original answers. What answers can you come up with to the following puzzle:

You are in a room with a table in the middle of it. On the table are three lamps, two of which are always on. When you are in the room, the third light is also on. When you leave the room, the light turns off. How do you figure out which light turns off?

PS. How many computer scientists does it take to change a light bulb?

None – that’s a hardware problem.

Let’s Get Ready for Interviews!

Want to get ready for Tech interviews? Try out the following sites, they have been really helpful for me.


Depth of BST

The hardest question I had was: find the depth of a binary search tree without using recursion. Anyone has good solution wants to share?

Binary Search Tree

Joel’s 7 Advices For CS Majors

Think CS majors do not need to be good at writing? Joel Spolsky has different opinion on it?

Different Viewpoints

Rankmaniac 2012

Rankmaniac 2012