求救!哪位好人周二之前能帮我做好啊~~~~谢谢!
The following 9 questions are to test your conceptual understanding of computer science. There are no standard answers to these questions; and there is no score system to grade your performance. So don’t worry about the score. Feel free to express your technical opinions and creativity, as you deem appropriate. Through this set of Q&A, we mainly intend to know more about your thinking pattern and ability to conceptualize and to reason.The test will be 45~60 minutes. Please try to answer in English and type up your answers in MS Word. Please be as concise and clear in your answers as possible. If you have difficulty expressing in English at times, you can use Chinese to substitute.
Interview Questions:
1. C++ related (10 point)
class A {
public:
void a();
virtual void b();
}
class B : public A {
void a();
void b();
}
main(){
A * v1 = new B();
v1->a();
v1->b();
}
For v1->a(), which function is called a::a() or b::a()? And why?
For v1->b(), which function is called a::b() or b::b()? And why?
2. Data structure related(10 point)
You have to deal with a large data set {large quantity of objects with the same data type} and need to perform insert/access/delete/modify operations on these objects frequently, what data structure is most suitable to hold the data set and why?
3. VC compiler related(10 point)
How to debug a DLL or OCX using VC?
4. Windows Message related(10 point)
What is the difference between a window message and a call back function?
When should one use a user defined window message and when should one use a call back function?
5. COM/DCOM related(10 point)
Can you use an OCX without putting it on a form? And How? {Which interface do you use to connect the OCX events to the message handlers?}
6. Thread related(10 point)
What is multi-thread environment?
How to achieve data integrity in multi-thread environment and why it is important to do so?
What is a deadlock?
7. GUI related(10 point)
What does it mean by thread-safe GUI and how to make a GUI component thread-safe?
8. Networking Related(10 point)
What is the difference between TCP and UDP? What is the implementation difference?
What is multicast? Which protocol does multicast use, TCP or UDP? Why use multicast? Can you add/remove destination address on the fly (dynamically) to a multicast socket?
9. Problem Solving Related(20 point)
1. Here is the situation:
I. There is an incoming streaming of data thru TCP/IP in raw format
II. You need to process these data into a user defined format
III. There are clients that randomly connect/disconnect to/from you
IV. You need to relay the processed data to all the clients connecting to you
V. You need to have a GUI showing how much data is processed and which client is connected.
Draw a simple design diagram showing:
• How to achieve the above and specify what data type is used
• If thread is used, show where thread-safe techniques should be implemented
• Explain what kind of networking protocol/techniques is used at different places and why choose such implementation
Explain why and how you come up with this design and what the pros and cons are.
10.The two topic below are program, you can do it at home. After you finishing it, please send it to chimi@ Thanks!
a. Using C++ to implement a simple hash table class to store thousands of string data. The class should provide the methods at least for Add, Remove, Set and Get.
You need to provide a test stub program to validate your design.
(90 minutes- 120 minutes. Please work this out on your PC.).
b. There are two players to play a game with 4x4 positions. Each player can take one position for his turn. The winner is the first one to take all of four positions in one line.
The figure shows three winning cases.
Let’s design a simple application using C++ to make the judgment which player wins a game.
(45 minutes. Please work this out on your PC.).