I would test you on something like this:
1) Test your bit-level logic skills: How do you swap the values of two variables without using a third variable?
2) Test your compiler skills: What is volatile/const/static and why are they important/useful?
3) Test your data structure skills: How do you test whether a linked list has a loop in it?
4) Test your algorithm skills: What are the differences between quick sort and bubble sort?
5) Test your memory skills: How would you allocate 1kB of memory and align it to a 16 byte boundary? How do you free it?
6) Test your critical thinking: Implement "int atox(const char* str, int radix)".
7) Test your resource management skills: Write a function that takes an unsigned int and returns it with the bits reversed. Write another function that does this and uses the smallest compute time possible (assume infinite memory).
8) Test your threading knowledge: How would you mitigate a race condition caused by multiple threads trying to read and/or write to a single buffer?
9) Test your technique: Approximately how many lines of code are in the average function, ideally?
10) Test your method: Is readability or efficiency more important? What are your thoughts on TDD?
1) Test your bit-level logic skills: How do you swap the values of two variables without using a third variable?
2) Test your compiler skills: What is volatile/const/static and why are they important/useful?
3) Test your data structure skills: How do you test whether a linked list has a loop in it?
4) Test your algorithm skills: What are the differences between quick sort and bubble sort?
5) Test your memory skills: How would you allocate 1kB of memory and align it to a 16 byte boundary? How do you free it?
6) Test your critical thinking: Implement "int atox(const char* str, int radix)".
7) Test your resource management skills: Write a function that takes an unsigned int and returns it with the bits reversed. Write another function that does this and uses the smallest compute time possible (assume infinite memory).
8) Test your threading knowledge: How would you mitigate a race condition caused by multiple threads trying to read and/or write to a single buffer?
9) Test your technique: Approximately how many lines of code are in the average function, ideally?
10) Test your method: Is readability or efficiency more important? What are your thoughts on TDD?