Wednesday, November 25, 2015

Xilinx Interview Questions


Xilinx Interview Questions for an embedded system in software development domain.
The interview that I attended for Xilinx India Technology Services Pvt Ltd. for a Senior Engineer post and the requirement was for Linux Device Driver Developer.
There were a total 5 rounds of technical and 1 HR round. All technical rounds were full of technical questions only and there were no such problem solving questions I encountered.
In my opinion it was not that tough to crack this interview, and it was an average experience.


Round #1
The first round was basic C questions and some of the Linux kernel questions.

    Q1: How comfortable are you in C and data structures?
    Q2: What is structure padding?
    Q3: Write a program to detect if a system is little-endian or big-endian?
    Q4: Can you write a program to convert big-endian to little-endian?
    Q5: Why do we use copy_to_user() in kernel programs?
    Q6: Why volatile keyword is used?

Round #2
This was a short round and contain some generic and some specific questions to topics I have worked on my career.

    Q1: Why do you want to change your job?
    Q2: Have you notified your manager about your problems?
    Q3: How a particular driver is called or loaded for a device?
    Q4: Explain basic driver architecture.
    Q5: How did you design your driver?
    Q6: What is static and dynamic module linking in Linux kernel?
    Q7: How an interrupt from your device propagates to the IRQ handler that you registered?

Round #3
The interviewer was keep on questioning me on my understanding of complete system hierarchy and where do my driver sits in the system.
This was really an interesting round.

    Q1: In which domain you worked?
    Q2: What is SCSI?
    Q3: How do data transfer happen in between the system and your controller?
    Q4: Who initiates the data transfer?
    Q5: How your driver is invoked by the system?
    Q6: Can you explain the complete I/O propagation path?
    Q7: What is PCI SR-IOV?
    Q8: How did you implement SR-IOV in your driver?
    Q9: How did you detect from your driver that you are dealing with a physical function or a virtual function?
    Q10: What is Scatter/Gather?
    Q11: Why do you need a Scatter/Gather?
    Q12: Can you write a C program to remove a node from a single linked list?
    Q13: What is little-endian and big-endian and how do you detect if your system is little-endian or big-endian? [Repeated question from Round #1]

Round #4
This was again a short round. The interviewer just introduced himself and explained where I will be working if I will be selected.
As he was a Director of Hardware IP cores, so he just asked some of the basic questions from Linux device driver concepts.

    Q1: How a an I/O propagates from an application to your driver? [Repeated question from Round #3]
    Q2: How your driver is probed?

Round #5
This was again a technical round with some of the questions repeated from other rounds.

    Q1: Big-endian and little-endian? [Repeated question from Round #1 & #3]
    Q2: How to convert a Big-endian DWORD to little-endian? [Repeated question from Round #1]
    Q3: Have you worked in a multi-threaded environment?
    Q4: What is synchronization in kernel?
    Q5: What is sysfs in Linux?
    Q6: Have you ever worked with kernel crash dumps?
    Q7: What is NULL pointer de-referencing?

After this there was a final HR round. There were typical HR questions and nothing extra on this part.
I hope this information will be helpful to some of you people.


If you would like to contribute, mail us your interview experience at "q4interview@gmail.com"We will like to publish it on "q4interview.blogspot.in" and let's help other job seekers.

No comments:

Post a Comment