3.24虎牙直播一面

非常注重实操,时长57min59s
1.用过extern吗,说下extern关键字
2.用过虚函数吗,说一下
3.什么时候需要虚析构函数
4.怎么调用动态链接库
答完以后他说我说的是静态链接库。。我就只好说不知道了
5.用过STL吗,vector和list的区别
6.vector的数据是在栈上还是堆上分配
堆上
7.vector怎么在栈上分配
不知道,然后告诉我重写allocator
8.进程和线程的区别
9.说下你用过的线程通信方式
答了互斥量,信号量,原子操作,屏障
10.原子操作怎么实现的
不知道,提示说是汇编层面的支持
补充:(10.1.)用过互斥量吗,什么情况下用的
11.调用函数是怎么确定返回值的
说是栈实现的,他没说对错
12.用过管道吗,怎么实现的
说是make,其实不知道
13.用过共享内存吗,怎么实现的
mmap,从底层讲了一堆
14.共享内存怎么实现双向通信的
一开始说只能一边读另一边写,他说这样就是单工的了,回答说那只能加锁了,然后告诉我因为是共享内存,即便加锁也依然快
15.共享内存怎么实现管道
用队列实现(并且是循环队列),还要加锁(没说出来)
16.用过map吗,map的底层结构是什么
红黑树
17.红黑树的增删查复杂度是什么
O(lgn)
18.用过unordered_map吗,底层结构是什么
哈希表
19.说下解决哈希冲突的方法
讲了链表法和开放寻址法
20.你自己实现过这两个吗
实现过链表法(其实并没有。。)
21.什么时候用unordered_map,什么时候用map
map会打乱数据(因为会排序),在不能打乱数据的情况下用unordered_map,他说我是不是说反了,我仔细想了下觉得应该没有说反。。。
22.用过socket吗,说下API的连接过程
23.TCP粘包知道吗,怎么处理的
24.IO多路复用知道吗,说一下
select/poll/epoll都讲了
25.你是怎么用epoll的
只是测试过。。
26.epoll线程安全吗
洋洋洒洒一大堆得出结论说不安全,最后他说是安全的。。这个问题很复杂,最后他说了公司的实际场景,说虽然epoll线程安全,但是由于TCP会分包,还是会有问题,因为TCP分包候可能会被不同线程的IO读取造成差错(高并发下还是多个线程处理海量IO的),做法是让每个属于同一个TCP包的分包
27.说下水平触发和边沿触发
28.数据库了解吗,说下数据库有哪些粒度的锁
29.编程时怎么判断insert语句成功的
看返回状态
30.编程时怎么判断update语句成功的
这个比insert复杂,因为update即便成功,也有可能返回0行(并没有真正改变数据)
31.只是在命令行里用过吗?实际编程呢?
编程时也有,可以返回影响的行数
32.说下replace语句
没印象。。最后跟我说replace是如果有数据就替换,没有就插入
33.说下数据库的主从复制
34.数据库复制的两种方式
一开始没听懂,后来提示后才知道是复制的对象,有两种,一种是复制数据,一种是复制语句,在从数据库里把语句再执行一遍
35.什么是CAP
名词解释完了后,他还补充说只能满足其中两个
36.什么是一致性哈希
分布式环境下保证某个数据只会映射到同一台机器,说了解过,但是不知道具体怎么实现的
37.软件性能优化
讲了几句话发现并没有回答,尴尬收尾,他也没多说啥
38.说下你的专利
39.怎么实现的,和别人对比过吗

给我的评价是网络编程/高并发有待加强

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值