Advertisement

How qualified am I?

Started by September 08, 2007 10:14 PM
29 comments, last by Jerax 17 years, 2 months ago
Promit's example is exactly the kind of question you will probably run into. I would also suggest freshing up on time complexity (big O) for most common algorithms and containers, if its been a while since you studied that.

As mentioned, your "resume" is way too wordy. This tells me a lot more about you:

Quote:
Languages:
C++ (proficient) Java (proficient)

Graphics API:
I have Dabbled in both OpenGL/DirectX I have a decent knowledge of both. I consider myself very proficient in using the Ogre3d library which uses both.

Demo:
i have 3-4 Small Games and My College Homework Helper (an app i wrote to do and show the work for alot of my college classes).


If you have the time I would suggest learning at least one more language. Something like Lisp, SML, python/ruby/lua etc (don't you do any functional programming in you CS program??)

EDIT: you don't have to get that language to an "expert" level, but it shows that you are open minded and interested in programming.
god...what's goin on with this example?? second destructor fails - but why?
Advertisement
Quote: Original post by Eitsch
god...what's going on with this example?? second destructor fails - but why?


I assume he meant:
class C : public A, public B
otherwise its not going to compile (at least on GCC).

The problem is that we need to declare A and B's destructors virtual, that way we get the proper behavior.

Normally (single inheritance) if you forget this the destructor called for
delete b;
is only B's destructor (it wont care about the fact that its actually C), and normally this would only mean that whatever resources were allocated in C are not freed. However, since this is multiple inheritance the layout of an object will be different than for single inheritance. a and b will be set to point inside the C structure, but with different offsets. a is of class A and the first in the inheritance list, so it gets a zero offset (which is why its destruction doesn't crash). b on the other hand gets an offset because normally the class (C) would be stored something like this in memory:
 ---------| class A ||---------|| class B ||---------|| class C ||---------|


This means that when we call the destructor for B it wont call C or As, and will try to deallocate memory in the middle of an allocated block, which causes it to crash. At least I think so ;D this is a bit hairy, did I get it right?
Quote: Original post by jchmackDo they really ask this much of entry level QA guys lol? Geez im not even trying for programmer... How would you recommend i prepare then?

No, everyone is assuming you are aiming for an entry level programmer position which is what you should be aiming for. After you graduate your CS course, you should be on course to aim for an entry level programmer position.

Steven Yau
[Blog] [Portfolio]

Quote: Original post by rollo
This means that when we call the destructor for B it wont call C or As, and will try to deallocate memory in the middle of an allocated block, which causes it to crash. At least I think so ;D this is a bit hairy, did I get it right?


Yep.
Quote: Original post by jchmack
Is it possible for me to get a Game Development job now... without a degree or previous work in the industry?
Same question was asked just last week. You should read http://www.gamedev.net/community/forums/topic.asp?topic_id=462898. Also you are asking the wrong question - anything is possible. What you need to know is how probable it is.

Dan Marchant - Business Development Consultant
www.obscure.co.uk
Advertisement
Quote: Original post by rollo
Quote: Original post by Eitsch
god...what's going on with this example?? second destructor fails - but why?


I assume he meant:
class C : public A, public B
otherwise its not going to compile (at least on GCC).
I did, yes. Slight transposition error. Your assessment of what's happening here is also correct.

Oh, and I'm not trying to show off. This is an abbreviated version of a question I was actually asked on an interview on Friday. The problem is that you, like I*, have no real experience, and game companies have limited amounts of time to spend on bringing someone up to speed on the basics. Asking questions like this lets them figure out if you actually know anything about the language or just wrote a few bits of code in it. I've been questioned on the opposite end of the spectrum too, with templates and STL/boost and junk, but the details always seem to be much more popular.

* Grammar nazi check. Is the use of "I" correct here?
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
should be "me" I think, but I'm not a native english speaker.

This is a pretty tricky question, and to be fair, personally if I was judging an applicant I'd be ok with them saying that it would break unless you declared ~A and ~B virtual. Actually saying why and how it crashed is more of a bonus point. I'd be worried if they said the code looked fine though :S
To be nitpicky, on a lot of compilers and runtime environments with a non-debug build, it won't actually crash for that short program. However, it would probably corrupt the heap, which would probably then make the next memory allocation or deallocation crash.
Quote: Original post by Promit
The problem is that you, like I*, have no real experience...

* Grammar nazi check. Is the use of "I" correct here?

Yes. The simple way to check is to explode the statement into more explicit clauses:
"You, like I, have no real experience..."

becomes
"You have no real experience like I have no real experience..."

This makes it trivially clear that "me" would be an inappropriate substitute pronoun.

This topic is closed to new replies.

Advertisement