SanDisk logo

SanDisk Software Engineer Interview Questions
& Process

Real candidates share what happened, how many rounds they had,
and how the experience turned out.

Based on 35 interview experiences · FREE TO READ

2.8 Rounds average
Average Typical difficulty
56.2% Positive experience

Candidate interview experiences

First-hand accounts from people who interviewed at SanDisk.

Showing 3 of 35
SanDisk logo
SanDisk

Software Engineer

Engineering · more than a year ago

Entry Difficult Positive experience No offer 4 rounds
Interview process
Recruiter call Technical screen Technical screen Background check
Interview formats
Technical Coding Behavioral

SanDisk, a maker of flash memory stuff, has a software dev process that's usually 3-4 rounds. It starts with a written test that has some quant/puzzle questions (like 10), maybe 10 programming questions mostly in C focusing on data structures and algorithms, and a couple of coding questions. Then there are 2-3 technical interviews where they ask about your resume stuff - projects, internships, etc. They're really into Data Structures, Algorithms, OS, Networking, and Databases, so expect deep dives into CS topics and your interests. Lastly, there's an HR round for general background, past experiences, and how you handle life/problems, like asking why SanDisk or what you'd do if another company offered more money.

Confirmed questions5 questions
  • Allocate memory for a 2D array using malloc.
  • Count the number of occurrences of a substring in the given string without using any built-in functions such as strtok or find etc.
  • C doesn’t have overriding functions. But, how is that you can add as many args as you want in the function parameters? How does that happen backstage?
SanDisk logo
SanDisk

Software Engineer

Engineering

Senior Average Negative experience No offer 2 rounds
Interview process
Technical screen Technical screen
Interview formats
Coding Technical

This was a super unprofessional interview. I arrived on time, but they made me wait for an hour and a half. The first interview was with someone who didn't even bother to introduce himself or ask who I was. He just threw a coding question at me with some paper and a pen, not caring about my thought process at all, only the final answer. His attitude and blank expression were really demotivating. The second interview was exactly the same – no introductions, just straight coding questions. It felt like the interviewers were frustrated about having to work on a weekend and took it out on the candidates. It was very demotivating. Even though I answered everything correctly and expected to get the job, they said I wasn't a good fit. They didn't give any feedback and were really impolite and unprofessional.

Confirmed questions5 questions
  • Questions about basic data structures like arrays
  • Questions about basic data structures like linked lists
  • Questions about basic data structures like stacks
SanDisk logo
SanDisk

Software Engineer

Engineering

Mid Average Positive experience No offer 2 rounds
Interview process
Technical screen Technical screen
Interview formats
Technical Coding System Design

Had 2 interviews total. The first was with the team leader in the flash storage department, and it was mostly small, general questions about C embedded, scheduling, memory allocation, stack size, and so on. The second interview was with the manager, a really intense guy with a strange sense of humor. He asked about software design, like how I would make an alarm program that takes keyboard input.

Confirmed questions2 questions
  • Could you write a C function to sort a linked list?
  • How would you implement a mutex that also counts how many times a thread has acquired the lock?

SanDisk Software Engineer Interview Questions

Quoted word for word from SanDisk interview reports.

Given unsigned char red = 0x10, unsigned char green = 0xFF, unsigned char blue = 0x0F, and unsigned char alpha = 0x44 for 4 color components, construct a packed ARGB 32-bit integer where A is the most significant bit, followed by R, G, and B, represented as | A | R | G | B |.

Read reports

Can you explain how to reverse alternative k nodes of a linked list?

Read reports

Imagine people sitting around a round table, and we need to eliminate one person in an alternating order. For instance, with 6 people (1 2 3 4 5 6) sitting in a circle, if we eliminate person 2 first, what should be the final order of the remaining people? The output should be 2 4 6 3 1 5.

Read report

How would you implement binary search on a linked list?

Read report

What's the difference between memory management in user space and kernel space?

Read report

Could you write the Depth First Search (DFS) algorithm for a tree?

Read report

C doesn’t have overriding functions. But, how is that you can add as many args as you want in the function parameters? How does that happen backstage?

Read report

Formats, difficulty and experience

Across all 35 SanDisk interview reports.

Interview formats

Technical 46.8%
Behavioral 25.3%
Coding 25.3%
System Design 2.5%

Interview difficulty

Easy 8.6%
Average 57.1%
Difficult 34.3%

Candidate experience

Negative 18.8%
Neutral 25%
Positive 56.2%