Interview Experience @ Intel, AI Engineer [2024]

Himanshu Upreti
4 min readDec 7, 2024

--

Source : https://habana.ai/

In this blog, I’ll walk you through my journey interviewing for the position of AI Software Solutions Engineer at Intel’s Habana.ai. It was an insightful and memorable experience, filled with challenges, learning, and a few curveballs.

For those unfamiliar with Habana.ai, it’s an Intel company focusing on cutting-edge AI accelerators. You can read more about their impactful work here.

Before applying, I was working as a Machine Learning Engineer at Qualcomm on their Cloud AI 100, another AI accelerator product.

The Application Journey

It all started with a hiring post I came across on LinkedIn in February 2024. I messaged the recruiter but didn’t receive an immediate response. Determined, I reached out to a connection at Intel for a referral. Ironically, the recruiter replied later, but I applied using the referral link to ensure my connection could benefit from the ₹40K referral bonus.

Phone Screening

The process began with a 45-minute phone call with the hiring manager. We discussed my previous work, technical expertise, and the responsibilities of the role. It was more of an informal exchange where I also got to learn about the team structure and available positions. It turned out there were multiple openings across sister teams, which was intriguing.

Technical Interview Process

This round started with the usual introductions, after which the interviewer asked two challenging problems:

Minimal Subarray Sum:
Given an array of positive integers and a target, find the minimal length of a contiguous subarray whose sum is greater than or equal to the target.

  • My Approach:
    I began with a brute-force solution, explaining its complexity. Then, I optimized it using a two-pointer approach and wrote the pseudo-code. Being in the habit of competitive programming, I went a step further and coded the complete solution with comments, which seemed to impress the interviewer.

Flooding a 2D Matrix:
The second problem required solving a condition-based flooding problem on a 2D matrix.

  • My Approach:
    Initially, I approached it without thinking of it as a graph problem, but the solution wasn’t optimized. I restructured the problem as a DFS problem and wrote a nearly complete solution, including its time complexity.

This round lasted 90 minutes instead of the scheduled 60, as the discussions were quite engaging. Looking back, I feel this strong performance helped me later during the process delays.

Round 2: Advanced C++ (45 mins)

Topics:

  • Smart pointers
  • Friend classes
  • Designing a Singleton class

My Experience:
While I handled most questions well, I made some errors in writing the Singleton class, which I later revisited for the next round. Overall, a good discussion.

Round 3: Advanced C++ and Python (45 mins)

Due to a team change mid-process, I faced an additional round covering both C++ and Python.

C++ Topics:

  • Templated functions and classes
  • Singleton class design (this time, I nailed it!)

Python Topics:

  • Pybind11
  • Decorators and generators
  • Multithreading
  • How to bypass the Global Interpreter Lock (GIL)

My Experience:
The interviewer appreciated my C++ responses, especially since my previous work involved Pybind integration. However, I struggled slightly with the GIL-related question, as I hadn’t worked extensively with Python’s multiprocessing library.

Round 4: AI/Machine Learning/Deep Learning (45 mins)

This was the most technical and engaging round.

Questions:

  • Explain the Transformer architecture in detail.
  • Discuss the physical significance of various components in the architecture.
  • How can the attention mechanism be optimized?

My Experience:
This was a highly technical discussion with deep-dive follow-ups. I enjoyed the interactive nature of the round and appreciated the chance to discuss the physical significance of various architectural components.

Round 5: Managerial Round (45 mins)

Focus Areas:

  • Past roles and responsibilities.
  • Aspirations and reasons for the switch.
  • Cultural fit for the team.

My Experience:
This was more conversational, without any puzzles or technical grilling. The discussion concerned understanding my career trajectory and alignment with the team’s goals.

Challenges During the Process

Uttarakhand Haldwani violence | The violence broke out on February 8 after the demolition of the madrasa in Banbhoolpura

At that time, I was busy with the arrangement of my sister’s marriage. The Uttarakhand Haldwani violence caused internet outages in my area, delaying my interviews. This led to a team switch mid-process that meant adapting to new interview expectations. Thankfully, I had cleared the initial rounds, which helped me remain a strong candidate.

Key Takeaways

  1. DSA Preparation:
    There will be DSA rounds, questions can range from easy to medium, but difficulty often escalates as the rounds progress.
  2. Know Your Resume:
    Be ready to explain every point with examples and insights. Nothing on your resume should feel “decorative.”
  3. Effective Communication:
    Walk the interviewer through your thought process. Clear and concise pseudo-code is essential, but so is explaining your approach verbally.
  4. C++ Proficiency Matters:
    For Machine Learning Engineer (MLE) roles, proficiency in C++ can make you stand out, even if Python is your primary language.

After six weeks of interviews and anticipation, I received my offer letter in March 2024. It felt gratifying, not just for the outcome but for the lessons learned along the way.

Final Note

Last I checked Intel (@ Habana Labs) is still actively hiring people even amidst economic challenges.

Feel free to contact me on LinkedIn or drop your queries in the comments. Let’s navigate this journey together! 😊

Ask Me Anything
LinkedIn

Good luck with your interviews, and remember, persistence pays off.

--

--

Himanshu Upreti
Himanshu Upreti

No responses yet