# Audarya Uttarwar
- Python, Javascript
- Mongodb, Psql
- Messaging Queue - Kafka
# Question 1:
array = [1, 2, 3]
1, 2, 3
1, 3, 2
2, 1, 3
2, 3, 1
3, 1, 2
3, 2, 1
```python!
def getCombinations(arr, n, l):
if l == n:
print(arr)
else:
for i in range(l, n):
arr[l], arr[i] = arr[i], arr[l]
getCombinations(arr, n, l+1)
arr[l], arr[i] = arr[i], arr[l]
arr = [1,2,3]
getCombinations(arr, len(arr), 0)
```
# Question 2: Database Design
- User Service
- Chat service
- one to one chat
- text exchange
- list of conersations.
- list of messages.
- user
- user_id (PK)
- username
- groups
- grp_id (PK)
- grp_name
- metadata
- group_members
- membership_id (PK)
- grp_id (FK)
- user_id (FK to user)
- role (member, admin, etc..)
- metadata
- conversation
- id (PK)
- grp_id
- msg_id
- metadata
- messages
- id (PK)
- grp_id (FK)
- conv_id (FK to conv.id)
- sender_id (FK to user)
- message
- metadata