C++ 面试题演练

2019.7.7-16.00
自我介绍一下吧
项目里用到libevent讲一下对它的了解


讲了reacter模式

reactor模式是这样一种模式, 主线程只复杂监听文件描述符上是否有事件发送,有的话就通知工作线程,工作线程通过回调函数机制先注册相应的事件,等到主线程通知,工作就是就触发相应的事件。


面试官说请讲一下具体实现的细节


这个网络库怎么实现的


我讲了主要看到了epoll select poll kqueue等

 


讲一下epoll实现原理

 


线程池调度模式

当任务队列中任务过多时,调度线程开启更多线程来工作, 当任务队列中任务比较少时,调度线程会关闭多余的线程


我说生产者消费者模式,工作队列


还问到了用到了什么锁


我说互斥锁,和信号量


如何高并发中解决大量互斥锁带来的巨大开销
这个不会,瞎说的分成读写事件,读不加锁,写加锁~~~


线程池大小如何确定


讲一下数据库的索引

讲了b 树实现,问这个b 树还有那些应用我说文件系统,和索引

你会c 是吧,那问几个相关的问题的吧,用的那个版本
c 11了解share_ptr吗,实现原理,手写代码
讲解lambda函数吗,讲解一下实现原理,讲解一下捕获参数的实现 和stl里function中的bind的区别


右值引用了解吗,右值和左值的区别


既然这样move就不问了


说一下多态吧 虚函数表 虚函数指针 含有虚函数的sizeof,空class的sizeof


tcp握手挥手两件套 time-wait原因,以及服务器会出现吗


再问项目这个分布式的项目有点尴尬,明明是一个算法,就是就是个纯理论啊~~
讲一下另一个项目,组合优化是类似于背包问题吗?你是怎么解决你的问题的
差不多啦,开始编程吧
1-25放在5*5格子里,每一行每一列都按照递增的顺序放,有多少种放法?
不会-_-||
有一个数组里有n个数从中等概率的取出k个数。
讲了一种思路,面试官说换一种思路求解没想出来
链表的快排~~~
思路有问题写了一半,时间差不多了
还有什么想问的吗
将近一个半小时的面试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值