Sanjay Kumar
BAN USEREvery thing is written in resume.
Sanjay Kumar. NIT Jamshedpur(CSE), C Developer
AMDOCS INDIA PRIVATE LIMITED, Pune.
Mail – Id : sanjay.2812@gmail.com
Contact No : 09049457250 / 9570592119
PROFESSIONAL SUMMARY
Around 3 year 0 months of professional IT experience.
Have experience in development of C integrated with ProC, UNIX, SQL, PLSQL, Shell Scripting .
Good knowledge of Software Development Life Cycle
Ability to work in teams and handle wide range of tasks.
ACIEVEMENTS
Appreciated for quick learning, development and handling various responsibilities by the GL, PM, DI and VP.
Also appreciated by the client for in time deliveries with perfection.
TECHNICAL SKILLS
Languages/Packages C, UNIX, SQL, PLSQL, Shell Scripting, Data Structure, Algorithmes, C++ (Basic)
Operating Systems Windows, Unix, Linux
Databases ORACLE 9
EMPLOYMENT DETAILS
Employer Designation Period
Amdocs Senior Subject Matter Expert Jul 2008  till date
Academic Qualifications
Year Standard/Degree Board/University Percentage/CGPA
20042008 B.Tech. (CSE) N.I.T. Jamshedpur 7.83
2002 10+2 CBSE 80.2 (PCM>91.3)
2000 10th CBSE 74.8
Currently working in Amdocs DVCI, Pune
Project : Amdocs Ensemble AR
Domain : Telecom
Technology Used: C integrated with ProC, Cobol, UNIX, SQL, PLSQL, Shell Scripting
Client : Sprint, Metro, Mobilicity.
JOB Descriptions:
Development and Production Support of AR & Collection (Account Receivable) module of Ensemble(product of Amdocs), for all the three clients (Sprint, Metro, Mobilicity) simultaneously. AR is the core module of product maintain all the details/financial activity on an account and make decision on which account will go for the collation.
Currently worked on Migration of AR module from Cobol to C, and change of platform from HP Unix to Linux. It all involves the effort in coding, debugging and testing of module having around 350 batch JOB's.
NIT Jamshedpur Project.
Underwent a Vocational Training of one month at B.S.N.L. Jamshedpur Telecom District in following units:
GSM Mobile, Broadband , CDMAWLL, OFC, Fixed Line Switching, PCM System.
PERSONAL INFORMATION
Date of Birth 15th Dec 1983
Gender Male
Marital Status Single
Passport No G5475322
Languages Known English, Hindi
Contact No. 09049457250
Email Id sanjay.2812@gmail.com
Present Address Cosmos, Block H, Flat no: 302 ,Magarpatta City, Pune, MH
Declaration: I hereby declare that all the relevant information mentioned here is true to best of my knowledge and belief.
Date:………….. Sanjay Kumar
Place:………….
 0of 0 votes
AnswersIf A and B, two integers are given.
 Sanjay Kumar in India
compute A/B.
Ex. 2/5 > Ans should be 0.4
225/1000 > Ans should be 0.225
22/7 > Ans Should be 3.(142857) where 142857 are repeating decimal Report Duplicate  Flag  PURGE
Amazon Software Engineer / Developer Coding  0of 0 votes
Answersthere is n node graph, each node having only one root. All nodes are labeled in a random order from int 0 to n1
the graph is represented in a array format such that the value in the array at index equal to child node label is root node label.
For root assume the value is 1.
Ex.3 4 1 2 0 5
the array is
 Sanjay Kumar in India
value : 1, 3, 3, 1, 3, 1
Index : 0, 1, 2, 3, 4, 5
Find the hight of graph. I have given an answer in O(n^2)
follow up question, if you dont have any restiction on space reduced the time complexity. Report Duplicate  Flag  PURGE
Amazon Systems Design Engineer Data Structures  0of 0 votes
AnswersSuppose you have given a 10 digit mobile number (9903457235). Each digit in the number have 3 letters in mobile keypad. find/print all words which can be created by corresponding letter against digit given.. Total 3^10 words, I need complete recursive function.
 Sanjay Kumar in India Report Duplicate  Flag  PURGE
