From India to Glasgow: Landing a SWE Intern Role at JPMC

Riya Jha
Codess.Cafe
Published in
8 min readJul 31, 2024

Hello! I’m Riya Jha, currently a final year undergraduate at the Indian Institute of Technology (Indian School of Mines), Dhanbad, pursuing Bachelor of Technology in Computer Science and Engineering (Double Major) & Mineral and Metallurgical Engineering.

I had the opportunity to interview for a Software Engineering Internship at JPMorgan Chase & Co. (JPMC) in Glasgow, UK in the year 2022. This was an off-campus opportunity that I came across through a LinkedIn post by one of the technical recruiters at JPMC, Glasgow.

Application Process

The application process for the SWE internship at JPMC involved the following stages:

Application Submission

I submitted my application, which included my CV and a cover letter, through the JPMC career portal.

Coding Test on HackerRank — Sept 7, 2022

A Hackerrank link was shared for my online assessment and the duration of the test was 60 minutes. It consisted of two easy to medium-level coding questions designed to assess my problem-solving skills. The problems were mostly around basic data structures. I took the test on Sept 9, 2022, and was given an update about my shortlisting for the interview on Oct 31, 2022.

I would recommend having command over all basic data structures (linked list, queue, stack, array etc.), C++ STL containers (vector, map, set, etc.), basic searching algorithms (Linear search and Binary search), and some basic techniques like two-pointers and sliding window.

Interview Experience — Oct 31, 2022

The interview was to be conducted on Nov 15, 2022. The process was structured in two virtual 45-minute back-to-back interviews, each focusing on different aspects of my skills and experiences. The format of the interviews was:

  1. Competency interview
  2. Technical interview

Competency interview — Nov 15, 2022

The first interview was more like a behavioral round that lasted around 55 minutes (an additional 10 minutes were due to network issues from my end). This round focused on my experiences, how I handled certain situations, and my approach to problem-solving. Some of the questions I encountered were:

  1. Your Favorite Project: I was asked to describe my favorite project, its implementation, and where I got the idea to build it.
  2. Explaining Technical Projects to Non-Technical People: I had to share an experience where I explained a technical project to a non-technical person and what the major takeaways were.
  3. Overcoming Obstacles: I was asked about the most difficult obstacle in my journey so far and how I overcame it.
  4. Standing Out for My Opinion: I shared an experience when I stood out for my opinion.

These questions primarily focused on relating my experiences to projects, hackathons, or open-source contributions I had participated in. It was a great opportunity to showcase my developmental and situation-handling skills.

Technical Round — Nov 15, 2022

The technical round took place just five minutes after the Competency round and lasted 45 minutes. The interviewer instructed me at the beginning that I was expected to explain every concept in depth, provide relevant examples, and speak as much as I knew about the topics. She also said that I would be given a coding problem in the last 10 minutes of my interview.

The technical questions covered a range of fundamental concepts, including:

1. Database Management Systems

2. Object Oriented Programming (OOP)

3. Operating Systems

4. Software Development Life Cycles

5. Projects

6. Version Control

7. Some questions from CyberSecurity and Web Development

8. Questions related to the company

9. Data Structures and Algorithms (theoretical & problem solving)

Some of the questions I was asked in this round are mentioned below.

  1. Database Indexing: I explained what database indexing is and its importance (though wasn’t able to answer it in entire depth).
  2. Phishing Attacks: I described what a phishing attack is and how it can be prevented (with the limited knowledge I had).
  3. What happens when you type www.jpmc.com into the browser ?: I was able to answer the question with whatever knowledge I had (though it wasn’t entirely correct).
  4. Data Structures: I discussed the differences between sets, lists, and maps, including their design, time complexity (TC), and space complexity (SC).
  5. Company Knowledge: I answered questions about JPMC, what it does, the tech stacks being used, and named similar companies.
  6. Software Development Life Cycles: I explained the difference between the Waterfall model and the V model.
  7. Object-Oriented Programming (OOP): I discussed the four major pillars of OOP. I explained the sub-types of each pillar, providing real-life examples for each.
  8. Project: Explained one of my projects that I had mentioned in my resume. I answered the follow-up technical questions related to my project.
  9. Problem Solving: In the last few minutes, the interviewer presented a simple data structure and algorithm (DSA) problem based on Kadane’s Algorithm. I explained my approach and dry-ran it over the test cases. Time complexity and space complexity related to my code were asked.

