# Search consultant Interview Questions

# 2K

Search Consultant interview questions shared by candidates### Question was asked: "If you were on an island and could only bring 3 things, what would you bring?"

59 Answers↳

1. Iron Man Suit. 2. Not necessary. I have an Iron Man Suit. 3. Not necessary. I have an Iron Man Suit. Less

↳

Michael Phelps, a saddle, and a gold medal on a stick

↳

1) A fully equipped and provisioned yacht, a nice 100 foot model, something I can land a helicopter on. 2) A helicopter to land on my yacht. 3) My lovely wife. Less

### Find the Kth hisghest element in a given array.

4 Answers↳

http://en.wikipedia.org/wiki/Selection_algorithm

↳

borrow the way of splitting array in quicksort, which can achieve O(n) time in average for any k. The more detail of this algorithm is: select a pivot value, and split the array into three parts. The elements in the first part are less or equal to the pivot value or empty, the second part is one element which is equal to the pivot, and elements in the last part is great them the pivot value or empty. If the index of the second part element is equal to k, then just return it, else if it is greater than k, then go to split the first part recursively, else go to split the third part recursively. Less

↳

binary tree would not work unless it was balanced and even then searching for the kth highest node would be overly complex. Better answer - Perform k iterations of a bubble sort. Run time would be O(kn). To prevent O(n^2) (k ~ n) reverse bubble sort if k > n/2. Less

### randomize an array.

3 Answers↳

just run the random funtion and replace elements.

↳

Use the Knuth shuffle: http://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle

↳

To perform perfect randomization of an array of elements there is a well known method (all n! permutations of the array are equally probable assuming a perfect random number generator) public static void randomize(int[] a) { int tmp, index; for (int i = 0; i < a.length; i++){ index = (int) (Math.random() * (a.length - i)) + i; tmp= a[i]; a[i] = a[index]; a[index] = tmp; } } Less

### In a given list of words, find matching words in the list that can be generated from the patterns of a given word.

2 Answers↳

just sort the letters of each word in the list and pattern and find what you need with a string compare. Less

↳

1.Get all the permutations of the given word and store them into a hashtable(O(k!), where k is the length of the given word), which can have constant look up time in average. 2. The go through the list of words (O(n), where n is the lengh of the list), to find the words that can also found in the hashtable. So, the total computation time is O(k! + n). If k is assumed a limited constant, then the time will be O(n), and hashtable can also be replaced by the prefix tree (trie). Less

### The most unexpected question I received was attempting to determine the usefulness of web search responses. This was in the qualification test and was not specific to the position advertised.

2 Answers↳

Yes it is compulsory. This will help you gain experience from the training.

↳

i applied for the job but s that compulsory that i need to complete all the training questions scoring 85% ive already receieved contract to confirm? Less

### List the strings that are anagrams from a set of strings?

2 Answers↳

Sorting the strings is not optimal because each sort is O(N log N) where N is the number of characters in each word. A more optimal solution is to create a function to encode each word as a hash table of character frequencies, which is O(N) for each word. Less

↳

sort the strings and compare

### Typical big tech interview with range of behavior/technical/analytical questions and more.

2 Answers↳

Any specifics? How technical does it get?

↳

Any specific technical areas to prepare for?

### There really were none. I was provided access to on-line material of about 100 pages to review / understand. Then about 10 pages of computer set-up. Then 2 sets of training periods (you are graded) This is supposed to be completed in about 5 days.

2 Answers↳

Their training system froze up half way through my 1st set. So, I have no idea how long the training for 1 set actually is. But, I was approximately 2 hours into just the one set. The training is an extremely detailed protocol of guidelines. When put to theory during testing there appears to be contradiction from one task to another. To complete tasks you have a few minutes to use subjective and objective thinking at the same. Less

↳

Can you disclosure the amount? how much you are paid per hour as a search engine evaluator in Mexico, Im very interested to know since Im thinking on applying Less