Microsoft Software Engineer / Developer Arrays  0of 0 votes
AnswersFind the number of nodes in a singly link list, it can be both cyclic and acyclic
 Sanjay Kumar in India Report Duplicate  Flag  PURGE
Amazon Algorithm
that is the point. how to do it.
 Sanjay Kumar August 08, 2012I am not sure about that. can you please explain the logic in words.
Also can it handle 22/700 or 22/70000
For 22/700 Ans should be 0.03(142857)
your solution will give wrong output for example 2.
what if its not getting repeated from 1st digit after the decimal
Check your solution before posting..
 Sanjay Kumar August 07, 2012And How Does it suppose to handle the element repeated ..
 Sanjay Kumar August 06, 2012Take two pointers A at start and B at the end.
a. Transverse through the array and find out the min max ,sum of array and number of elements.
b. check the possibility of the array is consecutive i.e sum of integers upto MAX element  sum of integers up to MIN1 is equal to sum of array using N(N+1)/2. If yes check Digits are non repeating. If yes store the indexes and count of sub array and do A++. Else do B. Sum = SumB. if B is not MIN or MAX nothing to do else look for MIN and MAX between A and B.
repeat the step B until it reached A + Max array length found..
Do A++, B=length of array
Slight Modification.. Not only less then.. you have to push element less then and equal to.
 Sanjay Kumar August 05, 2012use a stack or braces. for open push, for close and corresponding one pop.. at the end of expression if stack is empty.. expression is valid else not..
 Sanjay Kumar July 24, 2012Yes I thought about both the approach.
But this approach internally build a stack. Not sure but explicitly we are not declaring any variable/stack, so its fine according to the question.
1 suggestion why don't use static node *left instead of node **left ?
correct...
 Sanjay Kumar April 20, 2012take 3 variables for each type of brackets initialize to 0, for open one do ++ for close one do  and whenever the value become negative. Not a possible expression, and also after every operator there should not be an operator. after the end of expression check each variable is zero.
 Sanjay Kumar April 20, 2012I think sum and multiplication of rows and columns should be constant. value you can calculate. and all values should be between 19
 Sanjay Kumar April 05, 2012I am not sure Tom but this is for appstore SDE Bangalore India. I already had F2F interview long before, don't know the final result..
 Sanjay Kumar March 27, 2012O(n) for intersection and then n(logn) for finding out the height.. good solution.
 Sanjay Kumar March 20, 2012how it will be O(n) suppose you have node 6 link to 2 so what will happen... or if we have a bigger graph then what..??
 Sanjay Kumar March 20, 2012this solution work only for this example what if node with label 2 will have a child with value 6.
your solution will result 4 but the ans is still 3
long Convert_number(chat *a,int size)
{
long Number=0;
for(int i=0;i<size;i++);
number= number*10 + (a[i]'0');
return(number);
}
Initially the tillnow array should be initialised to spaces, *A is array of number given, mrt is 2D array
containing the structure of keypad.
void print_word(char **mtr,int *A,char *tillnow,index)
{
int i;
for(i=0;i<3;i++)
{
tillnow[index]=mtr[A[index]][i];
if(index==10)
printf("%s\n",str);
else
print_word(mtr,A,tillnow,index+1);
}
}

Sanjay Kumar
March 04, 2012 Please find the below code written in C.
Assuming the volume of jug is 100 and we have stack of 10 level.
I have take the parameters as static. this is only concept,
#include <stdio.h>
int main()
{
int x=10, y=10;
float arr[x][y];
float volume=100; int i,j;
for(i=0;i<x;i++)
{
for(j=0;j<y;j++)
arr[i][j]=0.0;
}
for(i=0;i<x;i++)
{
for(j=0;j<y;j++)
{
printf("%.1f ",arr[i][j]);
}
printf("\n");
}
printf("\n \n \n");
arr[0][0]=volume;
for(i=0;i<y1;i++)
{
for(j=0;j<=i;j++)
{
if(i>x1  j>y1)
continue;
if(arr[j][i]>1.0)
{
arr[j][i+1]+=(arr[j][i]1.0)/2;
arr[j+1][i+1]+=(arr[j][i]1.0)/2;
arr[j][i]=1;
}
}
}
for(i=0;i<x;i++)
if(arr[i][y1]>1)
arr[i][y1]=1;
for(i=0;i<x;i++)
{
for(j=0;j<y;j++)
{
printf("%.1f ",arr[j][i]);
}
printf("\n\n");
}
return 0;
}

