epoll的原理、优势、实现都是有料可谈的,牛客也有精品贴解析epoll源码。C++11实现线程池也比较简单的,不过也可以聊到你对特性的掌握,比如可变模板参数,以及基于这个特性实现的C++标准线程库、functional等。
网络编程的核心不是socket那套API,也不是epoll这种I/O多路复用的API,而是TCP协议本身和产生的影响、各种errno的产生原因和处理,说白了就是去看《TCP/IP详解》、《Unix网络编程 卷一》,还得学习一些常用的Linux命令去调试网络状态。对应届生而言基础最重要。
在各种现场框架上进行Web后台开发和C++的后台开发是不一样的,这样搞就走偏了,大概面试官让你看的不是这种框架,而是nginx、redis这种成熟框架的源码实现,当然这些是C写的(这也说明C++某些所谓优雅的特性也并不是那么必要嘛)。
不知道楼主看过陈硕的《Linux多线程服务端编程》没,我想看了后会明朗不少,大概会发现写这个demo时不少问题都没考虑过。其实我感觉看懂这本书和muduo库的话能力就已经够好了。
要学一门其他语言的话,建议学Go而不是Java,和C/C++在后台开发上的领域比较像,感觉用Go取代C++的场景越来越多了。不过Go学习也不难,完全可以拿到offer后甚至入职后再学,不花什么时间的。
--------------------------------------------------------------------------------------------------------------------------
话说这年头了还谈适不适合女生的,这很不女权,很性别歧视。这年头女生体力就是比男生差、不适合工地搬砖、消防救火之类的传统观念都已经是直男癌、***癌、沙文***猪的性别偏见了,编程这种只靠脑力的东西还区分个什么男女生?担心受到歧视说女生不能加班?前端、后台、算法有哪个是稳稳的不用加班的?害怕歧视,不如加入微博女权大军,一起为平权发声!