Pure Storage - Rejected
Summary
I interviewed at Pure Storage, completed a concurrency design question and an unordered‑set coding round, but was rejected after the first two rounds.
Full Experience
Hi guys,
I gave interview for pure storage.
Was sent a rejection email after the first 2 rounds.
First Round
This was a more theoretical round about concurrency and other concepts of multi threading and handling parallelism. The interviewer was interested in how you approach problems with high concurrency.
Question -
Given a system that has one event and multiple listeners, design and implement a mechanism for the listeners to hear about the event. We want to implement a callback mechanism that allows listeners to register a function that will be invoked when the event fires. The API functions are register_callback and event_fired.
event_fired()
|
|
----------------------------------------------------------------------------->time
| | cb1() |
| | cb2() |
register_callback(cb1) register_callback(cb2) cb3() register_callback(cb3)
2nd Round - Coding Round
Implement an unordered set. The value of elements will be 0 to n - 1 where n is the size of the set.
Interview Questions (2)
Design Callback Mechanism for Event Listeners
Given a system that has one event and multiple listeners, design and implement a mechanism for the listeners to hear about the event. Implement a callback mechanism that allows listeners to register a function that will be invoked when the event fires. The API functions are register_callback and event_fired.
Implement Unordered Set
Implement an unordered set where the values of elements range from 0 to n‑1, with n being the size of the set.