Apple | Junior Software Engineer (ICT-2) | Offcampus

apple logo
apple
Junior Software Engineer (ICT-2)Withdrew
August 14, 202525 reads

Summary

I interviewed for a Junior Software Engineer (ICT-2) role at Apple. After successfully completing the Online Assessment, I proceeded to a technical interview where I demonstrated my DSA skills on problems like Coin Change I and II. Ultimately, I decided the role and team weren't the right fit for my career path, and therefore, wasn't expecting an offer.

Full Experience

I applied for an off-campus Junior Software Engineer (ICT-2) role at Apple in July and soon received an Online Assessment (OA) link. The OA consisted of two coding problems, both of which I solved successfully:

  1. A variation of the knapsack problem, specifically referred to as 'Double Knapsack' or 'Maximum Weight in Two Bags'.
  2. A grid traversal problem on a 15x10 grid where I had to follow a unique path made of '*' and lowercase letters, collecting the letters to form a string.
Following the OA, I received an invitation for an interview. During a preliminary call with the recruiter, I realized that the team's work and the role's responsibilities didn't quite align with my career trajectory. Additionally, the compensation package was similar to my current one, which didn't provide a strong incentive. I attempted to reschedule the interview due to travel, but was informed it was either that date or nothing, so I decided to proceed.

The interview focused on a Java backend role. It began with some cross-questions on my resume and fundamental Java concepts. Then, I was asked to solve 'Coin Change I' and 'Coin Change II', which I solved optimally with correct time complexity. Further questions covered Operating Systems (OS), Object-Oriented Programming (OOPs), and System Design, which I answered to the best of my ability. Throughout the interview, I conveyed my reservations about the specific work this team was engaged in, which led me to not anticipate a callback.

Interview Questions (4)

Q1
Maximum Weight in Two Bags
Data Structures & AlgorithmsHard

This problem is a variation of the knapsack problem where the goal is to maximize the total weight of items selected for two separate bags, each with its own capacity constraint.

Q2
Grid Path Letter Collector
Data Structures & AlgorithmsMedium

Given a 15x10 grid containing a unique path made of '' and lowercase letters. The path starts at (0,0), moves only in the four cardinal directions (no diagonals, forks, or loops), and ends at some point. I needed to follow this path, collect all lowercase letters (ignoring ''), and output the formed string.

Q3
Coin Change I
Data Structures & AlgorithmsMedium

Given an array of coins with different denominations and a total amount of money, compute the fewest number of coins that are needed to make up that amount. If that amount cannot be made up by any combination of the coins, return -1.

Q4
Coin Change II
Data Structures & AlgorithmsMedium

Given an array of coins with different denominations and a total amount of money, compute the number of combinations that make up that amount. It's assumed that an infinite number of each kind of coin is available.

Preparation Tips

My preparation for this particular interview was not as thorough as it should have been, mainly due to the short notice and my ongoing travel plans. Based on my experience, I would strongly advise anyone applying off-campus to:

  • Ensure you have a clear understanding of the team's specific work and how it aligns with your career goals.
  • Dedicate sufficient time to brushing up on Data Structures and Algorithms (DSA).
Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!