This blog will talk about my overall experience of the JP Morgan Chase & Co internship process and the Hackathon.
In this, I will not only talk about the experience but also give a few suggestions, which I would have done if I were at your place.
This is going to be Part 1 of the blog. Part 2 is WIP, and will be published soon.
Edit: Part 2 has been published — JPMC's Code For Good Experience
Table of Contents
- Selection process
- Video Interview
How did I get the opportunity? JPMC comes to our college for placements, until last year. Now, from our batch, it started offering internships as well.
The process for both, placements and internships is pretty much the same. Also, our seniors helped us throughout our preparation. So grateful for them!
There are 2 rounds.
- DSA Round (on Hackerrank)
- Video Interview (recorded, not live)
Everyone who has applied goes through both of these rounds.
This had 2 easy/mediocre CP questions.
As far as I remember, one was an array of strings + two pointer implementation and another around LinkedList, both were straightforward.
We had about 60~90 minutes to complete it. I was done with them within 15~20 minutes.
Suggestions to make it through
Side Note: You can choose to do what you want. These are based on what I have done, and what I would have done if I would have been at your place.
Suggestions based on what you have been doing:
If you do dev work and have been doing it consistently, maybe it is time to do some DSA.
Reason being? You are being shortlisted on the basis of DSA (and Video Interview as well), which implies your dev skills aren't being tested before a Hackathon. The system is like that.
So where to go? There 2 kinds of websites:
- DSA/Problem Solving type
- Competitive Programming type
(And there's the third type as well like Leetcode, which is amalagm of both, which apparently I have heard is purely "interview" oriented.)
Essentially, all of them help in building your Problem Solving skills and DSA.
If you are new to all of this, the first kind is the best place to get started, like Hackerrank. A fixed problem set arranged difficulty and topic wise.
If you have been active for a while, maybe its time to give Competitive Programming (CP) a try.
In CP, we have a set of problems but we have to solve them in a limited time frame, say 2 hours. Your score is based on how soon you have submitted, how many wrong submissions you've had and that's why it is called competitive. You have to be accurate, and fast since the base score of a problem is also decaying with time.
It pushes you to do more, it pushes you to think faster.
If you've been just doing CP, maybe start with devlopment. You need to be able to contribute during the Hackathon.
Which will not be live, but recorded. But what do I mean by recorded?
Essentially, there is no interviewer. A question will pop up on the screen, and you will get 30 seconds to read the question, and then have about 2 minutes to speak after you hit the record button. There will be 2 such questions. You will get 2 attempts per question.
Messed up the first recording? You'll have one more chance to record it.
Messed up the second recording? Well. All the best.
What type of questions? Basic HR questions.
- What are your career goals?
- Tell us about your weaknesses and how are you trying to overcome it?
- Tell us about an experience where you led in a team? Around leadership skills.
- Describe an incident where you faced a communication barrier and how did you resolve it?
There will be 2 such type of questions asked. Essentially just prepare yourself for these topics:
- Leadership Skills
- Problem Solving
- Time Management
- Team Work
And that's all from your end.
As for the video interview, there's no crash course to help you speak well.
The only way to get better is to do it. (And well, it is true for every goddamn skill.)
Speak. Talk to people. Engage in conversations.
If you are not comfortable conversing in English, start talking to people. Strangers.
And sure, you are going to prepare for those HR like questions I mentioned, but make sure you are selling yourself very well.
Modulate your voice. Keep it conversational.
Smile. Be enthusiastic.
After the results were out, about 20~25 people from my college were selected for the national level hackathon - Code For Good.
2 months to go.
The Hackathon was held in July 2021.
Let me explain the process and format first, and then how we went about the Hackathon.
Format of the Hackathon
There were about 10 Problem Statements from 10 NGOs.
There were ~100 teams.
6 members per team. Which 6? Any 6 will be formed into a team across India.
But then, how is that going to fair for all? They take in your skills' level survey once you are shortlisted.
I am not sure about their algorithm to form teams, but it seemed fair from the feedback I got from people.
IMP: Winning the hackathon doesn't gurantee the job/internship, and not winning the Hackathon doesn't mean you cannot get the internship.
It is based on your overall response and attitude in the Hackathon.
And who will judge that? There will be 2 mentors (who actually are JPMC employees) per team, who will mentor/monitor you throughout the 24 hours.
The factors that I think would help overall:
- Take up initiative.
- Be flexible.
- Be open to ideas, always have an open perspective.
- State new ideas, without thinking how feasible it is.
- Ideate and brainstorm those ideas.
- Be a leader.
- Delegate if someone's free.
- Help/Volunteer if you are free.
- Be respectful and listen.
- Don't disrespect/cut when someone is talking.
- Accept your mistake if it is.
- Appreciate people for pointing your mistake out or giving feedback.
- Be humble.
- Be kind.
- Have fun.
And the best part? All of this is again true for any situation in life.
Preparing for the worst
In a hackathon, you don't know what type of people will you be paired up with and with what type of skills.
You could be an app developer and be in a team full of web devlopers. You could be a Flutter developer and be in a team with ML and frontend folks, with no one to take care of the backend. You could be a Django developer paired with Node.js backend team.
There are a lot of ifs involved. Therefore, it is always better to be prepared for the worst.
Point being, be flexible. And how will you be flexible if you don't know that skill?
Be a quick learner. Be a googler.
Example. Are you a frontend developer? Learn to write a basic node server.
Take a look at Django file/folder structure. Learn how to build and think components in React. Learn how to write a Flutter App.
Integrating APIs, designing, collecting data, et cetera, et cetera.
You will have a decent amount of weeks.
So, what did we decide to do at this point of time?
All of us started doing a whole lot of things at one go, crash-coursing a bunch of skills throughout.
Then, I decided to give a Hackathon. A mock hackathon.
To be continued...
Read the part two: JPMC's Code For Good Experience