glovo logo

Glovo Interviews

1 experience27 reads
Glovo || software engineer 2 || barcelona
glovo logo
Glovo
software engineer 2barcelona
November 28, 202527 reads

Summary

I participated in a live coding round for a Software Engineer 2 role at Glovo in Barcelona, where I was tasked with solving a complex data structure design problem involving dinner plate stacks.

Full Experience

I had a live coding round for the Software Engineer 2 position at Glovo in Barcelona. The problem presented was 'Dinner Plate Stacks', which required me to design and implement a data structure to manage stacks of plates with specific push, pop, and popAtStack operations. The round focused on providing a working solution with test cases, and I concentrated on the logic and implementation details for each method, considering the constraints and edge cases.

Interview Questions (1)

Q1
Dinner Plate Stacks
Data Structures & Algorithms

Problem Description

  • Design and implement a data structure to simulate stacks of dinner plates arranged in piles.
  • Each pile can hold a fixed number of plates (capacity).
  • When pushing a plate, it should go onto the leftmost pile that is not full.
  • When popping a plate, it should come from the rightmost non-empty pile.
  • You can also pop a plate from a specific pile by index.

API or Method Signatures

public void push(int val) //Pushes a plate with value `val` onto the leftmost pile with space.
public int pop() //Pops and returns the plate from the rightmost non-empty pile.
public int popAtStack(int index) //Pops and returns the plate from the pile index.

Constraints

  • Capacity is a positive integer.
  • Index in popAtStack may refer to a non-existent or empty pile.
  • If no plates are available to pop, return -1.
  • There is no limit on the number of plates

Example Input/Output

DinnerPlateStacks stacks = new DinnerPlateStacks(2);
stacks.push(1);
stacks.push(2);
stacks.push(3);
stacks.push(4);
stacks.push(5);
// The stacks are now:  2  4
//                      1  3  5
//                      ﹈ ﹈ ﹈
stacks.popAtStack(0);  // Output: 2
// The stacks are now:     4
//                      1  3  5
//                      ﹈ ﹈ ﹈
stacks.push(20);
// The stacks are now: 20  4
//                      1  3  5
//                      ﹈ ﹈ ﹈
stacks.push(21);
// The stacks are now: 20  4 21
//                      1  3  5
//                      ﹈ ﹈ ﹈
stacks.popAtStack(0);  // Output: 20
// The stacks are now:     4 21
//                      1  3  5
//                      ﹈ ﹈ ﹈
stacks.popAtStack(2);  // Output: 21
// The stacks are now:     4 
//                      1  3  5
//                      ﹈ ﹈ ﹈
stacks.pop();          // Output: 5
// The stacks are now:     4 
//                      1  3 
//                      ﹈ ﹈ ﹈
stacks.pop();          // Output: 4
// The stacks are now:      
//                      1  3 
//                      ﹈ ﹈ ﹈

PS : goal is give a working solution with test cases

Have a Glovo Interview Experience to Share?

Help other candidates by sharing your interview experience. Your insights could make the difference for someone preparing for their dream job at Glovo.