23-september-2019 : JP Morgan chase came to hire people for summer intern 2020 from our college . (VIT Vellore) . Round-1 was taken 2-3 weeks beforehand, and shortlisted students were called for the interview selection process .
It was conducted on hackerrank, we were asked to solve 2 questions in a duration of 1 hour .
Question 1: Easy Question : Maximum sum square sub-matrix of size k by k in a given matrix, Out of all possible squares of size k by k, print the maximum sum possible out of those squares .Even the brute solution was getting accepted in this (dont know how ), but yes it accepted O(n^4) solution for this question .
You can found this question at https://www.geeksforgeeks.org/print-maximum-sum-square-sub-matrix-of-given-size/
Question 2:It was a simple variation of standard Josephus Problem.
I dont know remember the exact problem statement, but still i will explain the concept . There were n students sitting in a row, some pillow is passing from one to another in the clockwise or anti-clockwise direction . A value k was given, which is the number of people and every kth person (where the pillow stops) loses the game . We were asked to find the index of the last person (winner) who will left after the game is over .
The result for the first round were announced after few weeks, out of around 850-900 people they shortlisted 78 people for the second round . Anyone who solved 1.5 or more problems were selected for the second round.
It was a face to face interview which lasted for around 25-40 minutes for each person . Each interviewer had its own pattern of asking questions . My interviewer was quite friendly with me . My interview lasted for around 35 minutes .
This round was more than 90% percent based on resume . He pick pointed every single point i had written in my resume .
1) Tell me something about yourself.
2) Why you are in Toastmasters, from when and how you have improved from it?
3) Tell me your favorite property of OOPS and explain why ? I said abstraction.
4) Why do we need a abstract class, can it be instantiated ?
5) What are virtual functions in C++ and their use ?
6) Difference between Interface and abstract class in JAVA ?
7) Then he gave me an example of multiple inheritance, three classes with one print statement in their constructors. An object of derived class is called, he asked me to give the order of the print statements .- I explained this properly with the help of super() keyword .
8) He asked my favourite subject – I said anyday data structures and algorithms . He seemed convinced . He asked me to explain binary search tree properties .
9) Explain the write the code for fibonacci using both recursion and dynamic programming . I explained DP properly to him along with the solution .
10) Explain the difference between multithreading and multi-processing ?
11) Then he moved to DBMS, asked about triggers(i said sorry i don’t remember), he then moved to normalisation, and then asked about the difference between various keys in DBMS .
I think this is all from what i remember as per now. I almost answered everything correctly in this round .. He ended up with saying, Now it’s your turn, you can ask me anything . I asked him 2-3 questions related to the company environment and the type of projects we will be given to work upon . He gave a proper answer to each questions i asked to him.
Around 30-35(approx) students were selected for the next round . I too was selected .
The interview started at around 11.30 in the night . I had a different interviewer in this round .
Following questions were asked :
1) How do you keep yourself updated to the technology ? What is the latest thing you have learnt ? what did i do in summer ?
2) I told him i am good at data structures and development using react and react native, He said ok . Unfortunately he didn’t even ask me a single question on DSA and DEV in spite of saying that i am good at it .
3) He said Let us solve a problem . We have a NGO, your volunteers go and teach people in the villages . You have to tell whether they are actually going there and spending time, or they are fooling them and roaming around. We have to come up with the solution for the same . I gave solutions using GPS, IOT device and biometric systems . He didn’t seem much satisfied, he said its not cost effective . He further said you can’t use of internet, only calling system is allowed . I was not able to properly understand what he wanted . I gave up in the end, and asked him for the solution . He refused to tell, instead he said i have to ask the same question to the other candidates . (8-10 minutes discussion)
4) Immediately he came up with another problem statement . Assume you have 90, 000 files on a server of different size, users are downloading files from those, the access time is very high as per now . My task is to reduce that access time . Initially i gave him solutions using horizontal scaling, but he said it won’t be cost effective . In the end i explained him the indexing approach, he finally seemed convinced with it . (8-10 minutes discussion)
5) He said that’s all from my side, i can ask any questions if i had . I asked similar questions as i asked in the second round . He gave appropriate answers to them . I was asked to wait outside .
The results were announced in next 30 minutes and i was asked to leave . I was not called for HR round .
What i learnt ?
JP morgan, being the first face to face interview in my life, gave me some good experiences . I believe you need some serious luck on that day, Almost all students in my panel gave similar answers (round 3), he randomly had to chose out of them just on his intuition .I am not complaining just giving an insight so that we all can be prepared for the worst from the very next time.
Keep Practicing . Keep solving questions on GFG, make your basic fundamentals strong and then wait for the right opportunity .Keep giving your best, that is more important . Even if i am rejected today , i am much satisfied deep inside because i know i gave my best .
I will leave you with a pseudo code, do try to compile and then execute in your editor named life . Even if the error comes, keep debugging(trying), keep optimising(improving) and the day will come when it will execute in the desired time complexity(wait for your time).
All the very best for your future :).