Tuesday, 21 May 2013

My Placement Story: Part I

The year was 2012 and it was placement season for me. It was an important event and I knew it was going to be hectic. This post will summarize my experience with IITB's placement process. Due to it's length I've divided it among several posts.

Resume uploading starts around mid-August and you have to prepare your resumes and submit them till mid-Sept. Remember that resumes are very important, because some firms simply shortlist candidates based on their resumes; so it's essential that you give a good impression. And anyways, even if the respective firm doesn't shortlist based on resumes, they'll definitely have a look at it. So it's better to prepare a decent resume. My advice:
  • Take a look at a few of your senior's resumes and use them as templates.
  • Make several drafts, and improve your resume incrementally; remember that every word on your resume is important.
  • Use simple English. Don't try to show-off your vocab skills, it might back-fire if the interviewer misinterprets!
  • After having a final draft ready, send it to a couple of your seniors asking them for advice. 
  • Make necessary changes as per suggestions and upload!

Placement season structure at IITB
Placement season consists of 3 phases: Phase-1, Phase-2 and Phase-3. Below I list the important timelines involved in Phase-1, which is the most important phase:
  1. Resume uploading (deadline in mid-Sept)
  2. Pre-Placement talks (Last week of Sept - Last week of Nov)
  3. Preliminary Tests conducted for shortlisting (First week of Oct - Last week of Nov)
  4. Final Interviews for shortlisted students (1st Dec - 15th Dec)

Which firms did I apply?
I gave the tests of companies that I was interested in, and that must have numbered to around 35. Here is the  comprehensive list of firms with whom I was involved for the shortlisting process:

Tests started in the 1st week of Oct and the frequency of tests per week was around 2-3. But this frequency increased gradually as we approached November end. I remember precisely that I gave 5 tests on Nov 30th, just a day before the D-Day! It gets very hectic in the last week of November, and you don't get any time for preparing for final interviews. All I did was gave tests day-in and day-out in the last week of November; you simply don't get time for anything else.

Where was I shortlisted?
After going through the tests and other shortlisting methods of the above firms, I was shortlisted in the following firms for final rounds of interviews to be given on Day-1 and Day-2.

Day-1 (Dec 1st)
  • Google 
  • Microsoft
  • Opera
Day-2 (Dec 2nd)
  • Epic Systems
  • GREE
  • Works Applications
  • Informatica
  • Adobe
  • Chronus
  • Oracle
  • Mylikes
  • Walmart Labs
  • Myntra
  • Lexity
  • Strand Life Sciences
  • Dolat Capital
  • Finmechanics

That's it for this post, I'll post about the intricacies and my horror story of Day-1 and Day-2's interview experience in upcoming posts. Keep checking!

PS: On after thought, this post seems to be very IIT-Bombay specific, but hopefully you may find some useful bits and pieces.

Friday, 17 May 2013

Microsoft Pre-Placement Offer Interview

At the end of my summer internship at Microsoft India Development Center (Microsoft IDC), I had the opportunity to go through interviews for getting a Pre-Placement Offer (commonly known as PPO).

IDC is Microsoft's largest development center outside US. The different groups here are involved in development of almost all of Microsoft's major products. In fact, there are some products that have originated here. I don't doubt that Microsoft IDC is the best place to do some good software development work in India. I went through 2 tech interviews:

Interview #1

1) Design classes and implement member functions for playing Tic-Tac-Toe on an N*N board. You win if you get N pieces in a row, column or diagonal.
Follow Up: Briefly explain how will you implement the AI

2) Reverse every word in a string.

Interview #2

1) You are given an M*N board. You are given blocks of different shapes as found in a Tetris game. You have to give an algorithm to check whether all the blocks mesh perfectly in the M*N board. Also, give some heuristics that to speed up the algorithm.

2) How would you test a blue marker?

Saturday, 4 May 2013

Opera Solutions: Analytics Specialist Test

Opera solutions is a consulting firm which engages in management consulting and decision analytics. The role of Analytics Specialist that Opera offers requires thorough knowledge of Statistics and other topics like Machine Learning. The shortlisting procedure was done through 2 pen-and-paper tests:

Objective Paper (20 questions, 45 minutes)
Consisted of questions on probability theory and basic statistics. Also there were some questions on Data interpretation (similar to those asked in IIM-CAT).

Subjective Paper (6 questions, 45 minutes)
1) A and B play a game. They roll 2 dice every time and add the numbers that show up. If it's a 12, then A wins. If there are 2 consecutive 7's then B wins. With what probability does A win the game?

2) 100 prisoners hat puzzle

3) Prove that product of 4 consecutive numbers is always of the form k^2 - 1.

4) Prove that there always exists a sequence of length n of composite numbers for all n.

5) Geometry problem: 3 circles tangent to each other, find c in terms of a,b. (Sorry I don't remember the diagram)

6) There is a parking space of length 4. Cars come and randomly choose any position to park over the interval [0, 4]. Each car occupies a space of length 1. Calculate expected number of cars that can park.

Thursday, 2 May 2013

Mylikes Coding Test

Mylikes is a content and social advertising platform. It is similar to Google Adsense, but promises to have a patented algorithm for targeted advertisements. It visited IITB and the following questions were asked in it's 1 hour pen-and-paper based test.

1) Find output of a C++ program: It was based on classes, so good knowledge of classes in C++ was required.

2) Find output of a C++ program: It was based on recursion in functions and function calls, so knowledge about functions in C++ and recursion was necessary.

3) Given that you have a million URLs, give a method to store them so as to retrieve a URL efficiently.

4) Insert commas into at appropriate positions in a number and rounding the number also, represented in the form of a string. Try to make sense of the question from the following test cases
Ex: "100.23632" -> "100.24"
      "10000" -> "10,000"
      "1000000.1234" -> "1,000,000.1234"

Follow up: Write code in such a way that positions where you put commas can be placed as per Indian currency system (instead of US system). I think the follow-up was to see whether you were able to write code that was easily generalized to Indian as well as US comma systems.

5) Given 2 strings a, b, check whether b is a postfix of a that is a ends with b.

6) Find all permutations of a string.