The description of GameHall and my program experience for interview
This projext named GameHall is a platform that allow users to plying card and the chess. It cost me one and a half month to finish it.The primary techniques are:
1st base on C# TCP Socket asynchronism multithreading.
2nd nearly 60 protocols define meself for transfer byte data between Server and Client. I use Serialization to encapsulte message from each other.
3rd ProxyServer. I don't want Server's burden too high, so I design a Proxy Server for my project. Once four client sit in the same desk and all prepare to start the game, then the fourth client will be named "ProxyServer", he deal with the the progress when playing card, including shuffling, sending card and judgment, in other words, a new Socker start to listen and other three client begin to send and receive message from it. At last if game over, Proxy Server will tell my original Server the score.
My original Server only response for client's login/chat/update user's score in Database and other simply action, so the trade-offs is an optimization now.
4th Many design patterns use in my this project. I use Observer to transfer message between forms; use flyweight to draw card; use Template to define Judgment.
5th I save the clinet thread object in my Server. So if server want to send socket to A clinet, he will find this user in a hashtable and send message only to A, not B or C Clinet
I'm an honest and hardworking and responsible programmer, with rich OOP knowledge and developing experience.
I like C# and study it nearly three years. Last year I begin to read Design Patterns, which make me go deep into
the OOP technique such as inheritation, encapsulution and polimoyphism.
My old company is Quantacn, a large factory response for Notebook and server's assembly. One Product-line has a database and a set of program to record every machine data during assembling and testing. My job is to mantain these data and program. During these 2 years, I write SQL every day, so in this aspect my experience is rich: Temp table; StoreProcedure view function in SQLServer, i am skillful. In my spare time, my boss always give me some project for other department's requirment incluing WEB and application, large or small, two weeks or a month, use C# or vb.net, each project will give a update.Today i leave work because i want to c my strength so please give me this position improve myself.Thank you.