Round1
Here, seems ADP has started the pre-screening round as HankerRank test. Earlier they were having that non-sense on-paper test & were rejecting the people. But still ADP, DBS, CDKGlobal etc companies are not taking interviews for selection but they are using these interview drives to fool the people around that they are expanding & hiring.
Now on HackerRank, I got 10 questions to be done in 140 mins. 8 were MCQs, 1 was to write the SQL query to display the requred data. And last question was to complete the given SpringBoot project for the given requirements & test cases.
Here you have Trade data which has User data. JSON for this type is given & you have all such base entity classes present in project. Even you have complete project structure already created. You just need to write your logic to expose the RestAPIs, & do the CRUD operations for the requirements around Trade & User.
Such question was there in DBS Hackathon also. So one can keep such project handy for future such cases.
Though time is sufficient to complete this project but you need to be in flow for these activities & I was not & I was not able to complete it.
But overall experience was good & you can either do this coding on you local or directly on the HackerRank platform.
Now on HackerRank, I got 10 questions to be done in 140 mins. 8 were MCQs, 1 was to write the SQL query to display the requred data. And last question was to complete the given SpringBoot project for the given requirements & test cases.
Here you have Trade data which has User data. JSON for this type is given & you have all such base entity classes present in project. Even you have complete project structure already created. You just need to write your logic to expose the RestAPIs, & do the CRUD operations for the requirements around Trade & User.
Such question was there in DBS Hackathon also. So one can keep such project handy for future such cases.
Though time is sufficient to complete this project but you need to be in flow for these activities & I was not & I was not able to complete it.
But overall experience was good & you can either do this coding on you local or directly on the HackerRank platform.
Round2
I am not sure about the feedback of Round1 above but I was called for the interview next day.
I just needed to wait for about 35-40 mins & I was having the dicussions with the interviewer.
Well I didn't like the interviewer from the start. He asked below questions -
1) Tell me about yourself.
--This question is so f*cked up & in general noone cares about what you say, as majorly interviewer has decided the results
before you start.
2) Design Database tables for Leave Application system in the company.
-- I designed the table for Leaves applications assuming Employee table is already present which I can use to get the
employee data & I created one more table to store the leave types & their dates to validate the leave application for those
types.
3) Design the application to generate the report for the employees on leaves in the given date range. Report should have
different sheets for every month coming in that range.
-- I told to create one controller to get the requests. Then one service class to process for the given request. Then few helper
classes to find the months' names applicable for that date range. One helper class to generate the excel file with the
required sheets & populate the data in those sheets.
Service class then will connect to DAO layer to get the data from DB in batches of 1000 or the batch size providing the data
quickly without taking time & more memory.
Then I will pass that batch in every iteration, till all applicable data from DB is consumed, to the helper class to create the
excel & populate this data to respective sheet.
It is not difficult one at all, it just becomes tricky to distribute the data to respective sheet in report & that you can do easily
using the iteration of collection of entities.
4) You have 20 types of many sweets & in your office people pick any one of those types. Now you need to find the sweet
name which was picked most. If two sweets have been max times then print the sweet name lexicographically largest.
You will be given the array having the sweet names in the order these were picked by each person.
Ex : You get list : a b c a c a b, so 'a' is picked most & answer will be 'a'
Ex : You get list : a b b a c b a, here both 'a' & 'b' have count 3 but 'b' is lexicographically larger so answer is 'b'
Ans : -
I just needed to wait for about 35-40 mins & I was having the dicussions with the interviewer.
Well I didn't like the interviewer from the start. He asked below questions -
1) Tell me about yourself.
--This question is so f*cked up & in general noone cares about what you say, as majorly interviewer has decided the results
before you start.
2) Design Database tables for Leave Application system in the company.
-- I designed the table for Leaves applications assuming Employee table is already present which I can use to get the
employee data & I created one more table to store the leave types & their dates to validate the leave application for those
types.
3) Design the application to generate the report for the employees on leaves in the given date range. Report should have
different sheets for every month coming in that range.
-- I told to create one controller to get the requests. Then one service class to process for the given request. Then few helper
classes to find the months' names applicable for that date range. One helper class to generate the excel file with the
required sheets & populate the data in those sheets.
Service class then will connect to DAO layer to get the data from DB in batches of 1000 or the batch size providing the data
quickly without taking time & more memory.
Then I will pass that batch in every iteration, till all applicable data from DB is consumed, to the helper class to create the
excel & populate this data to respective sheet.
It is not difficult one at all, it just becomes tricky to distribute the data to respective sheet in report & that you can do easily
using the iteration of collection of entities.
4) You have 20 types of many sweets & in your office people pick any one of those types. Now you need to find the sweet
name which was picked most. If two sweets have been max times then print the sweet name lexicographically largest.
You will be given the array having the sweet names in the order these were picked by each person.
Ex : You get list : a b c a c a b, so 'a' is picked most & answer will be 'a'
Ex : You get list : a b b a c b a, here both 'a' & 'b' have count 3 but 'b' is lexicographically larger so answer is 'b'
Ans : -
Another way to solve the above problem is as shown below. Here user need to pass the list of unique names in ordered or sorted manner which can be identified by the provided comparator. Please let me know if it doesn't work.
I was not able complete the above code during the interview but I explained my approach. I am not sure how can I make significant improvement in above code, though I can use the concept of hashcode while creating the array of 20 sweets & then will not need to hashmap but for now I am keeping hashmap for better understanding of my approach. Let me know about better implementation. Also keep in mind before trying for improvements, I have taken single character Strings above for example purpose here, else you will be getting proper String names in the array.
Note : While going for these interviews, never hope to get the job there. As many people are telling the answers/approaches about questions but 1-2 only selected from those. It doesnt mean that those selected candidates are better than you, just accept the fact that interviewer there simply didn't like you. Or if you didnt give all the answers correctly or quickly then possibly interviewer was not capable enough to understand you better. Or worst, that company didn't have any requirement but was just having the interviews to check the market, marketing itself to show that it is growing or various other reasons.
Note : While going for these interviews, never hope to get the job there. As many people are telling the answers/approaches about questions but 1-2 only selected from those. It doesnt mean that those selected candidates are better than you, just accept the fact that interviewer there simply didn't like you. Or if you didnt give all the answers correctly or quickly then possibly interviewer was not capable enough to understand you better. Or worst, that company didn't have any requirement but was just having the interviews to check the market, marketing itself to show that it is growing or various other reasons.
Round 3
It was more like discussion to know what technologies I know & have experience on.
For Core Java, I was asked to give some sample using Decorator pattern. Reverse the LinkedList.
From advance topics, I was asked if I know JSP, Servlets, security features in web app.
One must be aware about Hibernate or JPA properly.
Good to know Spring MVC & Spring Boot
For Core Java, I was asked to give some sample using Decorator pattern. Reverse the LinkedList.
From advance topics, I was asked if I know JSP, Servlets, security features in web app.
One must be aware about Hibernate or JPA properly.
Good to know Spring MVC & Spring Boot
==============================================================================================
Other questions asked in other ADP interviews -
Design DB for Hotel booking system like we have for makemytrip.
What are the performance issues in Apache Cxf
Describe the architecture of any of your project.
==============================================================================================
Questions which you can see during its online test -
Online test will be HackerRank test for 60 minutes with 6-7 MCQs & 2-3 coding or DB query questions.
I got 6 MCQs, 1 Java coding question & 1 SQL query question.
Java Question was to find the length of smallest unit 'U' common in the given 2 strings(String1, String2) such that the concatination of U 1 or more times can build String1 & String2.
Below is the solution which I can think of-
Other questions asked in other ADP interviews -
Design DB for Hotel booking system like we have for makemytrip.
What are the performance issues in Apache Cxf
Describe the architecture of any of your project.
==============================================================================================
Questions which you can see during its online test -
Online test will be HackerRank test for 60 minutes with 6-7 MCQs & 2-3 coding or DB query questions.
I got 6 MCQs, 1 Java coding question & 1 SQL query question.
Java Question was to find the length of smallest unit 'U' common in the given 2 strings(String1, String2) such that the concatination of U 1 or more times can build String1 & String2.
Below is the solution which I can think of-
Other question was to write the SQL query to print the name of Employees & the location.
Details are - You are given 3 tables -
1) Employee (eID, eName, cID)
2) Company(cID, cName, locID)
3) Location(locID, locName)
Now you first need to find the location which has maximum employees & then you need to print the above data.
I have not replicated above data in my local so don't have solution right now, but will try to replicate it & provide the solution but for now you can get the idea from below sample query -
select e.ename, dep.loc from emp e,
(select d.deptno, d.dname, d.loc from dept d,
(select deptno dno, count(*) ct from emp group by deptno order by deptno desc) dn
where rownum = 1 and dn.dno = d.deptno) dep where e.deptno = dep.deptno order by e.ename;
Details are - You are given 3 tables -
1) Employee (eID, eName, cID)
2) Company(cID, cName, locID)
3) Location(locID, locName)
Now you first need to find the location which has maximum employees & then you need to print the above data.
I have not replicated above data in my local so don't have solution right now, but will try to replicate it & provide the solution but for now you can get the idea from below sample query -
select e.ename, dep.loc from emp e,
(select d.deptno, d.dname, d.loc from dept d,
(select deptno dno, count(*) ct from emp group by deptno order by deptno desc) dn
where rownum = 1 and dn.dno = d.deptno) dep where e.deptno = dep.deptno order by e.ename;
I think final query for the given problem can be like -
select EMP.ENAME, lc.LOCNAME from employee emp, company org, location lc where emp.cID = ORG.CID
and org.locID = lc.locID
and lc.locID in (
select place.locID from (
select loc.locID, count(*) ct from employee e, company c, location loc where e.cID = c.cID and c.locID = loc.locID
group by loc.locID order by ct desc) place where rownum = 1);
select EMP.ENAME, lc.LOCNAME from employee emp, company org, location lc where emp.cID = ORG.CID
and org.locID = lc.locID
and lc.locID in (
select place.locID from (
select loc.locID, count(*) ct from employee e, company c, location loc where e.cID = c.cID and c.locID = loc.locID
group by loc.locID order by ct desc) place where rownum = 1);
Then I got the call from Shivani Sharma(HR) that I have cleared first hackathon test.
Then I had the video call for interview with 2 people from ADP, one lady & one male.
And both were not having ettiquetes to have the video call, as both never showed their faces. Though interview was ok for me, but when I requested Shivani Sharma to provide the feedback, she never responded. Even I have observed this with other interviewers in ADP also.
Then I had the video call for interview with 2 people from ADP, one lady & one male.
And both were not having ettiquetes to have the video call, as both never showed their faces. Though interview was ok for me, but when I requested Shivani Sharma to provide the feedback, she never responded. Even I have observed this with other interviewers in ADP also.