Skip to main content

Posts

Showing posts with the label Misc

Consistent Hashing

I will try to explain consistent hashing with a real world example. Let's assume I have a restaurant with 60 tables and 5 servers (waiter). Each server is given an equal number of tables to serve. Now let's assume we have addition of a new server (waiter), so his addition will be marked in the circle and he will be receiving tables from the previous server to his distance only. Check the attached example. Assume a server (waiter) has left the organisation and we have only 4 servers now. Server3 has left the restaurant, so his table will be assigned to server 4. I am sure you have noticed the load is not equally distributed. But to make the system less prone to addition/removal we just rotate in clockwise and assign range from the previous server to present server.  To make sure load is balanced or optimally balanced we need to use virtual nodes. Check links here: http://tom-e-white.com/2007/11/consistent-hashing.html https://www.toptal.com/big-data/...

Trie

62. Find largest word in dictionary. 63. display all word in dictionary with starting char “ab”. 64. Find a element in an array with indefinite length. 65. Find the size of indefinite length array. Note all elements are initialized with @. 66. Find which rows is having maximum zeroes. 1 1 1 1 0 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 Once a rows got a zero there wont be any more 1’s. 67. In a matrix where each row and each column is sorted, find a number in o(1). 68. Find a element in bitonic array. Bitonic array first increase and decrese or vice versa. 69. Find a element in a rotated sorted array. 70. Find whether X is majority element in an array.