I’m a regular user at LinkedIn and I came across the Software Development Engineer internship’s poster by CodeChef when I was browsing through the feed one day. CodeChef’s interview process is very different unlike most other companies including its parent Directi. Due to COVID-19, all of the rounds were virtual.
Online Coding Round at CodeChef – 3 hours
– 1 st and 2nd question were of beginner level.
– 3rd question (Easy) – You are given an array A1, A2, …, An of size N. A pair (i, j) is good if and only if 1 <= i < j <= N and Ai+Aj is a prime number. You need to find the number of good pairs in this array. (Trick: Using Sieve of Eratosthenes for finding primes)
– 4th question (Medium) – Modified knapsack question (Dynamic Programming)
– 5th question (Hard) – Based on graphs
Out of these, I was able to solve 4 of them and I got into the next round.
Web App Development Round – 10 days of time
– I was given the tech stack which I had to use – PHP (Slim Framework) + MySQL + ReactJS.
– I was given access to the official CodeChef API and the task was to build a contest arena with features like searching of contests, problems in it etc. The interesting thing here was that CodeChef APIs are rate limited. So I had to cache the data at an intermediate server for a specified interval of time and then serve the results to the front-end.
– I was asked to submit the code by pushing into a private GitHub repo. Find the preview of the web app below
Web App Discussion + Technical Round – 1 hour
– The interview started with how I built the web app and what were the challenges faced.
– Then I was asked some fundamental questions from OS, DBMS & Networks.
– I was also asked to explain about the technologies I had mentioned in my resume like Docker, MongoDB etc. (Pro Tip: Make sure you know to explain each word in your resume).
The most-awaited DSA round – Telephonic Interview – 1 hour
– Given an array of n positive integers with duplicates, how will you convert the array such that all elements are distinct with the minimum number of moves? The catch is, you’re allowed to do only one kind of operation but can be repeated any number of times: For any pair in the array, (Ai, Aj) can be converted to (Ai, Ai + Aj)
– After some time of thinking and discussing with the interviewer, I was able to come up with a solution using hash-maps in quadratic time. Then, I was asked to optimize. After doing a dry run through few examples I observed something (replacing any element with the sum of itself and maximum element in the array), and came up with a solution in linear time. And then I was asked to code the same in my favorite language(C++).
– My suggestion here is to Think Aloud. Your thinking process matters more than the solution itself.
Final round of Interview with the CTO of CodeChef – 30 mins
– This was more of an informal discussion about me, my family background, interests. All I had to do was to stay confident and share my stories.
– He also shared about the evolution of CodeChef and its culture.
– I was immediately informed by the CTO that I was in.
Here ends the one-month long interview process and I’m selected for the SDE Internship at CodeChef 🙂
Preparation Strategies and Tips
– There’s no shortcut to mastery. Practice. DSA is very essential for any computer science engineer since web frameworks may come and go but this subject has existed and will continue to do so as long as data exists. Hence, the high priority is given to it by most product development companies.
– If you’ve long enough time to prepare, you can improve your logical thinking skills by solving problems at Codeforces, CodeChef and also follow the next point.
– But if the time is short, then it’s better to go for practising standard DSA questions on GeeksForGeeks, HackerRank, Leetcode.
– Well even if you’re good at DSA, it isn’t sufficient to pass an interview of this kind unless you’ve some experience with web development. For that I would suggest you to learn some latest web/mobile app technologies and build some side-projects. Also try contributing to open-source projects in GitHub so you’ve a better understanding of how coding looks like in real life.
– Prepare your LinkedIn profile and be an active user. You might find an opportunity anytime just like I did. It also helps you to improve your professional network.
- Cloudera Inc. Interview Experience | Software Engineer (Internship + Full Time/On Campus)
- Accolite Interview Experience for Software Engineer Internship
- Arcesium Interview Experience for Software Engineer Internship
- Microsoft Internship Experience | Off-Campus Internship (Hyderabad)
- TIAA Internship Experience - Pool campus for Internship
- Amazon Data Engineer Internship interview experience
- GoJek Interview Experience for Product Engineer Internship | On-Campus 2019
- MAQ Software Interview Experience | Set 16 (On-Campus FTE+Internship)
- MAQ Software Interview Experience | Set 17 (On-Campus FTE+Internship)
- MAQ Software Interview Experience | Set 19 (On Campus Internship)
- Microsoft Interview Experience 2019 | Off-Campus Software Engineering Internship (Hyderabad)
- Microsoft Interview Experience 2019 | Off-Campus Software Engineering Internship
- Walmart Labs Interview Experience - Software Engineering Internship(On-Campus)
- Goldman Sachs Interview Experience for Software Developer Internship
- Nvidia Software Interview Experience | Internship
- Groww Internship Interview Experience for Software Developer
- Postman Interview Experience | Software Developer Internship 2019 (Off-Campus)
- Postman Interview Experience | Software Engineering Internship 2020 (Off Campus)
- Danske IT Associate Software Engineering Interview Experience | On Campus (Internship + Full Time)
- Brocade Interview Experience | Set 2 (For Software Engineer 0-2.5 Years Experience)
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. 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.