git:(GSoC) git merge DSA-CP
You'll have to resolve many merge conflicts. A tough but possible task.
Before beginning the blog, I would like to let you know that I am not a CS student. I am an Electronics and Communication Engineering student at IIT Roorkee.
Scenario.
5 May 2023\> Selected for a large-size project of The Palisadoes Foundation under Google Summer of Code'23. Only had a bit of experience with Competitive Programming and zero knowledge of Data Structures and Algorithms (not even a clue about InterviewBit problems). Ranked Pupil [About 1300 rating] on Codeforces and solved 0 problems on Atcoder. 0 problems solved on CSES Graphs, DP, Tree and Range Queries section.
19 July 2023\> On-campus Day 1 internship tests begin for the summer internship 2024. Managed to complete all the tasks that were expected to be completed before 1 August, according to my GSoC timeline. Ranked Expert [1648 rating] on Codeforces and 1901 rating on Codechef, regularly solved problems on Atcoder. Solved every problem which had 2000+ submissions on CSES Graphs, DP, Tree and Range Queries section. Solved around 350 problems on InterviewBit.
I love to brag. ๐
As a result, I got 2 offers for summer intern from Google and Microsoft [both SWE roles], and I was able to pass my mid-term evaluation of Google Summer of Code'23. The final evaluation is expected to be completed by 23 Oct 2023. ๐
Journey.
I tried to keep everything organized. I divided the time between GSoC and CP+DSA evenly. CP+DSA is something that requires a lot of concentration and we get the best results when our brain is most active, on the other side I believe a project in Dev doesn't require a lot of concentration [obviously, I am assuming you would be comfortable with the tech stack if you were given a GSoC project]. So, I consumed most of my time exploring CP-Algos from cp-algorithms.com.
When I was tired of CP, I jumped to work on the GSoC project, enjoying some of my fav music hits [it was kind of a stress buster, lol ๐]. Never imagined GSoC would act as a stress buster. Obviously, I had to ensure I completed the tasks mentioned in my timeline.
I had already talked about DSA with my seniors, and all of them said it will be a cakewalk if someone is good at CP. With this in my mind, I mainly focused on Competitive Programming for a full month.
I started with Data Structures and Algorithms in June. Solved all the easy problems at first from InterviewBit [All topics], this took me around 20 days. I never left Competitive programming, as it is something that requires consistency.
The following are the main sources of my knowledge in...
Competitive Programming
Data Structures and Algorithms
CSES: A goldmine
CSES problem set is a goldmine for Competitive Programming enthusiasts, this problem set contains a problem on almost every algorithm in cp-algorithms. Important sections for the internship tests are mainly Graphs, Trees, Range Queries, Dynamic Programming, and Arrays [pretty obv ๐ค].
Distractions?
Distractions are always present, it all depends on you how you want to deal with them. For me, the biggest distraction was Instagram. Luckily, I knew a pretty easy solution to that, uninstalling it from my iPhone. Easy-Peasy. ๐
Intense month: June
June 2023 came out to be very intense for me. I had just 3 things on my mind
Data Structures
Competitive Programming Algorithms
Google Summer of Code
I experienced a lot of ups and downs during this period.
On-campus intern season summary.
There is no guarantee that you'll receive a Day 1 offer, even if you are ahead of your peers. Luck is a big factor in on-campus internship season, especially if you are a non-CS student and a boy [iykyk]. ๐ฆ๐ป
Are CP and DSA all that is required for on-campus internship interviews and tests?
Reminder, I always targetted for SWE-related roles. I have no idea about the recruitment process for other fields.
Also, many companies want their interns to have a deep knowledge of CS fundamentals, like OS, OOPs, Networking etc.
I had gone through OOPs but, had little to no idea about other courses. Luckily, I wasn't asked about CS fundamentals in any of my interviews. ๐ฎโ๐จ
Conclusion.
I believe you can easily manage your GSoC project along with exploring other fields like CP and DSA, only if you follow a fixed schedule, limiting the distractions around you for 2-3 months. Can't describe the feeling of getting a day 1 offer and completing the GSoC project simultaneously. You'll surely need 1-2 weeks of rest and watching your fav TV series and movies after the complete process. ๐
Thanks for reading. Hope you enjoyed it.
Do connect with me on Linkedin, and follow me on Instagram [yes, I am back after the intern season.] ๐
Drop me a message if you need any help. I'll answer it asap. Thanks.