Results — Nov 18, 2022

I received the results of my interviews via a phone call made by the recruiter, and I am thrilled to share that I was offered the internship position at JPMC in Glasgow.

This opportunity is a significant milestone in my career, and I am incredibly grateful to my parents for their endless support and to my friends who helped me throughout the preparation. I believe one should consider having friends with similar interests so that attempting contests and discussing questions becomes an enjoyable process.

Resources and Preparation

My preparation journey was a mix of using various platforms and following a structured approach. I am listing down the resources that helped me at different stages of my preparation.

HackerRank: I started my problem-solving journey here to grasp control over basic data structures during my first year.

CodeChef: I began giving contests in my second year to improve my competitive programming skills.

AtCoder: At this stage of preparation, I was able to think of a solution to a given problem but had a problem implementing it in code. This platform provided mathematics-based questions which helped me improve my implementation skills.

Codeforces: I started using this platform to learn to tackle new and challenging problems and enhance my problem-solving speed by giving contests.

LeetCode: In the later stages of my preparation, I focused on interview-level questions, practicing advanced concepts like trees, graphs, recursion & backtracking, dynamic programming, and greedy algorithms on this platform. I followed the SDE sheet by Striver and playlists on takeUforward diligently, which helped me recognize patterns in problems. Also, I generally tried to solve all similar problems to a given problem which helped me implement the same logic under different conditions.

Projects: Apart from problem-solving, one should have good control on the development side too. I preferred web development projects more and had good full-stack projects on my resume.

Last Stage Interview Preparation

In the final days before the interview, I prepared for topics such as:

1. OOP (link 1, link 2)

2. DBMS (link 1, link 2, link 3)

3. OS (link 1, link 2, link 3)

4. SDLC (link 1)

I also focused on the theoretical aspects of DSA. During my preparation days, I created a Google doc (which was advised by one of my seniors) with problems I thought had good logic and would be useful to refer to before the interviews. This document, along with the SDE sheet questions and company-specific questions from platforms like GFG Archives, Leetcode Discuss, and Reddit, formed the core of my preparation during those last few days.

Company-Specific Preparation

Every company has its unique way of testing candidates, and it’s crucial to be thoroughly and mentally prepared to face such situations. I referred to online articles on GFG, Leetcode Discuss, Reddit posts, and connected with seniors to understand JPMC’s interview process. Connecting with professionals on LinkedIn also provided valuable insights.

As per my experience, JPMC tries to test an overall understanding of a candidate on topics from core CS fundamental concepts, problem-solving skills, and projects. It’s essential to have good projects that must be self-done so that you can discuss them in-depth with the interviewer. This is because interviewers are highly experienced professionals.

For instance, my interviewer was my manager during my internship, with 15+ years of experience. One cannot fake stories in competency rounds. They take down very detailed notes of everything said by the candidate. I have also participated in hackathons, both inter and intra-college level, and have also contributed to Open Source. This helped me have my own stories and experiences rather than making them up during the interviews.

Advice for Future Aspirants

  1. Even if you find it difficult or have gained expertise, do not stop problem-solving (coding). (this was shared by one of my seniors during my first year.)
  2. Don’t hesitate to apply to job openings regardless of your branch, college, or CGPA. The worst outcome is a rejection, but not applying means you miss the chance altogether. (was again shared by some other senior during my first year)
  3. Solve problems almost every day. This is because if you are relying on off-campus offers, an opportunity can knock at your door at any time, and you must be prepared enough to seize it.
  4. Analyze your performance after every rejection. Look for areas to improve with a positive mindset and work on them sincerely.

“You may not be the smartest one in the crowd but you can be the toughest.”

Securing an internship at JPMC has been a rewarding experience. I had a fantastic experience interning at JPMC in Glasgow and am excited to share that I received a return internship offer for Summer 2024.

JP Morgan Chase & Co., Glasgow, UK
JP Morgan Chase & Co., Glasgow, UK

If you have any questions about the interview process or just want to connect and share experiences, feel free to reach out to me on LinkedIn. You can also mail me at riya.jha2305@gmail.com.

Thank you for reading about my interview experience. I hope it provides insights and motivation for your own preparation journey. Good luck!

If the blog was helpful, show some love and smash the clap button below, and do follow Codess.Cafe for more such articles.

Codess.Cafe: LinkedIn | YouTube | Website | Medium | Twitter

--

--