Strand Life Sciences Interview | Set 1

Name – Saurav Kumar Singh
Course – Dual Degree (Computer Science & Engineering) IIT Delhi
Company- Strand Life Sciences
Visiting place- IIT Delhi
Date- 2nd December 2012 (second placement day)
Posting – Bangalore

2 Rounds

173 students participated in first round.

Round 1 (Written Test – 1 Hour)
1) question based on conditional probability

2) To prove that 1+ 3 + 5 + …..+ 2n-1 = n^2 , without using induction

3) Nut – Bolt problem- there are n nuts and n bolts and we have to mach every nut bolt pair efficiently. two bolts or two nuts cant be compared. But for one bolt and one nut it can be said that bolt is undersize or oversize or exact fit for the nut. ( O(nlogn) solution expected)

4) given the design of physical square root calculator. Give the explanation how does it work. ( I can give more details of this question is you want)

5) There are two vessels of capacities “a” and “b” respectively. We have infinite water supply. Give efficient algorithm to make exactly 1 liter of water in one of the vessel. you can throw all the water from any vessel any point of time.

6) Given 3 rubber bands and you have to entangle these bands in such a way that if you cut any of the 3 bands, other two rubber bands get free. Draw diagram for 3 bands. Also give methodology for “n” rubber bands.

I scored 87/100 in first round and was one among the 5 shortlisted students from 173 students participated in first round.

Round 2 ( personal interview – 2 hour )

1) There are n points in 2-D space. Give an efficient algorithm to output all the quadruples which form square.

first i gave crude solution of O(n^4) to check all the quadruples whether they form square or not. then i modified my solution to check for 3 points whether they can form the square of not and if they can form they make sure that 4th point exist or not. To check the existence of 4th point i suggested Hashing. Then they asked the next question

2) How is HashMap implement in java internally. Means what hash function does java use internally. Both in case of integers and in case of other objects. I answered this question correctly (Hashcode)

3) for the first question they asked me to use binary search to search for the 4th point. Asked me about the comparator to sort the points. Finally i gave O(n^2logn) solution to first question. because we need to consider only 2 points and check for other 2 points using binary search.

4) Asked to code every thing for first question from scratch to check my coding skills

5) Given a statement with space omitted ( e.g. “thisisatest” for “this is a test”). You are given a function isWord(String input) which check whether a word is correct dictionary word or not. You have to print all the valid statement which can be formed from given string with space omitted.
Initially I gave recursive solution for the problem which was correct. They asked me to given dynamic programming solution for the question. Finally i gave a dynamic program for the same.

6) why dynamic programming is preferred over recursive solution?