(This question has been seen in the interviews of the following companies: Facebook)
Implement a ring buffer
class RingBuffer: def __init__(self, capacity): self.size = capacity self.capacity = 0 self.Buffer = [None] * capacity self.Head = 0 self.Tail = 0 def full(self): return self.size == self.capacity def empty(self): return self.capacity == 0 def add(self, obj): self.Buffer[self.Tail] = obj self.Tail = (self.Tail 1) % self.size Self.capacity = 1 def pop(self): self.Head = (self.Head 1) % self.size Self.capacity -= 1 return self.Buffer[self.Head - 1]
Get one-to-one training from Google Facebook engineers
Learn from Facebook and Google senior engineers interviewed 100+ candidates.
Most recent interview questions and system design topics gathered from aonecode alumnus.
One-to-one online classes. Get feedbacks from real interviewers.
Customized Private Class
Already a coding expert? - Advance straight to hard interview topics of your interest.
New to the ground? - Develop basic coding skills with your own designated mentor.
Days before interview? - Focus on most important problems in target company question bank.