Distraught
1 questions · Other (1)
Distraught after an online C assessment test. Is this normal?
Question Details
Hey there! I recently got my master's in Electronics and Systems engineering. I have recently applied to a known big company, in particular to an embedded systems development role. Keywords thrown around were Python, C, C++, assembly... Of which I have good enough academic experience (roughly A grades in all subjects that involved them). So, it seems the recruiter was interested in my profile, so I got sent an online C assessment by one of those psychometric companies. I had 3 days to sit the test, and 1 hour to complete it. It was a timed test, 3 minutes per question. So I sat down for a couple days getting my C up to speed and doing online tests, expecting the usual: spotting memory leaks, identifying precedence order, scope, pass by value/reference, etc. I decided to sit the test today and my god, did I get massacred. It might be that I'm a terrible programmer and everything I'm going to mention is second nature to any good CS grad, but the questions I got felt completely brutal. Of course I don't remember the code for any of them but here are some of the topics: * Goto labels at esoteric locations (such as "int:3;" inside a struct declaration that you later referred to with goto:int, and had to explain exactly why the compiler failed). * Identifying the only (very contrived) way to bypass the restriction for the ternary operator "?:" to serve as an lvalue. Basically, they gave me a lot of variants of x? y:z = 5, none of which were the convenient (x? &y:&z) = 5 and asked which one didn't fail. I was lucky to even remember the whole lvalue issue because they didn't mention it. * Multiple nested statement blocks, with multiple variable declarations using the same identifier. The statement blocks were purposefully disjointed and obfuscated as something else (stuff like: "if(int i);{int i = 5);. They asked to say where the compiler would complain. This wouldn't have been so hard if I didn't have only 3 minutes to go through the whole thing. * Huge function that gave a compiler error because a 3/p in some arithmetic expression was interpreted as the start of a comment. No context was given, just "explain why it fails". I only noticed it because I furiously typed it on my syntax highlighted text editor in the last minute (obviously, code was supplied in pictures so I couldn't just copy-paste). * Questions related to unions, bit fields, goto, and other things that I'm not well versed in because I've been taught for years that they're evil and should be avoided. And so on. 90 minutes of this, and I felt like I had been run over by a train afterwards. To be honest, I feel appalled. Is this something companies expect recent graduates to know? I'm talking about an entry level job, with an entry level salary. I'm either underestimating the knowledge that is expected from me, or I have a bad case of Dunning-Kruger and thought I was a decent programmer for my age when I'm actually bottom of the barrel. I even got the only "honors" grade at my C and algorithms class, and I completely bombed what was supposed to be a basic competence C test. So, what happened here? Have you gone through similar experiences? Is this kind of test something I should prepare for? To be honest, I have been reading a lot on algorithms and data structures to prepare for job hunting, and these were completely absent from the test. I feel lost.