- Berkeley DB provides the basic architecture for a key value store.
- Indeed's architecture would give some idea on LSM (converting random updates/writes to sequential writes).
- ForestDB provides details on couchbase architecture along with SSD optimizations.
- LevelDB, RocksDB, WiredTiger are some of the others to look at.
Monday, 25 September 2017
Key-Value stores (B+ trees, LSM)
Coding interviews
From my experience of being a systems software engineer I feel one needs to be always ready for a coding interview, since you don't know when there is an new opportunity/layoff. More the experience, more you need to prove that you are a hands-on person in any technical interview along with strong domain/product expertise. My main experience is into C/C++, storage stack, network stack, Unix/Linux kernel. I found the following coding interview book quite good, along with this algorithms book by Cormen should get you started. Just read through the pseudo code available in Cormen to refresh your memory and then the coding interview books. I would recommend code some/all of the questions on paper/PC (for any skype interviews). Before the interview keep yourself calm which helps to be creative during interviews. The coding interview preparation should get you some of the ideas which helps you in the interview instead of reinventing the wheel for every question during the interview process.
Elements of Programming Interviews - by Adnan Aziz (Author), Tsung-Hsien Lee (Author), Amit Prakash (Author)
http://elementsofprogramminginterviews.com/
Other books I recommend are
Typical coding questions asked in an interview from my recent experience are (If you know of one solution try to know multiple solutions).
1) Print a binary tree print level by level.
2) Mirror image of a binary tree
3) Intersection of two single linked lists, find the intersection point
4) Print a two dimensional array in spiral form.
5) Find duplicate numbers in an array
6) XOR two unsigned integers without using bitwise xor operation.
7) How do you implement a buffer cache (typical answer from "Design of Unix operating system" by Maurice Bach).
8) Egg drop puzzle
9) bee running between two moving in trains
10) find a value in a rotated sorted array
11) reverse a linked list
Subscribe to:
Posts (Atom)