## Microsoft Interview Questions

- 0of 0 votes
1. If I say quick sort takes O(e^n ) on the average, would I be wrong?

2. Do you think O( f ) is a good idea for real engineering?

3.Given a choice, what other 'order of' measure would you propose to use ?

4. Do you see a real problem with the modified *order of* ?

5. If you were to sort 10 elements, what sorting method would you have used?

6. If you were to sort 1 trillion unicode characters, what sorting method you would have used?

- 0of 0 votes
The actual problem from question?id=6289136497459200

Implement pow, with :`// Assume C/C++, as of now double pow ( double x, double power )`

No library functions allowed.

Should return : x^power

=== Edit ===

People took it a bit trivially, thus examples should help :`x = pow ( 4, 0.5 ) // x = 2.0 x = pow ( 8, 0.333333333 ) // 1.99999999986137069 x = pow ( 10.1 , 2.13 ) // 137.78582031242644`

- 0of 0 votes
determine whether a word is in a stored list;

the list doesn't fit into memory;

no disk access allowed, for lookups, memory access only;

no false positives allowed, false negatives ok

- 1of 1 vote
A list of words is given and a bigger string given how can we find whether the string is a permutation of the smaller strings.

eg- s= badactorgoodacting dict[]={'actor','bad','act','good'] FALSE

eg- s= badactorgoodacting dict[]={'actor','bad','acting','good'] TRUE

The smaller words themselves don't need to be permuted. The question is whether we can find a ordering of the smaller strings such that if concatenated in that order it gives the larger string

One more constraint - some words from dict[] may also be left over unused

- 0of 0 votes
Suggest a data structure and implement efficient phrase search along with word search in a huge chunk of text.

- 0of 0 votes
Design a system for searching strings in files present on a fileserver under a directory. there won't be any sub-directories. There could be more than thousand/lakhs files. And the file size could be in GBs. The matching line should be written to a single file. user will execute grep "string"

The sub-questions are

1) Design where the application executes on single machine.

2) Design where the application can execute on multiple machine.

3) Where could be the potential bottleneck.

4) What component would be bottleneck if 50 cores and slow disk.

5) What component would be the bottleneck if we 4 cores and fast disks.

- 1of 1 vote
You have two very large numbers that cannot be stored in any available datatypes. How would you multiply them?

How would you multiply more than two numbers?

- 0of 0 votes
How will you implement a dictionary.

- 0of 0 votes
Design a monitoring system for hotel booking site. Proper oops design.

- 0of 0 votes
How do I solve this simple geometrical programming problem?

https://s32.postimg.org/sm75dimol/hurdle1.jpg

- 0of 0 votes
Given an array: 1,2,3 ,5,8,7,6,9,5,7,3,0,5

subarry:5,7

Find the subarray in the large array and return the minimum length and index where you can find the subarray. Note: that the subarray may be present in the large array non-contiguous.

In the above case : the answer is length = 2 and

index = 8

- 0of 0 votes
Suppose you have a matrix in the form of a 2 dimensional array. Write a method to read the rows of the matrix alternatively from right to left, left to right so on and return them as a 1 dimensional array.

for eg:

1 2 3

4 5 6

7 8 9

should return 1 2 3 6 5 4 7 8 9

- 0of 0 votes
how to restrict creation of object inside the function fun

although destructor and constructor is private??

#include <iostream>

class ABC

{

private :

~ABC()

{

}

ABC()

{

std::cout <<"ABC";

}

public:

static void fun()

{

ABC t;

}

};

int main()

{

ABC::fun();

}

- -1of 1 vote
Given a matrix which is spirally sorted. Remove an element and insert another element maintaining the sorted order.

- 0of 0 votes
Given two sets of strings A and B. Find the

(A-B) U (B-A) ( U = union ). The answer should be in lexicographical order and A’s elements should appear before B’s.

