
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
Candidate interview experiences
First-hand accounts from people who interviewed at SanDisk.
Software Engineer
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.
- 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?
Software Engineer
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.
- Questions about basic data structures like arrays
- Questions about basic data structures like linked lists
- Questions about basic data structures like stacks
Software Engineer
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.
- 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 →“How can you detect a loop in a linked list?”
Read reports →“How can you identify a loop in a linked list?”
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.