For those who directly want to know the interview details, topics and main points, you can directly skip to the Round 1 section, but for those who want to experience this ride with me on this journey from Drupal to Glovo, stay, it will be short and definitely, I will try not to bore you a lot 😉.
A quick intro about me, I'm PK, as of June 2021 was working with Selectra, as Technical Lead with expertise in Drupal. I was too much into Drupal and enjoyed every bit of it. For the last 6 yrs, I was working with Drupal, the journey was going great and quite comfortable, I had an amazing journey in Drupal.
It was a good experience moving abroad in 2020, especially in the COVID times. I was fortunate and unfortunate both at the same time. But finally arrived in Madrid in Oct 2020, thanks to Selectra. It was all going great, at least professionally ✌. I was trying in good product companies, as someone said Amazon Madrid can be easy compared to India, I tried in that as well, got rejected in the first coding round itself 😛, later realized that probably I was too nervous cause I didn't even give my 50% in the test, and definitely the problem statement was hard too. But soon after I got a mail reading "Interview at Glovo". I was already studying and improving my programming skills, so I thought let's try again. I got round 1 scheduled with the Technical Recruiter.
Round 1: Initial Screening
This round is about introduction, background, communication check probably and some technical questions around basic data structures, searching and sorting algorithms and time/space complexities. Basically checking the alignment of the candidate with the job profile and expectations.
So keep it simple and to the point. If you match the expectations of the Job profile, you will be moved to the next round which is Live coding. Now probably the order and number of rounds might vary depending on the team, but I am sharing the one that was followed for me.
Round 2: Live Coding
The good part about Glovo interviews was that they always shared a preparation guide detailing the next round, almost covering all the details. For the coding round what is the syllabus, how would they test your skills and what exactly are they gonna see, all of these details were there in the guide document which I would say actually helped me a lot. So, they were looking for data structures and algorithms, as most of the big and good companies look for in the candidate. I was definitely nervous as I thought this will be the toughest round. I always took the last slots for the next round while scheduling 😝. And that also helped me, in fact fortunately due to some reasons this round was rescheduled 2 times for me which helped me prepare better. So, I prepared the following topics:
- Data Structures like Array, Stack, Queue, LinkedList, Binary Tree, Graph, Heap, Trie, Hash Map. Insertion, search, deletions and important programs, relevant to these data structures like Heapify. Refer to https://www.geeksforgeeks.org/
- Algorithms
- Searching
- Linear, Binary, Jump, Interpolation, Exponential Search
- Sorting
- Selection, Insertion, Bubble, Merge, Quick and Heap Sort
- Priority Queue
- Graph Algorithms
- Dijkistra
- Kruskal
- BFS / Shortest Path
- Searching
- String-based programs
- Count-min sketch and Bloom filters
Few relevant links that I followed (sorry the list is not ordered):
https://www.geeksforgeeks.org/dijkstras-shortest-path-algorithm-greedy-algo-7/
https://www.hackerrank.com/challenges/ctci-bfs-shortest-reach/problem
https://www.hackerrank.com/challenges/tree-height-of-a-binary-tree
https://www.hackerrank.com/challenges/tree-level-order-traversal
https://www.hackerrank.com/challenges/balanced-brackets
https://www.hackerrank.com/challenges/contacts
https://www.hackerrank.com/challenges/find-the-running-median
https://www.hackerrank.com/challenges/swap-nodes-algo
https://www.youtube.com/watch?v=HqPJF2L5h9U
https://www.youtube.com/watch?v=A03oI0znAoc
https://www.youtube.com/watch?v=ibxXO-b14j4
https://www.youtube.com/watch?v=Bay3X9PAX5k
Three questions were asked in the programming round of Easy - Medium complexity around the string, array, stack implementations and the time period was 1.5 hrs. Programming Language ... of course does not matter, and they would initially look for your approach to the problem and then the coding part. Besides, they were also interested in Test Driven Development and hence unit tests.
I managed to pass through this round, it was a good experience, I was expecting it a bit tougher but that's good. Now I became more serious about the job opportunity. While I thought that the most important part I have crossed, I realized later that the story was different. So, the next round was scheduled and yes the preparation guide reached me with all the details.
Round 3: Technical Interview
For this round, I strictly followed the subject shared which was around Distributed Systems, Software Development, CS Fundamentals, Concurrency, OS Scheduler, Relational database vs NoSQL, Fundamentals & workings of languages. The document in fact was quite detailed, I'm not sharing the sub-topics over here. Apart from this I also added some more relevant topics like OSI Model, Microservices, Design Patterns, Blockchain, Semaphores, REST APIs, ACID and normalization. It was like I was back to college, preparing for the major exam. I was enjoying it. As I was not having a clear picture of the next rounds, I even included System Designs like Chatting App.
And the day came ... boom it started with as you probably have already studied these topics, let's talk about something else 😝. It was an again amazing experience, here I was benefited from the study I did for the coding round. We talked about Caching and in very much deep, it was like I was designing on the call itself. Only 10-15 % of the discussions were around the topics that I had prepared. But I would still say that covers all the topics which are there in the preparation guide. As you know the interview is 50% hard work, 50% luck, we should always do our part of the job.
🤞 I managed to perform fine and was moved to the FINAL stages which were a mix of 3 following rounds. And again the preparation guide arrived with the details. I would say Glovo Interviews were very much organized.
Round 4, 5 & 6: Application Design, System Design and Behavioural
For this round, I prepared even more. I collected the topics to study from youtube:
https://www.youtube.com/watch?v=UzLMhqg3_Wc
https://www.youtube.com/watch?v=xpDnVSmNFX0&list=PLMCXHnjXnTnvo6alSjVkgxV-VH6EPyvoX
You will pretty much find all the topics on youtube to study. Additionally, revise all the things studied till now.
And after covering these topics, follow some system design videos like Messaging / Chat Service, Video Platform, Music Streaming. Also, study low-level design of these besides order management, bike rental system and all.
One more link which was very useful: https://www.freecodecamp.org/news/understanding-database-scaling-patterns/
this one is in general an awesome post to read. And don't forget API Design, Deployment Strategies.
Basic UML knowledge and google diagrams, try it once before the interview, will be very helpful.
Again I'm not sharing what exactly was asked over here, but this would pretty much help you a lot.
Behavioural I would say is about scenario-based questions, don't take it lightly. But if you have good experience working with teams, it won't be difficult for you.
So, finally after these 3 final rounds, another call was scheduled and I still remember the words, that we usually do this call to notify that sorry you are not selected, but fortunately for me, it was like you managed to survive and PASS. They gave detailed feedback, on the performance across different rounds, I performed decent, fine and good... to finally get into Glovo.
I was definitely very happy. The whole process took around 3 months for me and then 4-5 months for the work permit and all.
Wish you all the very best and thanks for reading the post, I hope it helps you 👍.
Comments