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)
- MAQ Software Interview Experience | Set 16 (On-Campus FTE+Internship)
- Nvidia Software Interview Experience | Internship
- MAQ Software Interview Experience | Set 17 (On-Campus FTE+Internship)
- MAQ Software Interview Experience | Set 19 (On Campus Internship)
- Amazon Data Engineer Internship interview experience
- Groww Internship Interview Experience for Software Developer
- Goldman Sachs Interview Experience for Software Developer Internship
- GoJek Interview Experience for Product Engineer Internship | On-Campus 2019
- Walmart Labs Interview Experience - Software Engineering Internship(On-Campus)
- Microsoft Interview Experience 2019 | Off-Campus Software Engineering Internship
- Postman Interview Experience | Software Developer Internship 2019 (Off-Campus)
- Microsoft Interview Experience 2019 | Off-Campus Software Engineering Internship (Hyderabad)
- Arcesium Interview Experience - Senior Software Engineer (3 years experience)
- Brocade Interview Experience | Set 2 (For Software Engineer 0-2.5 Years Experience)
- Arcesium Interview Experience Software Engineer (1+ year experience)
- MAQ Software Interview Experience | Set 8 (Off Campus for Software Engineer-1)
- UBS Interview Experience | Set 2 (Software Engineer)
- Microsoft Interview Experience | Set 72 (For Software Engineer)
- Microsoft Interview Experience | Set 152 (IDC Software Engineer II)
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. 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.