# Saurabh Kumar
- Java, C++, Python
- Poor db design
- Unable to write DS/Algo code
# Question 1: Db design
- User service -
- chat service.
- DM -
- channels
- Workspace
- text message (k:M)
user table
id can be userId or channelId
messages(id1,id2,time,message)
lastMessages(id1,id2,lastUpdated,isChannel)
channel(id,[user_id])
wk(id,company_name,[channel_id],[user_id])
for getting data for top 10 dms
sort based on lastUpdated AND isChannel == False limit 10
for getting data for top 10 recently used channels
sort based on lastUpdated and isChannel == True limit 10
# Question 2: Find the max sum in an array.
- every ith index number, cannot pick i-1th index number and i+1th index number
[1, 2, 3, 4, 5] - 9 (1, 3, 5)
[1, 2,-3, 4, 5] - 7 (2, 5)
find(ar,int start,int end,int sum){
if(start>=end) return sum;
return max(sum+ar[start]+find(ar,start+2,end,sum+ar[start]),sum+find(ar,start+1,end,sum));
}
1
2 3
3 4 4 5
4 5 5 5
5