掌握C/C++编程语言,理解面向对象思想,熟悉封装、继承、多态的思想;
了解C++11特性,如智能指针,右值引用,四种类型转换;
熟悉STL容器 ,如Vector、List、Deque、Queue、Stack;
熟悉常见的设计模式如单例模式,中介者模式,观察者模式,工厂模式等以及设计原则;
熟悉Qt的基本操作,以及QT信号与槽机制;
掌握Socket网络编程,熟悉OSI七层模型、TCP/IP协议,C/S模型;
熟悉Linux的基本命令,Shell、GDB调试、线程安全、进程间通信、多线程、线程池、EPOLL模型、动态库、静态库;
熟悉MySQL的基本操作,了解视图、事务、范式、存储过程、索引等知识;
掌握数据结构,如数组、链表、哈希表,二叉树等;
熟悉快排、堆排、冒泡排序,掌握KMP、二分查找等算法,了解常见的算法思想,如分治、递归。
基于C/S架构,服务端在Linux系统下搭建,客户端在Windows下使用Qt实现聊天界面搭建,服务器采用Epoll和线程池模型实现对客户端请求响应交互,通过TCP协议实现服务端和客户端的数据交互,中介者模式进行类之间的解耦,使用MySQL进行数据的存储,利用MD5用户信息进行加密。