Skip to contentSkip to footer
  • Community
  • Jobs
  • Companies
  • Salaries
  • For employers
      Notifications

      Loading...

      Elevate your career

      Discover your earning potential, land dream jobs, and share work-life insights anonymously.

      employer cover photo
      employer logo
      employer logo

      MosChip

      Is this your company?

      About
      Reviews
      Pay and benefits
      Jobs
      Interviews
      Interviews
      Related searches: MosChip reviews | MosChip jobs | MosChip salaries | MosChip benefits
      MosChip interviewsMosChip Linux Device Driver Developer interviewsMosChip interview


      Glassdoor

      • About / Press
      • Awards
      • Blog
      • Research
      • Contact Us
      • Guides

      Employers

      • Free Employer Account
      • Employer Centre
      • Employers Blog

      Information

      • Help
      • Guidelines
      • Terms of Use
      • Privacy and Ad Choices
      • Do Not Sell Or Share My Information
      • Cookie Consent Tool
      • Security

      Work With Us

      • Advertisers
      • Careers
      Download the App

      • Browse by:
      • Companies
      • Jobs
      • Locations
      • Communities
      • Recent posts

      Copyright © 2008-2026. Glassdoor LLC. "Glassdoor," "Worklife Pro," "Bowls" and logo are proprietary trademarks of Glassdoor LLC.

      Followed companies

      Stay ahead in opportunities and insider tips by following your dream companies.

      Job searches

      Get personalised job recommendations and updates by starting your searches.

      Linux Device Driver Developer Interview

      7 Sept 2012
      Anonymous employee
      Hyderābād
      Accepted offer
      Positive experience
      Average interview

      Application

      I applied in-person. The process took 1 day. I interviewed at MosChip (Hyderābād) in Aug 2012

      Interview

      ********************** MY MOSCHIP INTERVIEW ON 30-08-2012 AT HYD ********************* (A very long interview I have ever faced. It started at 10.00am sharp and ended at 4.30pm with short lunch break of 45 min in between) -------------- C WRITTEN TEST 1 HOUR ------------------- /* There were 13 questions from C and 2 questions from Logical section that were very simple*/ Q1) Write a program to display Xth bit of a given number. Q2) What does in *p++ increment? Q3) What is the difference between char a[]="string" and char *a="string" ? Q4) What is the output? main() { printf("%x",-1<<4); } Q5) What is the difference between array of pointers and pointer to an array ? Explain with example. Q6) What is the output ? main() { int a, b, c, abc=0; a = b = c = 40; if(c) { int abc; abc = a+b*c; } printf("c=%d, abc=%d",c,abc); } Q7) What is the output? main() { int i=5; i = i++ +i ++i; printf("%d",i); } Q8) Declare a function pointer and explain with an example using it. Q9) What is the output? #define ABC 20 #define XYZ 10 #define XXX ABC+XYZ main() { int a; a = XXX * 10; printf("%d",a); } Q10)Write a data structure and print all its elements values implementing a function pointer. Q11)Write a program to delete a given node from a single link list. Q12)Write a program to reverse a string. Q13)What will be the output? main() { char a[]="1234567890"; char p; p = (a+1)[5]; printf("%d",p); } Q14)Logical section question on a simple tricky diagram Q15)Two numbers add to 110. One number is 150% than the other. What are the two numbers?

      Interview questions [1]

      Question 1

      CONTINUED HERE AS 5000 CHARACTERS LIMIT SIZE IN THE ABOVE COLUMN -------------------------TECHNICAL ROUND I -------------------------- (2 hours 45 min -very lengthy round i have ever had) Q1) Introduce yourself technically. Q2) Asked about my projects. Q3) Asked about my educational background. Q4) How will you proceed if the kernel source code that you downloaded does not support your board? What are the steps you will take? Q5) Write all the directories in linux that will be visible to you on your system and the directories of your kernel source code that you have downloaded. Differentiate between both. (Here he asked me whether I am sure of my answers that I wrote wherein I was too confused ) Q6) What is procfs ? What is the importance of procfs? Why it has got that name? Q7) What is sysfs ? Q8) What does /dev contain? Q9) How do you create node for a block device? Q10)How do you automatically get major number without using udev ? (He asked bcoz I answered udev will automatically update. He wants me to answer by not using udev functions) Q11)Can the same number be used for creating nodes for both char and block devices? Q12)Draw the block diagram for a char device driver implementation? (I explained about char device driver by writing all steps. He then asked me further questions ) Q13)Where file_operations have been used in registration? ( I answered cdev_init(my_cdev,&my_fops) and wrote all steps) Q14)What happens if you pass major number as 0 in register_chrdev_region()? Q15)Can you make your low-level driver directly interact with application without using core layer ? Is core layer mandatory? ( He asked me this question because I drew the block diagram for keyboard low-level driver with core layer and HLD) Q16)You have registered your file_operations with VFS layer. What about ISR routine and how will you register ? Q17)How your driver initialization will take place? What is the entry point for a driver? (I answered abt init and exit routines and drivers, modules and kernel service routines do not have pids. So they are invoked in process contexts. He then asked again questions) Q18)What is a PCB? Q19)What is a Stack section? Q20)How will be variables allocated in memory? How will you access heap? Q21)How many types of interrupts are there? (I answered software and hardware. I also said abt Bottom halves) Q22)What is the difference betw. various BHs and where do you apply? Q23)Is there any precaution for softirqs running simultaneously? Why and how do you solve? (I answered: applying synchronization techniques for shared access) Q24)Difference betw. various synchronization techinques and when do you need? Q25)Why semaphores are not used for ISRs? Q26)How do you implement threads? Q27)What is the basic difference betw. multiple processes and multiple child processes? Q28)Did you write any applications? ( I said no.) Q29)Write a small application to read 4 bytes and write 4 bytes for my device /dev/ttyS0. (As it was very simple. I wrote it and he then stopped as if he were satisied by my answers. A Very long interview!) -------------------------TECHNICAL ROUND II -------------------------- (30 min) Q1) Introduce about yourself and about your work so far. Q2) Questions on all my projects. Q3) Few questions about my background. Q4) How would you allocate memory in kernel? Q5) Write a data structure with integer and character as its elements. Q6) What is the size of this data structure? (I answered about structure padding as he was expecting the same answer from me) Q7) Allocate memory in heap by using the above data structure. How will you allocate then in stack? Q8) Initialize the above data structure. Implement a function by using which print the values of the data structure elements. Q9) Asked me to correct some logic about deleting a given node in linked list. Q10)Asked some personal questions and some discussion went on package ****** END OF INTERVIEW AT 4.24PM****** MOST DIFFICULT QUESTION: Comparison of the source code with the current kernel running on my system
      1 Answer
      12

      Bowls

      Get actionable career advice tailored to you by joining more bowls.

      Company Bowl sample

      Want the inside scoop on your own company?

      Check out your Company Bowl for anonymous work chats.