Wanted to see if you would be interested in intermediate / senior embedded systems C or Java on Linux developer position with our client , fast growing (100+ employees), transportation software development firm, west of Toronto. [...] Call meSo I started probing about jd, location, $. Being that I am in Boston I requested a phone interview first, to sort them out (the jd indicated that they wanted and Embedded Linux expert and a C#/MS-SQL maven in one body -- cruel, eh?).
He came back with
G**b liked your profile but would like to proceed to 30 min logic test online before scheduling phone call interview.Interesting: on one hand they are looking for
- 5+ years embedded development in C
- 3+ years embedded Linux development
Myself I am not opposed to online professional proficiency tests but alas this was an IQ test, you known if 3 squares point this way how would the next 2 point?. But I never liked this kind of riddles and am not good at them as they bore me to tears.
The test did have 3 [simple] programming questions which I will show below. Alas they were phrased in VisualBasic and I only have the C transliteration.
I sent back the prog solutions and they insist on going thru the whole shebang.
So this lead nowhere and to me it shows how some Canadian employers are highly disrespectful with the candidates' time and competence (to me it would have been more fruitful to spend the same amount of time to chat with them on the phone than to waste it on dumb riddles).
(The connoisseurs have enjoyed thes antics with G**b, Mo*ega and other such shops with weird hiring policies.)
-ulianov
1.======= int f(int x) { if(x == 1) return 1; return x * f(x-1); } int main() { int y = f(8); // What does it print? ==> 8! = 40320 } 2.===== #includeint XYZ(int Y) { int X = 20; printf("%d\n", X); return X*Y/3; } int main() { int X = 10; printf("%d\n", X); printf("%d\n", XYZ(X)); printf("%d\n", X); return 0; } /** What is the output? 10 20 66 10 **/ 3.======== #include int XYZ(int Y) { int X; int Z = -10; for(X = 1; X <= Y; X++) { if((X % 2) == 0) Z +=3; else Z++; } return Z; } int main() { int X = 10; printf("%d\n", XYZ(12)); return 0; } /** What is the output? 14 **/