Sanjay Kumar
March 02, 2012 A little suggestion. we need to create mean heap of size k only and find out the largest element in heap O(n) + O(nlogk )
 Sanjay Kumar March 02, 2012compute the distance and insert into k mean heap O(nlogk)
 Sanjay Kumar February 23, 20121st.. if its a complete tree then there is only on possibility....
2nd we need sum of their descendents (sub tree) which not include the value of node, if it is like so, we are either gonna increase the size of resultant tree by one level or leaf never gonna 0,
please comment.
the above solution is O(nlogn)
below is the solution in the O(N)
node * func1(node *root) {
node* root1=new node;
root1>value=0;
if (root>left!=NULL)
root1>left=finc1(root>left);
if (root>right!=NULL)
root1>right=finc1(root>right);
if(root>left==NULL && root>right==NULL)
root1>value=0;
else if(root>left!=NULL && root>right==NULL)
root1>value=root1>left+root>left;
else if(root>left==NULL && root>right!=NULL)
root1>value=root1>right+root>right;
else
root1>value=root1>right+root>right+root1>left+root>left;
return(root1);
}
simple function can do the work.. transverse through the original tree ..
node * func1(node *root) {
node* root1=new node;
root1>value=0;
root1>value=sum(root);
if (root>left!=NULL)
root1>left=finc1(root>left);
if (root>right!=NULL)
root1>right=finc1(root>right);
return(root1);
}
use a queue and a stack..
1. push the root in queue in order of left and right with level information..
2. while dqueue check if level is even, inqueue the child with lvl+1 in queue and print the element.
3. if level is odd inqueue the child and push the element in the stack untill the lvl changes..
4. pop until the stack is empty and print the element.
call through inorder recursion and return (root>left root>value root>right)
 Sanjay Kumar February 21, 2012Also addition in question... for me its find all the pair of nodes which sum up to given value..
 Sanjay Kumar February 19, 2012no its not possible... its not always like that the mirror node some up to the resultant value... and using recursion you cant pop one node from memory stack... you have to do it both at a time..
so this approach is wrong
I had been asked the same question... First I told the shorted array concept.. the interviewer agreed with that then he asked me to do without extra space .. he agreed on the concept to change the structure of tree and convert the tree to doubly link list...
 Sanjay Kumar February 19, 2012One lil hint I can give about shifting left and right.. rest you can search on google.. I learned like that only..
in numbers Right shift by 3 ( n >> 3) mean dividing n by 2*2*2
in binary if n = 00100011 n>>3= 00000100
in numbers left shift by 3 ( n << 3) mean multiplying n by 2*2*2.
in binary if n = 00011000 n<<3= 11000000
Ke solution is more perfect, I should have realized in both the cases XOR will work. no need to check even and odd..
 Sanjay Kumar February 09, 2012shifting n right by m1 bit will bring mth bit at lease significant position.
