### Microsoft Interview - 4

Q1. IF the Fibonacci series is 1,2,3,5,8,13,.....
then 10 can be written as 8 + 2 ==> 10010
17 can be written as 13 + 3 + 1 ==> 100101

Q2. I have a file in which there are supposed to be 4 billion numbers,
starting from 1 to 4,000,000,000 but unfortunately one number is missing,
i.e there are only 3,999,999,999 numbers, I need to find the missing
number. In this question he asked me concepts like fopen, what will be the
size of such a file and how such a big file will get loaded into RAM,
and also concepts of logical/virtual/physical memory and memory paging.

Q3. I have an array consisting of 2n+1 elements. n elements in it are
married, i.e they occur twice in the array, however there is one element
which only appears once in the array. I need to find that number in a
single pass using constant memory. {assume all are positive numbers}
Eg :- 3 4 1 3 1 7 2 2 4
Ans:- 7

Q4. There is a temple, whose premises have a garden and a pond. It has 4
idols, each of Ram, Shiv, Vishnu and Durga. The priest plucks x flowers
from the garden and places them in the pond. The number of flowers
doubles up, and he picks y flowers out of them and goes to offer it to
Lord Ram. By the time he reaches to the pond, he finds the remaining
flowers also have doubled up in the meantime, so he again picks up y from
the pond and goes to Lord Shiv.This process is repeated till all the Gods
have y flowers offered to them, such that in the end no flower is left in
the pond. Find x and y.

Q5.There is a central server and some clients connected to it. All the
changes made to data occur at the server, and all the clients have just
read access. You have two options:-
1. Push :- The server keeps pushing data to the clients.
2. Pull :- The client keeps requesting the server to send data.
What are the advantages and disadvantages of each type.
Design a system which uses both the push as well as pull strategy.

Q6.Implement atof function.
Write solid secure code only.

Q7. Find the first unrepeated character in a string of English language in O(n).

Q8. Difference between a 32-bit OS and a 64-bit OS.
Some questions on address space and fetch cycles/ Instruction Set of a
processor.