---
# System prepended metadata

title: Rashmi Agrawal | 5.5 yrs exp

---

# Rashmi Agrawal | 5.5 yrs exp
- Java, Python
- MySQL, Dynamodb
- Able to solve ds/algo problem. 
- Good with db design.
- Overall - 7/10

# Question 1: Find the 2nd largest number in an array.
```java=



int arr[] = {8,6,5,1,3};
n=5;
int max = -999, swap_index;

for(int j=0;j<2;j++){       
    for(int i=j;i<n;i++){
        if(arr[i]>max){
            max = arr[i];
            swap_index = i
        }
    }
    int temp = arr[j]
    arr[j]= max;
    arr[swap_index] = temp
}
return arr[1];

j = 0
i = 0
    max = -999

```

# Question 2: Find the max sum in an array. 
- pick ith index number, cannot pick i-1th and i+1th index number in the sum.

[1, 2, 3, 4, 5] - (1, 3, 5) = 9
[1, 2,-3, 4, 5] - (2, 5) = 7
[101, 110, 13] 


int arr[] = { 1,2,3,4,5}
n=5;
max=0;
for(int i=0;i<n;i++){
    int sum = checkSum(arr,i,n)
    if(sum > max){
        max = sum;
    }
}
return max;

checkSum(arr,i,n){
    int sum = 0;
    for(int j=0;j<n;j++){
        sum += ((i==0 || i-1!=j) && (i==n-1 || i+1!=j)) ? arr[j] : 0;
    } 
    return sum;
}


# Question 3: 
[1, 2, 3, 4, 1, 2, 1, 3, 1, 2, 3, 3]

MaxWeight = 5Kg
[1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 4]



# DB design : 

- user service is already there. 
- task service.
- 

- create a task,(subtask) descriptions, files, dates.
- Assign the task to users. (many to many).
- track the status of assigned task/subtask.(ENUM - pending, complete, not_started)


T1, s1, s2, s3
U1, U2, U3

Task Table
task_id subtask_id desc file date
T1 s1 xyz
T1 s2 abc
T1 s3 def

Assignment
task_id user_id status
t1 s1 U1 pending
t1 s2 U1 pending
t1 s3 U1 pending
t1 s1 U2 pending
t1 s2 U3 pending
t1 s3 U3 pending