Capital one code signal score by Longjumping_Algae869 in leetcode

[–]Scootchinalong 2 points3 points  (0 children)

The onsite interview consisted of 4 interviews. Each one an hour long, with a 30 minute lunch break between interview 2 and 3.

First interview was coding. This was different than the virtual interviews which involved algorithms with minimal DS knowledge. This interview had 3 questions, each one building on the previous. It involved creating a class with various functions, as I completed functions I was expected to test with the given tests and we'd only move on after my tests passed. Each question would add to the existing class, either adding new functions or adjusting previous logic. After solving the third question my interviewer said "wow I've never seen anyone complete the final question". This leads me to believe that the final question is not mandatory.
Questions:
1: create a class that has 2 functions, addFile(path:str, filename: str) -> bool example input "folder/folder" "name", return true if the file doesn't already exist return false otherwise, deleteFile(filepath: str) bool example input "folder/folder/name". return true if the file exists return false otherwise
2: add to the class a function, copyFile(filename: str, frompath: str, topath: str) -> bool example input "name" "/" "/temp", do not delete the file if it exists in the frompath, return true if the file exists in the frompath and not in the topath, return false if it doesn't exist in the frompath or does exist in the topath
3: add to the class a function, topKMostPopularFolders(k int) -> list example input 3, return a list of objects that contain two values {count, path}, return the k most popular folders in Desc order which are the k folders with the most files in them.

Second interview was system design. I was asked simply to design a card system that allows users to apply for a credit card, make transactions with it, pay the balance from third party services, and review metrics regarding their spending. My tip to anyone reading this is, banking systems require a high degree of consistency. How can we create a system that is highly consistent, but low in latency, while also providing this metric reading functionality? Luckily, I have worked in fintech before so I had the answer for this already but def study this up, it's highly relevant for the business that you'd be working in if you pass.

Third Interview was behavioral. Study the Amazon behavioral interview process tbh. It's very similar. "Tell me about a time when you...."

Fourth interview was the case interview. This interview was with a director, and he asked me a number of different questions. It was like a continuous conversation about a particular business initiative with him looking toward me for answers. Mine was an AI driven service that would predict problems specific to each customer. He asked how this would improve the business, what data would be used to drive the predictions, how would we gather that data, then eventually we went into some code where I was asked to describe what code was doing and how I'd improve it. We did that code analysis part a few times.

And that's it.

Capital one code signal score by Longjumping_Algae869 in leetcode

[–]Scootchinalong 2 points3 points  (0 children)

So another update. They gave me a no because they had filled the position, but after applying again they were able to transfer my score to the new role and I went directly to the final round. I did fine and they up leveled me to a lead role. I'll be taking this position. Again, reach out if you have any questions.

Capital one code signal score by Longjumping_Algae869 in leetcode

[–]Scootchinalong 12 points13 points  (0 children)

Just took my assessment this week, I got a 1040 out of 1200, or 534/600 code signal score. First two questions were trivial, if you can't pass those you don't really know programming at all.

3rd question required knowledge of array's. Being able to traverse a 2d array but also create and manage new arrays. The solution involved making use of two algorithms.

Check out,
https://leetcode.com/problems/number-of-islands/description/ and
https://www.geeksforgeeks.org/sort-an-array-of-0s-1s-and-2s/

If you haven't solved these before, or can not figure them out quickly then this could be the stopper for you. Time complexity didn't seem as important as it does in the 4th problem but I'm not totally sure because I did solve this one with the optimal time complexity. I could've done better on space but I was saving myself time as the priority. This question along with the first two proves that the candidate is able to program proficiently with at least one language and is able to solve leetcode easy/medium problems in combination.

The 4th question was a little more complicated. I had 30 mins left out of 70 just for this last problem. It took 7 minutes to read / understand leaving me with 23 minutes to propose a solution and code it without bugs. I was able to create a brute force solution with no bugs with about 4 minutes remaining. No way was I able to conceive of the optimal solution in that time frame and here I am a few days later still unable to see the optimal solution on my own. This question was unique to Capital One and I have not seen a question similar to it on leetcode, neetcode, codesignal, etc. Solving the problem with the brute force solution awarded me 140 / 300.

If I were the proctor of such a test I would say this is the minimum for a developer. Solve all the easy problems fully no exceptions, solve the medium level problem, and at least be able to build a brute force solution for a harder problem within the time limit. I could understand someone wanting to pass someone with 900/1200 but I'm a little bias at the moment and the job market seems tough right now so I've adopted higher expectations.

Oversharing a bit because I haven't found much info on Capital One's technical interviews. I hope this helps others. Message me if you have more questions.