- 0of 0 votes
Given a few points in first quadrant – (x1,y1) …..(xn,yn) and given another set of points (a1,b1…..an,bn), determine whether all the points (a1,b1…an,bn) have already occured in (x1,y1)…..xn,yn)

- 0of 0 votes
Given a graph where every two nodes are either friends or enemies with each other. Find a way to go from one node to the other.

Restrictions:

1) You can also travel from one node to next if they are friends with each other

2) You have some “magic potions”. You can convert an enemy path to a friend path with a magic potion.

Find the path with min number of magic potions required.

- 0of 0 votes
You are given a structure msg

struct msg

{

long timestamp;

double price;

string label;

};

The msg represents price of a stock on a given timestamp.

Create a class with two functions -

addStockPrice(msg m) -> Used to add Stock Price in Data structure

getAvgPriceForAStockLast10Minutes(String stockName) -> Get average price of a stock for last 10 minutes.

The program should be time and space optimized.

- 0of 0 votes
Design and Implement: Producers and Consumer Problem. Producers produce different kind of messages and Consumers register themselves for different kind of messages. Need to design and implement Producer, Consumer and a Delegator which is responsible for storing and delivering the messages to appropriate listeners.

Changed the question to handle millions of messages.

Changed the question to handle different priority messages.

Threading model for Producer, Listener and Delegator.

In the end he asked me to code 2 methods of Delegator.

1: which adds the message from Producer to its internal queue.

2: Delegate, which delivers the message to appropriate listener.

- 1of 1 vote
This is a question I received in an online challenge.

A list of numbers are given. We need to find the total number of groups in which the digits of each number have same frequency.

For example if numbers are:

1

10

3

33

There are 4 groups:

G1={1}has one 1.

G2={3} has one 3.

G3={10}has one 1 and one 0.

G4={33}as two 3s.

- 0of 0 votes
Find out if there is cycle in Directed graph

- -1of 1 vote
Given billions of Rectangle, find rectangle with minimum area overlapping to a given point P(x,y)

There is a simple way to achieve answer in O(n) by processing each rectangle sequentially, but optimize it further provided large number of Rectangle array.

- -1of 1 vote
Given a circular array of images, in LandScape and Portrait mode. Bidirectional movement in array is allowed.

e.g.

LPPPLPPP

L-> Landscape

P-> Portrait

Cost of Viewing a Portrait image is Vp

Cost of Viewing a Landscape is (Rp(rotate) + Vp).

Cost of movement is -> m

once you visited the image viewing cost is zero if you revisit the image. Only movement cost is considered.

Jumps in array is not allowed.

Calculate the maximum number of images you can see with cost X.

- 2of 2 votes
Given a string e.g. ABCDAABCD. Shuffle he string so that no two smilar letters together.

E.g. AABC can be shuffled as ABAC.

- 0of 0 votes
Given a DNA sequence e.g. AAAGTAAGTAAGTGGG.....

Find all the duplicates with length 10.

- 1of 1 vote
what is the best sorting algorithm in terms of complexity and why?

- 0of 0 votes
Circular Queue - what it is ? and write a program for this

- 0of 0 votes
Circular Queue - what it is ? and write a program for this

- -2of 2 votes
I have an array of integer. That provides data to one of the UI screen. That UI screen can show at a time only one data. For each iteration on the array 3 elements get picked up however only the highest number out of those usually shows up on the UI.

{1,4,5,2,3,4,5,6} means if 1,4,5 picked up only 5 will be shown up on the UI

in next iteration 4,5,2, should be picked up.

next iteration 5,2,3

write a solution for this.

- -2of 2 votes
I have an array of integer. That provides data to one of the UI screen. That UI screen can show at a time only one data. For each iteration on the array 3 elements get picked up however only the highest number out of those usually shows up on the UI.

{1,4,5,2,3,4,5,6} means if 1,4,5 picked up only 5 will be shown up on the UI

in next iteration 4,5,2, should be picked up.

next iteration 5,2,3

write a solution for this.