What’s wrong with “Race condition” in India?
-
Nishant Sivakumar wrote:
How many people write solid multi-threaded code anyway?
Fixed that for ya... ;)
Thank you, you've hit that nail hard on the head. Its becoming increasingly difficult finding graduates and some people with a year or two of experience under their belt that actually know how to code properly.
"Every time Lotus Notes starts up, somewhere a puppy, a kitten, a lamb, and a baby seal are killed. Lotus Notes is a conspiracy by the forces of Satan to drive us over the brink into madness. The CRC-32 for each file in the installation includes the numbers 666." Gary Wheeler "Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning." - Rick Coo
-
To all developers from India We are interviewing candidates for programming position in Hyderabad India. None of them is able to answer question "What is Race Condition". Can it be that you are using different term in India? Regards
To answer your question as it is written: we _do_ use the same term in India. The reason why your interview candidates are not able to respond is because this term isn\'t taught in college. Personally, I think it not important to know this term in order to be a good programmer (especially not with the chutku work that gets shipped to India). This term takes less than a minute to understand, and any programmer who has written a simple multi threaded application has thought through a related problem at some point. My 0.02 INR: I think your intention in asking this question is to figure out if your candidate is familiar with (or can anticipate) problems that can creep into a 'complicated' app. If your candidate does not understand 'race condition', Explain the concept and ask your candidate to respond with an example where this would be a problem in a program.
-
To all developers from India We are interviewing candidates for programming position in Hyderabad India. None of them is able to answer question "What is Race Condition". Can it be that you are using different term in India? Regards
No we use the same term here also. A race condition occurs when multiple processes access and manipulate the same data concurrently, and the outcome of the execution depends on the particular order in which the access takes place. A race condition is of interest to a hacker when the race condition can be utilized to gain privileged system access.
-
Ilia Blank wrote:
Can it be that you are using different term in India?
Hillary vs. Obama? If they fail the "what is a race condition", ask them "what is SEX?" My answer would be "Security Enabled XML". Marc
Marc Clifton wrote:
"what is SEX?" My answer would be "Security Enabled XML".
Simply Superb; Innovative Novel and Hilarious. :) :)
Vasudevan Deepak Kumar Personal Homepage
Tech Gossips
A pessimist sees only the dark side of the clouds, and mopes; a philosopher sees both sides, and shrugs; an optimist doesn't see the clouds at all - he's walking on them. --Leonard Louis Levinson -
Ilia Blank wrote:
Can it be that you are using different term in India?
Yes it's called "Caste Problem?".
You have, what I would term, a very formal turn of phrase not seen in these isles since the old King passed from this world to the next. martin_hughes on VDK
Rama Krishna Vavilala wrote:
e
It is just one e which makes the difference between the two islands of information. Just one e to strike the difference in the e-Age.
Vasudevan Deepak Kumar Personal Homepage
Tech Gossips
A pessimist sees only the dark side of the clouds, and mopes; a philosopher sees both sides, and shrugs; an optimist doesn't see the clouds at all - he's walking on them. --Leonard Louis Levinson -
Ilia Blank wrote:
None of them is able to answer question "What is Race Condition". Can it be that you are using different term in India?
I found that you had to use a few different synonyms to ensure that candidates understand you. For example I would ask questions about "Encapsulation, sometimes referred to as Information Hiding" I'm not sure what synonyms there are for a "race condition". Perhaps if you introduced it as "In the context of a multi-threaded process or application, what is a race condition?" it might give them enough of a hint as to what you are after.
Upcoming FREE developer events: * Developer Day Scotland Recent blog posts: * The Value of Smaller Methods * Creating Many-to-Many joins My website | blog
Yep. If someone would stare at me blankly after that, I'd aks "You did multi-threaded programming before?" and if affirmative, "What new problems arise with multi-threaded programming?"
We are a big screwed up dysfunctional psychotic happy family - some more screwed up, others more happy, but everybody's psychotic joint venture definition of CP
blog: TDD - the Aha! | Linkify!| FoldWithUs! | sighist -
Actually, to answer your question more seriously, a race condition is much more a hardware term than a software one. More here.[^] The equivalent of a race condition in software is not a deadlock but rather the reading/writing of the same data by two different threads. Locking is an attempt to prevent race conditions, and deadlocks are the result of improper locking. So, unless someone has some hardware experience, I'm not surprised that they wouldn't know the term "race condition". Marc
I've seen "race condition" used commonly and frequently for the software equivalent. And asking "What problem is reading/writing of the same data by two different threads?" doesn't make a good interview question.
We are a big screwed up dysfunctional psychotic happy family - some more screwed up, others more happy, but everybody's psychotic joint venture definition of CP
blog: TDD - the Aha! | Linkify!| FoldWithUs! | sighist -
??
He was meaning the
Apartheid
, perhaps.Vasudevan Deepak Kumar Personal Homepage
Tech Gossips
A pessimist sees only the dark side of the clouds, and mopes; a philosopher sees both sides, and shrugs; an optimist doesn't see the clouds at all - he's walking on them. --Leonard Louis Levinson -
Ilia Blank wrote:
Can it be that you are using different term in India?
Hillary vs. Obama? If they fail the "what is a race condition", ask them "what is SEX?" My answer would be "Security Enabled XML". Marc
> ask them "what is SEX? Well, be careful what you ask for, someone might have a long enough... TENURE... to know that SEX is a valid mnemonic for a Sign EXtended operation, an official instruction in the Motorola 6809 uP repertoire. Other platforms tried to push for 'SEX' on their instructions lists but efforts were stopped before the stuff got out of the lab.
-
To all developers from India We are interviewing candidates for programming position in Hyderabad India. None of them is able to answer question "What is Race Condition". Can it be that you are using different term in India? Regards
With multiple threads a race condition can occur when two threads are attempting to access the same data. Which one "wins" the race is extremely difficult to test or debug. In .net for example, the last iteration of a worker starts a race between exiting the worker and being cancelled by the owner thread. If the worker wins before setting cancel the owner will not know the thread was cancelled. // bad code if BackgroundWorker.CancellationPending DoWorkEventArgs.cancel // reason for quitting worker endif // race start ...do more work/recursive // race end return result // owner never informed of cancel (race condition) //good code if BackgroudWorker.CancellationPending DoWorkEventARgs.Cancel // either cancel or do more work else ...do more work/recursive // ensures final check with no race condition) end if return result // either cancel handled or thread exited normally
Dwayne J. Baldwin
-
To all developers from India We are interviewing candidates for programming position in Hyderabad India. None of them is able to answer question "What is Race Condition". Can it be that you are using different term in India? Regards
Do you allow them URGENT Access to code project?
-
Ravi Bhavnani wrote:
Nothing. If a candidate (Indian or otherwise) isn't able to answer the question, I would be inclined to believe they haven't done much multi-threaded programming.
I wonder if the OP's company is actually looking for a programmer to do some multithreading work. If not, it's a waste of time checking the candidate's abilities in areas he's not going to work on. Not having written multithreaded code does not automatically imply that a developer will be useless to a company. How many people write solid multi-threaded code anyway?
Regards, Nish
Nish’s thoughts on MFC, C++/CLI and .NET (my blog)
My latest book : C++/CLI in Action / Amazon.com linkImho, it's a basic CS question, regardless of whether the candidate's experience includes writing multithreaded code. However, I agree that getting into the down and dirty nitty gritty details of multithreading would be a waste of time if the position they're trying to fill has nothing to do with writing multithreaded code. /ravi
My new year resolution: 2048 x 1536 Home | Music | Articles | Freeware ravib(at)ravib(dot)com
-
To all developers from India We are interviewing candidates for programming position in Hyderabad India. None of them is able to answer question "What is Race Condition". Can it be that you are using different term in India? Regards
Nascar has race conditions three times every weekend.
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
-----
"...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001 -
Ravi Bhavnani wrote:
Nothing. If a candidate (Indian or otherwise) isn't able to answer the question, I would be inclined to believe they haven't done much multi-threaded programming.
I wonder if the OP's company is actually looking for a programmer to do some multithreading work. If not, it's a waste of time checking the candidate's abilities in areas he's not going to work on. Not having written multithreaded code does not automatically imply that a developer will be useless to a company. How many people write solid multi-threaded code anyway?
Regards, Nish
Nish’s thoughts on MFC, C++/CLI and .NET (my blog)
My latest book : C++/CLI in Action / Amazon.com linkWell, I hope I do, but my skills haven't been seriously tested yet. Most of my MT work has been on single-core systems (generally mobile devices) where there are fewer opportunities to screw up. I'm responsible for a DOS-(style-)emulating library for Windows CE, for porting applications written for DOS-based handhelds, which uses Windows GUI calls to run a window. We would have considered the actual CE console, but Pocket PC devices don't include that library and as far as I know, it's not redistributable. Even if it was available, you don't get control over the menu bars - we don't want the app to be closeable. My first version ran the application code and the UI code on the same thread. Whenever a keypress was requested or a sleep (equivalent), a message pump would be run to process the window's message queue and thereby update the screen. However, this didn't work well with processing-intensive parts of the applications, where you'd have to explicitly slip in a short sleep or direct message pump call to ensure the screen was updated. Also, CE would decide the application wasn't responding (which, of course, it wasn't). So after that had been in the market for a while and stabilised, I moved the UI to a separate thread. That thread creates the window, but Windows' UI processing model requires that keyboard input goes to the active window, so now keyboard input has to move from the UI thread to the application thread. There's some interesting synchronization in there to manage the keyboard buffer. The application thread also writes its text directly into the "screen buffer" structure, then calls InvalidateWindow to tell the window to update itself - I found the overhead of cross-thread window messages too great. There are a few messages used to configure aspects which require full synchronization, for example resizing the screen buffer. In addition the devices have built-in barcode scanners and we have a separate thread which manages that - the manufacturer includes an API which sends scanned data to the window but this was found to be unreliable. Some of our applications respond differently to scanned input compared to the same input entered by hand, so using a keyboard wedge is not appropriate. At some point we have to do something about the single-threaded nature of our application server (the core process is a VB6 standalone EXE, it farms out requests to a pool of worker processes which are themselves single-threaded VB6 ActiveX EXEs). It's just not scaling at present - that is, it's not showing
-
To all developers from India We are interviewing candidates for programming position in Hyderabad India. None of them is able to answer question "What is Race Condition". Can it be that you are using different term in India? Regards
Most Indian developers are not necessarily computer engineers or who otherwise have exposure to computers beyond chat and orkut. In larger companies, all graduates are put into a 3-6 month training program. They are then placed into existing teams writing business logic code in well controlled frameworks. After some time, these developers latch on to a particular vertical (eg retail) and build their career around implementing more business rules in even more well controlled and abstracted frameworks. Of course, not all jobs are like this - just the overwhelming majority. If you want to ask questions on race conditions, you need to interview students from computer science background and from top universities.
-
To all developers from India We are interviewing candidates for programming position in Hyderabad India. None of them is able to answer question "What is Race Condition". Can it be that you are using different term in India? Regards
There is a variety of ways they could have heard the term, even in different contexts. For example, the first thing I thought about when reading your question was "Ah, yes, it's the problem with Verilog". That's because I work on an EDA tool that parses hardware descriptions written in the Verilog language, which is prone to race conditions. Then I thought about multithreading. So I find strange that every candidate hasn't heard it somehow. I believe however that one should not draw the conclusion that "if they haven't heard about this technical term, they don't know what multithreading is". My impression is that software engineering is still a bit chaotic when it comes to naming things. In a text you may find the term "race condition" actually defined, in another one you may find that it is classified as just another problem arising from the pre-emptiveness of the thread system.
-+ HHexo +-
-
I'd be surprised if a decent candidate hasn't heard of the term. My best guess is that the candidates did not get your accent. Sometimes Indians find it hard to understand a foreign accent, specially if the foreigner himself is not himself or herself a native English speaker. Although it might sound a little like you are being condescending, perhaps you could have tried spelling the words out. If the candidate is insulted, the good thing is that he's on the other side of the planet from you - so not much awkwardness there I guess. Of course, you might just have been interviewing the wrong candidates. If they are unemployed and are more than a month out of college/school, chances are good that they aren't very smart. in my opinion, the trick to hiring quality people in India is to hire people who already work for reputed companies. As my boss likes to say often, a lot of Indian programmers have "Indian programmer syndrome" and he does not mean that in a nice way either. You gotta find Indians who don't have IPS. They are out there, but they are hard to find.
Regards, Nish
Nish’s thoughts on MFC, C++/CLI and .NET (my blog)
My latest book : C++/CLI in Action / Amazon.com linkNishant Sivakumar wrote:
My best guess is that the candidates did not get your accent. Sometimes Indians find it hard to understand a foreign accent, specially if the foreigner himself is not himself or herself a native English speaker.
This is weird, I got to work with a lot of Indians, not in India altough. And they got the worse accents I ever heard. They didn't do any effort to speak better, I just had to do my best effort to try to understand what they where saying, so the least I expect, is the same in the other way. Is it like this in India too? Do they have this terrible accent?
-
Perhaps a suggestion for http://www.questpond.com/[^]
Vasudevan Deepak Kumar Personal Homepage
Tech Gossips
A pessimist sees only the dark side of the clouds, and mopes; a philosopher sees both sides, and shrugs; an optimist doesn't see the clouds at all - he's walking on them. --Leonard Louis Levinson -
Actually, to answer your question more seriously, a race condition is much more a hardware term than a software one. More here.[^] The equivalent of a race condition in software is not a deadlock but rather the reading/writing of the same data by two different threads. Locking is an attempt to prevent race conditions, and deadlocks are the result of improper locking. So, unless someone has some hardware experience, I'm not surprised that they wouldn't know the term "race condition". Marc
Marc Clifton wrote:
The equivalent of a race condition in software is not a deadlock but rather the reading/writing of the same data by two different threads. Locking is an attempt to prevent race conditions, and deadlocks are the result of improper locking.
Yep.
Marc Clifton wrote:
So, unless someone has some hardware experience, I'm not surprised that they wouldn't know the term "race condition".
If sonmeones done any driver work they wil be very familiar with this too.
Morality is indistinguishable from social proscription
-
Yes, they say "but it works on m computer" there :rolleyes:
We are a big screwed up dysfunctional psychotic happy family - some more screwed up, others more happy, but everybody's psychotic joint venture definition of CP
blog: TDD - the Aha! | Linkify!| FoldWithUs! | sighistpeterchen wrote:
but it works on m computer
Truly. I have encountered such people coming for the interviews very many times. Also, they give replies based on their own 'internal framework'.
Vasudevan Deepak Kumar Personal Homepage
Tech Gossips
A pessimist sees only the dark side of the clouds, and mopes; a philosopher sees both sides, and shrugs; an optimist doesn't see the clouds at all - he's walking on them. --Leonard Louis Levinson