If the resultant number is even then mth bit is 0, OR with one will alter the bit. that in in the IF part.
else the resultant number is odd , XOR with 1 will alter the bit.
yes we can do it...
In first parse make the clone of the original linklist. Along with this we need to create 2 tables..
1  Address of original node , Corresponding Clone node..
2  Original node , random node pointer
In the 2nd parse first check the first node is which random node from table 2, find the corresponding node in clone linklist from table 1. link the result to corresponding node in clone link list.
yes we can do it...
In first parse make the clone of the original linklist. Along with this we need to create 2 tables..
1  Address of original node , Corresponding Clone node..
2  Original node , random node pointer
In the 2nd parse first check the first node is which random node from table 2, find the corresponding node in clone linklist from table 1. link the result to corresponding node in clone link list.
yes we can do it...
In first parse make the clone of the original linklist. Along with this we need to create 2 tables..
1  Address of original node , Corresponding Clone node..
2  Original node , random node pointer
In the 2nd parse first check the first node is which random node from table 2, find the corresponding node in clone linklist from table 1. link the result to corresponding node in clone link list.
yes we can do it...
In first parse make the clone of the original linklist. Along with this we need to create 2 tables..
1  Address of original node , Coresponding Clone node..
2  Original node , random node pointer
In the 2nd parse first check the first node is which random node from table 2, find the corresponding node in clone linklist from table 1. link the result to corresponding node in clone link list.
int func1(int n, int m)
{
if ( (n>>(m1)) % 2==0)
return (n  (1<<(m1)));
else
return (n ^ (1<<(m1)));
}
if ((n>>(m1)) % 2==0))
return (n or 2^(m1))
else
return (n xor 2^(m1))
I propose the same ..
 Sanjay Kumar January 25, 2012In the given problem the N is given as 4 not 16. if your algo is taking 5 tries the still its in the order of N. that mean N+1.
 Sanjay Kumar January 23, 2012Please find the complete logic..
Better then this... use the Diagonal as a shorted array... and use modified version of binary search...
1 5 6 7
2 8 9 10
3 11 12 13
4 14 15 16
the diagonal is 1 8 12 16.. use the binary search on this to find out the nearest element of the number
Diagonal which is greater then the element which had to be searched and its previous element is less then the element which is has to searched for example suppose we have to search 10 in the given matrix.... 12 is greater then the 10 and 8 is less then 10. your number will be in the row or column of either 8 or 12. search using binary search in the column and row of element 8 and 12.
searching element in Diagonal will take O(logN)
searching element in 2 row + 2 column will tale 4*logN that is log N
total complexity is in the order or log N.
Please comment if you are finding any loop hole in the logic.
yes I got it... find the element in the Diagonal which is greater then the element which had to be searched and its previous element is less then the element which is has to searched for example suppose we have to search 10 in the given matrix.... 12 is greater then the 10 and 8 is less then 10. your number will be in the row or column of either 8 or 12. search using binary search.
searching element in Diagonal will take O(logN)
searching element in 2 row + 2 column will tale 4*logN that is log N
total complexity is in the order or log N
Simple linklist irritation... and deletion logic.
 Sanjay Kumar January 22, 2012we can also use sorted array... same
 Sanjay Kumar January 22, 2012what about 6 5 1 2 5 6 ..?? max is 180 but your output is 60
 Sanjay Kumar January 22, 2012Still the solution is in the order of N
 Sanjay Kumar January 22, 2012Better then this... use the Diagonal as a shorted array... and use modified version of binary search...
1 5 6 7
2 8 9 10
3 11 12 13
4 14 15 16
the diagonal is 1 8 12 16.. use the binary search on this to find out the nearest element of the number and then check the adjustment element of nearest element to find out the number.
 Sanjay Kumar January 22, 2012get a word from string .. sort the character of the word.. use hash function on sorted array and add the original word in the link list of hash table...
 Sanjay Kumar January 22, 2012who ever is not agreeing with my comment please let me know that where I am wrong. In the whole question Its no where written that the data is from one day. else it will be simple question finding the time of min and max value and publish it.
there is possibility that data is from few days and we have to find out at which time the market is trading at low (buy point) and at which time market is trading at high, (sell point) If I was interviewed with this question then I will have asked this question. but with my understanding of the question my answer is correct. else give the whole question.
RepJohnMThomaa, Systems Design Engineer at USAA
Managed a small team writing about dust in Minneapolis, MN. Spent high school summers marketing Online vacuum pump sale New ...
RepHello friends my name Neha Nanda from India Chandigarh city. Doing work in SEO line in Softsys company.
RepLove is the spice of everyone’s life. Love adds charm and excitement to the monotonous and boring life. If ...
RepI am Susan From Wasilla USA. and my strong interest in yoga and reading historical books. I have a large ...
RepI am an energetic sales professional with a track record of consistently increasing sales revenue in a competitive market. Contract ...
Open Chat in New Window
I think you mean to say keep track of remainder and when it repeat. that the point the decimal also begin to repeat.
 Sanjay Kumar August 08, 2012I gave the same solution.