Design dynamic weighted random sampling with updates | Citadel Interview Question