熟练掌握C/C++,python,爬虫,了解linux和windows环境开发,以及会使用常见的开发工具,了解常用的设计模式。熟悉常用的数据结构。Hadoop/Hive大数据存储和计算系统,会基本数据分析和可视化。掌握基本的数据库的相关知识和编程知识,了解tcp/udp网络协议,熟悉qt图形开发技术。会使用git管理仓库。
HttpServer
使用Epoll边沿触发的IO多路复用技术,非阻塞IO,使用Reactor模式
使用多线程充分利用多核CPU,并使用线程池避免线程频繁创建销毁的开销
使用基于小根堆的定时器关闭超时请求
主线程只负责accept请求,并以Round Robin的方式分发给其它IO线程(兼计算线程),锁的争用只会出现在主线程和某一特定线程中
使用eventfd实现了线程的异步唤醒
为减少内存泄漏的可能,使用智能指针等RAII机制
使用状态机解析了HTTP请求