NVIDIA Interview Question for Software Engineer / Developers






Comment hidden because of low score. Click to expand.
3
of 3 vote

An ownership kind of thing is associated with a mutex. The thread which takes a lock,can release a lock.It is used to mutual exclusion on the same block.

Semaphore on the other hand, acts as a signaling mechanism. A thread can enter into critical section after receiving signal from some other thread.
In short, a lock can be released by some other thread apart from the thread which has acquired it.

- john.matheus July 16, 2012 | Flag Reply
Comment hidden because of low score. Click to expand.
2
of 2 vote

Mutex:

Is a key to a toilet. One person can have the key - occupy the toilet - at the time. When finished, the person gives (frees) the key to the next person in the queue.

Officially: "Mutexes are typically used to serialise access to a section of re-entrant code that cannot be executed concurrently by more than one thread. A mutex object only allows one thread into a controlled section, forcing other threads which attempt to gain access to that section to wait until the first thread has exited from that section."
Ref: Symbian Developer Library

(A mutex is really a semaphore with value 1.)

Semaphore:

Is the number of free identical toilet keys. Example, say we have four toilets with identical locks and keys. The semaphore count - the count of keys - is set to 4 at beginning (all four toilets are free), then the count value is decremented as people are coming in. If all toilets are full, ie. there are no free keys left, the semaphore count is 0. Now, when eq. one person leaves the toilet, semaphore is increased to 1 (one free key), and given to the next person in the queue.

Officially: "A semaphore restricts the number of simultaneous users of a shared resource up to a maximum number. Threads can request access to the resource (decrementing the semaphore), and can signal that they have finished using the resource (incrementing the semaphore)."
Ref: Symbian Developer Library

- vaibhav garg March 14, 2011 | Flag Reply
Comment hidden because of low score. Click to expand.
1
of 1 vote

Also, Sempahore can be used across processes, but mutex cannot.
mutex - lock an unlock should be done by the same thread
Semaphore - lock and unlock can be done by different threads

- V June 19, 2011 | Flag Reply
Comment hidden because of low score. Click to expand.
0
of 0 votes

is it os dependent?
Semaphone lock and unlock can be done by different threads - don't agree with this statement...

- srik545 January 15, 2012 | Flag
Comment hidden because of low score. Click to expand.
0
of 0 votes

You are wrong Mr V. Who said mutexes cant be used across processes ?.I think you need to go thru std OS books again.

- vhajela June 23, 2013 | Flag
Comment hidden because of low score. Click to expand.
0
of 0 votes

I think what you are trying to say is that a mutex can be released by a thread only if it was taken by the same thread. This isn't necessary for a semaphore.

Effectively this makes semaphores an IPC mechanism while mutexes not so much.

- abhi_284 January 29, 2014 | Flag


Add a Comment
Name:

Writing Code? Surround your code with {{{ and }}} to preserve whitespace.

Books

is a comprehensive book on getting a job at a top tech company, while focuses on dev interviews and does this for PMs.

Learn More

Videos

CareerCup's interview videos give you a real-life look at technical interviews. In these unscripted videos, watch how other candidates handle tough questions and how the interviewer thinks about their performance.

Learn More

Resume Review

Most engineers make critical mistakes on their resumes -- we can fix your resume with our custom resume review service. And, we use fellow engineers as our resume reviewers, so you can be sure that we "get" what you're saying.

Learn More

Mock Interviews

Our Mock Interviews will be conducted "in character" just like a real interview, and can focus on whatever topics you want. All our interviewers have worked for Microsoft, Google or Amazon, you know you'll get a true-to-life experience.

Learn More