Fidelity Investments Interview Experience for Internship (Oct 2020)

7th October 2020. Fidelity investments came to our college Vellore Institute of Technology to hire students for summer intern 2021. The CGPA cutoff for the 1st round was 8.5. Around, 900 students appeared for the 1st round.   

1st round (online): It consisted of 4 sections. 

First Section: Consisted of basic multiple-choice questions that checked our proficiency in the English language. There were 10 MCQs and the time allotted was 15 mins. 

Second Section: It had 20 technical MCQs which consisted of questions based on fundamentals of Computer Networks, OOPS, SQL, and guess the output of given snipped of C++ code and time allotted was 30 mins. Some guesses of the output question were tricky as they had multiple function calling and recursion involved. 

Third Section: We had 1 hour to solve 2 very easy coding questions. It took me 12 mins to solve both and pass all test cases. 



  1. Given a num N, calculate the number of points in the range (1,n) which when multiplied by 3 and then incremented by 1 { i.e. (3×arr[i]+1) } exceeds the value N. 
  2. Fairly simple question on hashing. Given a matrix (given input matrix may not be a  square matrix) and a count c, we need to convert that matrix into a square matrix and fill the remaining spaces with 1. Then calculate the total points in the left diagonal, whose count is more than c in the converted square matrix. 

Fourth Section: This was a tough round. We were given only 15 mins to write two algorithms for two given questions.

  1. The first question was based on the Floyd Warshall algorithm. I left the 1st question blank as I have always used Dijkstra and LCA for finding the shortest path.
  2. Given an array and a num K, we need to partition the array in K sub-arrays, and then we need to find the minimum of maximum sum possible of any sub-array after any partition. Let me explain with the help of example : arr[] = {10,20,30,40,50,70} and k = 3. This array can be partitioned in k sub-arrays in the following ways and let us also calculate the maximum sum of any sub-array after each partition: 
(a) 10,20,30+40+50+70;     max_sum = 190
(b) 10,20+30,40+50+70;     max_sum = 160
(c) 10,20+30+40,50+70;     max_sum = 120
(d) 10,20+30+40+50,70;     max_sum = 140
(e) 10+20,30,40+50+70;     max_sum = 160
(f) 10+20,30+40,50+70;     max_sum = 120
(g) 10+20,30+40+50,70;     max_sum = 120
(h) 10+20+30,40,50+70;     max_sum = 120
(i) 10+20+30,40+50,70;     max_sum = 120
(j) 10+20+30+40,50,70;     max_sum = 100

Our required output is the minimum of all this max_sum i.e 100

Since I have done some competitive coding I was really able to think and came up with solutions based on binary search. Time complexity was 0(n*log(n)). We can do this by dynamic programming also by recursion and memoization. 

2nd Round: 46 students were shortlisted for the technical interview round including me. It went bad for me. My interviewer didn’t ask me much about coding and DSA, just 2 questions on trees and stack. Next, he moved to the projects mentioned in my resume. I explained to him, but he didn’t seem convinced. Next, I was given some scenarios related to market, business, finance, and customer, and he needed my answers on how ML, data science can play a role in studying the market and how we can reduce the company cost in managing and providing security to large databases and we interacted over it for around 30 mins. Then, he ended up 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.

The results were announced in the next 30 minutes and  I was not called for further rounds. Around 20 students were selected for further rounds. Finally, they gave an offer to 11 candidates. 


Write your Interview Experience or mail it to contribute@geeksforgeeks.org

My Personal Notes arrow_drop_up

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.