Western Digital visited IGDTUW to hire interns for the role of Firmware Development. There were a total of 3 rounds.
Round 1 (Online Round): It was an Online Aptitude Test with a total of 45 questions to be done in 45 minutes. There were 4 sections 1) Aptitude – 15 questions, 2) C/C++ Programming – 10 questions, 3) DS and OS concepts – 10 questions, 4) Electronics – 10 questions. All sections were mandatory. The marking scheme was +1 for every correct answer and a -0.25 penalty for every wrong answer.
Round 2 (Technical Round – 1 hour 15 minutes): My interview was scheduled for 45 mins but it went for 1 hour 15 minutes. It started with a brief introduction about myself, then the interviewer asked me questions from my resume like about my projects and hobbies. After this, the following questions were asked:
- What are pointers? He asked me to explain them along with the code.
- Difference between structure and unions and their code implementation.
- Question – Bit manipulation – Write a code to replace the 3rd bit in a binary number 10100 such that the answer is 10000.
Given x = 10100
Take a = 00100 as we have to switch the third bit.
Now ~a = 11011
x AND a = 10100 & 11011 = 10000 ans.
- What is selection sort?
- What is call by value and call by reference?
- He then asked me to code the following program of Linked List – https://www.geeksforgeeks.org/problems/segregate-even-and-odd-nodes-in-a-linked-list5035/1
- Why we use the C language in hardware programming?
- In the end, he gave me a puzzle – https://www.geeksforgeeks.org/puzzle-12-maximize-probability-of-white-ball/amp/
Round 3 (Technical + HR round – 45 mins): It again started with a brief introduction and discussion about my projects. Then the interviewer asked me:
- About my technical and non-technical skills.
- He again discussed the coding question I did in the last interview.
- What is a circular queue? How it is implemented? He then asked me about traversal and deletion in a circular queue.
- What are scheduling algorithms in OS?
- How many programming languages I have worked on? How would I rate myself in C/C++ (out of 10)?
- Then he asked what it is to be a part of a team?
- What do I know about the company?
Result: Selected
Tips for preparing for Western Digital
- Practice coding in C language.
- Have a good understanding of Linked Lists.
- Remember the corporate values of WD: Think big, Do it together, Make it happen.