I have been working at Cavium Networks full-time
Love this place. Learn so much every day.
Nothing that I can think of
Advice to Management
Place more emphasis on validating the numerous chips you are taping out
Getting an Interview
Getting an Interview
- No OfferNegative ExperienceAverage Interview
I applied through a recruiter. The process took 2 weeks – interviewed at Cavium Networks (San Jose, CA).
Weird interview process, unhappy and unprofessional people.
Here is my view of the onsite-interview at San Jose.
1. They seem to have an internal questionnaire which they think is the best. Remember that correct answers can't make them happy. Also, interviewers have a tendency to take you in a wrong direction.
2. C programming questions they ask are repetitive and easy. However you need to know that your solution has to be the exact one what interviewer has in his mind. If it is better than that, they are not happy. This makes me feel that they are insecure as it might be making them nervous since you are smarter.
3. Regarding Linux kernel and TCP/IP, they have routine questions (listed in the questions section). They are not happy if you know the concept and suspire sadly.
4. One guy gives you a C-program and starts talking nonsense continuously without allowing you to think. Somehow managed to write a correct solution while still having a smile at his stupid sense of humor. One needs to time it well even if they have a good sense of humor.
5. Another guy threw the paper and pen, asked all questions he had to and starts texting on his phone. Though he says ask any questions I may have, he can't take his eyes off the phone and does not pay enough attention. I see this as highly unprofessional attitude and highly distracting in an interview. I was completely off. At the end of the interview, he stood up and showed his back with an angry face. No chance of asking questions. He thinks you are not human. Engineer comes later.
6. Another guy with all the sadness in the world. Not happy to say hello too. Probably did too many interviews and said too many "NOs". Who asked him to take so much of pain ?
- 1. Kmalloc/vmalloc
2. Memory Barriers. Types of memory barriers
3. C-program to traverse an array of integers that hold 0's or 1's, only once and sort them with all zeros on one end and all ones on another end of the array.
Each element has to be traversed only once.
4. Volatile. What will be the behavior if an integer declared as int is typecasted to volatile while accessing.
5. How traceroute works
6. How do you implement a spin lock.
7. What happens if a transmitted TCP FIN packet is lost. I am sure he has a wrong answer in his mind for this. Hence you can't beat him.
8. How is printf implemented with variable length arguments. How are parameters passed to stack.
9. Familiarity with PCI and USB drivers if you have experience.
10. Bottom halves. What are the differences between softirqs, tasklets and workqueues. What happens if a tasklet/softirq is not able to schedule as the other one is holding a lock.
11. Print a given number as a power of 2. For ex: 15 = 2^0 + 2^1 + 2^2 + 2^3. Take care of corner cases.
12. C program to multiply two given numbers without using a " * ".
13. A 64 bit number is expressed as two 32 bit integers with hi and low as shown below
typedef struct uint64_s
Write a program to add two 64 bit numbers.
14. Multi processor question: In a multi-processor environment, how does the packet pick only one processor ?
15. What does the program do ?
What is the necessity of if statement ?
Does it work for all data sets ?
unsigned int n;
n |= n >> 1;
n |= n >> 2;
n |= n >> 4;
n |= n >> 8;
n |= n >> 16;
if(sizeof(n) > 4)
n |= n >> 32;
Ans: Given a number, program outputs the next largest power of 2. If input is a power of 2 itself, then output is same as input. This is because the number is decremented before performing the logic. Answer Question
- 1. Kmalloc/vmalloc
Let us know if we're missing any workplace or industry recognition –
Cavium (formerly Cavium Networks) can help keep networks secure without hiding them in a cave somewhere. The company designs specialized microprocessors used in secure network transmissions, based on processor technology developed by ARM and MIPS Technologies. Cavium's customers have included Cisco Systems, Fujitsu, Nokia, Samsung Electronics, Sumitomo, and ZTE. Manufacturing is contracted out to Fujitsu Semiconductor, Taiwan Semiconductor Manufacturing, and United Microelectronics. Distributors handle around one-third of sales. Customers in the US account for more than a...