i like stardark engine better
I've created a fairly simple test quickly last-night. It's just on general C++ test, and you should be able to pass it no problem. Note we will probably be using C for about 35 - 40% of the project(depending on the driver load). A more difficult test will probably be given after passing this one. I just wan't to see the number of people that pass this one before writing a much more difficult one. If I write a difficult one now I may just be wasting my time if no one passes it. This one covers general C++, the actual project will be much more difficult. This is just to make sure we're not carrying an anchor around with us.
You're allowed to use references for questions that ask about classes such as the vector class. But you should be able to do a lot of them without reference. Cheating on this test will just waste both of our time, so don't bother. If you cheat it will be obvious once we start development. You will be testing yourself, submit your completed test to me via PM:
General questions
0.1 Explain pointers, how they work, what they can be used for, how would you use them with arrays?
0.2 Explain classes, and how they are used in an Object-Oriented design?
0.3 Using MSDN Library, explain how to make use any API
0.4 Whats the difference between an array and a vector. What are the advantages of using a vector? Which is safer, and why?
(vector here reffers to the class defined in vector.h header)
0.5 What are the uses of the bit-shifting, and, or and exclusive or operators? How would you make use of them? How would you use them with flags?
0.6 What are namespaces, what are they used for?
0.7 What is class inheritance? What is it used for? How do protected, private, and public members come into play when working with inheritance?
0.8 What would a static library be used for? In what situation would you use it in?
0.9 What is a dyamically linked library used for? In what situation would you use it in?
1.0 What's the use of a class constructor and destructor
1.1 When is an approriate time to use enumerators?
1.2 In which situations would you use a struct opposed to a class and vise-versa
1.3 What is a buffer-overflow. How can you avoid it? What risks does it introduce to your software?
1.4 What's the difference between static variables in the scope of a function, opposed to non-static variables in the scope of a function?
1.5 What's the difference between an inline method versus a normal method?
1.6 How would you override a method, what is it's purpose, and when is it a appropriate to do so?
1.7 What's the purpose of a virtual method in a class?
1.8 How would you write a method with an undefined number of parameters using functions or macros defined in the stdarg.h header.
1.9 What is an exception handler, what is it's purpose, and how is it exploited by a reverse engineer?
2.0 What's the difference between a software and a hardware breakpoint?
2.1 What problems to you see with the code below(Ignore syntax errors if they exist, and exclusion of required headers):
enum e_flagsText
{
FlagsTextBold = 0x1,
FlagsTextItalic = 0x2,
FlagsTextUnderlined = 0x4,
FlagsTextRed = 0x5,
};
int main(int argc, char** argv);
int count = 0;
int main(int argc, char** argv)
{
if(argv <= 1)
print_usage();
int totalArgs = argc;
for(count = 0; count < totalArgs; count++)
printf("Arg:%d, %s", count, argv[count]);
char buffer[50];
strcpy(buffer, argv[1]);
MessageBox(0, TEXT("MsgBox"), "MsgBox" , MB_OK);
return -1;
}
2.2 What is a stack frame? How does the caller perform a cleanup(in the cdecl calling convention). And how are parameters accessed and passed using registers and the stack?
2.3 List at least four segment registers.
2.4 Write a quick diagram, which demonstrates how a driver should interface with it's counterpart(I.e usermode application). Does it involve
a library to middleman the communication?
Problem Solving
I'll try my best to make them difficult :S
0.1 You're developing a piece of software that needs to communicate with a customer's software. The protocol used for communication may change as the product
advances, and you want to create a simple interface the customer can use to program their software. How can you solve this problem?
0.2 You have a diamond, and you need to figure out if a given point is within or outside of the diamond, how would you do this mathimatically, given only the position of
the diamond, it's size(width\height), and the position of the point being variables x, and y in the formula.
- Location: x: 10 y: 15. Size: Width = 30. Height = 30.
0.3 You have an array of characters such as "element1.element2.element3.element4", where '.' is the delimiter. How would you parse each element individually. Without using a buffer or creating an array of any sort. Write your own method(s) to perform the task.
0.4 You have a large 4GBs of physical memory. You need to figure out which regions of that memory are in use, and which regions are not. You can do this by keeping track of all memory allocation and deallocation, however, your solution needs to be memory efficient, and quick to locate allocatable regions. What is your solution to this problem? Write some pseudo code to demonstrate how it is deallocated and allocated. You must not make use of any libraries to do this.
There are two types of tragedies in life. One is not getting what you want, the other is getting it.
If you wake up at a different time in a different place, could you wake up as a different person?
Lmao. Big-ass test.... Well ok. Already had a fkin Calc test today >_> ... but whatever, shouldn't be that hard....
"Every gun that is made, every warship launched, every rocket fired signifies, in the final sense, a theft from those who hunger and are not fed, those who are cold and are not clothed. This world in arms is not spending money alone. It is spending the sweat of its laborers, the genius of its scientists, the hopes of its children. The cost of one modern heavy bomber is this: a modern brick school in more than 30 cities. It is two electric power plants, each serving a town of 60,000 population. It is two fine, fully equipped hospitals. It is some fifty miles of concrete pavement. We pay for a single fighter plane with a half million bushels of wheat. We pay for a single destroyer with new homes that could have housed more than 8,000 people. This is, I repeat, the best way of life to be found on the road the world has been taking. This is not a way of life at all, in any true sense. Under the cloud of threatening war, it is humanity hanging from a cross of iron."- Dwight D. Eisenhower
You can do it whenever convenient, just have it in next week latest.
There are two types of tragedies in life. One is not getting what you want, the other is getting it.
If you wake up at a different time in a different place, could you wake up as a different person?
Ummm.. finished your quiz, but can't send it in.
BTW: Do I have to answer all the question, because I fail at the two last ones... =/Code:The text that you have entered is too long (13601 characters). Please shorten it to 5000 characters long.
Last edited by why06; 10-30-2009 at 10:48 PM.
"Every gun that is made, every warship launched, every rocket fired signifies, in the final sense, a theft from those who hunger and are not fed, those who are cold and are not clothed. This world in arms is not spending money alone. It is spending the sweat of its laborers, the genius of its scientists, the hopes of its children. The cost of one modern heavy bomber is this: a modern brick school in more than 30 cities. It is two electric power plants, each serving a town of 60,000 population. It is two fine, fully equipped hospitals. It is some fifty miles of concrete pavement. We pay for a single fighter plane with a half million bushels of wheat. We pay for a single destroyer with new homes that could have housed more than 8,000 people. This is, I repeat, the best way of life to be found on the road the world has been taking. This is not a way of life at all, in any true sense. Under the cloud of threatening war, it is humanity hanging from a cross of iron."- Dwight D. Eisenhower
Why don't you make it open source once its far in head where people can't just rip it and start their own version, like cheat engine, people will still use the original.
BRING BACK BT, BRING BACK SAGA, BRING BACK VF, BRING BACK MPGHCRAFT, BRING BACK HABAMON
When we have a release, the source will likely be released. Based on final release. We aren't going to have the source public from the start so some one can just come along, rip the code and claim they made the first release.
THE EYE OF AN ADMINISTRATOR IS UPON YOU. ANY WRONG YOU DO IM GONNA SEE, WHEN YOU'RE ON MPGH, LOOK BEHIND YOU, 'CAUSE THATS WHERE IM GONNA BE
"First they ignore you. Then they laugh at you. Then they fight you. Then you lose.” - Dave84311
HAVING VIRTUAL DETOX
OMG JETAMAY YOUR NOW MAKING MPGH HIGHSCHOOL FUCK.
Oh hai, I diisasta would like to apply for the job.
I don't want to get paid, but I want a blowjob from dave /hour.
jew!
THE EYE OF AN ADMINISTRATOR IS UPON YOU. ANY WRONG YOU DO IM GONNA SEE, WHEN YOU'RE ON MPGH, LOOK BEHIND YOU, 'CAUSE THATS WHERE IM GONNA BE
"First they ignore you. Then they laugh at you. Then they fight you. Then you lose.” - Dave84311
HAVING VIRTUAL DETOX
AT LEAST I KNOW HOW TO SPELL UNDER MY USERNAME AND ON TOP OF MY USERTAG.
jew!
THE EYE OF AN ADMINISTRATOR IS UPON YOU. ANY WRONG YOU DO IM GONNA SEE, WHEN YOU'RE ON MPGH, LOOK BEHIND YOU, 'CAUSE THATS WHERE IM GONNA BE
"First they ignore you. Then they laugh at you. Then they fight you. Then you lose.” - Dave84311
HAVING VIRTUAL DETOX