Implement Multi-Head Self-Attention | Uber Interview Question