腾讯(游戏运营开发)实习一二面凉经
一面9.15(45min)
2.linux进程间通信方式有哪些
3.管道使用的注意事项,如果出现了僵尸进程的话
4.linux命令串联了多个管道,是原子性的吗,如果前面某一步失败了,后面的执行是怎样的,前面的会回退吗
6.进程和线程的区别,线程切换开销在哪些地方
7.哪些资源是线程在进程里共享的,c++代码里的方法和变量哪些在进程空间里,哪些在线程空间里
8.进程里面的堆和线程里面的栈有什么区别
9.在main函数里申请一个数组空间,扩大它的大小,malloc这种,它是分配在哪个空间上
10.select、epoll这些多路复用解决了什么问题,如果没有这些怎么做I/O读写,select也是去逐个扫描一遍,用select和不用select有什么区别
11.项目里用哈希表做状态转换具体是怎么实现的,假设这些状态后期越来越多,初始化分配的哈希表大小不够,怎么去处理呢
12.STL里的哈希表动态增长是怎么实现的,如果重新计算哈希把旧的迁移过去,如果有很高的读写并发要求,怎么办呢,看过STL哈希表动态扩容的源码吗,用过中间件传输吗,mysql、redis这种,知道一致性哈希吗
13.容器技术有了解过吗?A进程看不到B进程,B进程也看不到A进程,linux里面是怎么实现的?namespace就可以做到互相看不到,那cgroup有什么作用
14.http1.0和http1.1的区别
二面9.19(1h15min)
1.项目
2.get和post有什么区别
3.http和https的差别,https相比http的优势和劣势
4.IO多路复用同步和异步有什么区别
5.进程、线程、协程的区别
6.什么是多路复用
7.epoll和linux原生的select区别是什么
8.场景题:秒杀场景
9.代码题:判断括号串是否合法,括号有优先级,如“([])”为false,“()())”为false,“{((()())())[()]}()”为true
写代码的时候出了一点问题,发现腾讯会议的代码框写不了,折腾了好久,最后共享了屏幕。面试官说他们那边实习生大多都是中科院的,都会实习一年,不太想招只实习三个月的,然后我马上表明了我可以长期实习,但不影响我菜直接被挂掉