I know Kiwiplan, Datacom all have some graduate positions, i think IBM has a small branch in NZ is well...
From my experience, for a junior, they dont expect you to know everything, but rather, they are looking to grow you into the team, so
1. Know the basics, they may ask syntactical questions. So knowing the basics is a good idea.!
2. Be prepared to do whiteboard programming questions, they are not looking for a "perfect answer" (so to speak, but they just want to see how you think.
3. Show your enthusiasm, really important!!! Let them know that you are interested, dont be shy!
4. 知之为知之 不知为不知! If you dont know, then dont pretend that you do! Be honest, and in the end, you can express that you are a fast learner, and you like challenges and you are willing to learn.
5. People skills! How you fit into the team.
我觉得面试非常重要,基本只要你能demonstrate, 你聪明 热情,可以和 team member 合得来 基本都是没有问题
1. What is polymorphism? Explain how it works
2. What is garbage collection? Explain how it works.
3 What is the difference between an abstract and a virtual method?
4. What is managed and unmanaged memory in C++?
5. How to assign a null value to a boolean in C#?
6. OS question. Process C is using some resource, If Process A has priority over process C, and Process A needs to use the resource now. How should you design the OS to deal with it...
7. Name the 7 OSI layers.
8. What is the difference between C, C++ and C#? If you were to choose a language to write a program, how would you go about choosing the language?
9. What is the difference between threads and processes?10. Can the compiled C++ code be read by different machines? What about C#?
Programming questions
1. Write a recursive method that caculates the square root of a number?
2. There is a long sentence s with length n. How to derive sentence s', such that s' has all the words in s, except the duplicates. Programm needs to have time complexity n.
3. Given a string, write a program that iterates through all the possible permutations of the string.
Debugging questions:
1. There are several changes made to the code, now the code stops working. You have no idea why it stopped working, How do you go about finding out the problem?
Answer: Something like, you will narrow it down by eliminating some changes, tries to single out the changes that caused the problem.
2. You start running one of your program, and suddenly, your keyboard and mouse stops responding, the computer freeze. How will you try to figure out what is wrong?