PCG的QQ部门上午:-----------------------一面------------------------1、你简历上写了会爬虫,你可以介绍一下你爬虫的经验吗?2、介绍一下HTTP协议3、你了解HTTP协议的报文格式吗?HTTP可以使用其他端口吗?4、HTTP协议的状态码你了解哪些?5、说一说static关键字的作用有哪些6、C++里面的指针和引用有什么区别?7、你了解哪些设计模式?8、谈谈你对哈希表的理解。他是怎么扩容的?9、了解多线程和多进程吗?多线程和多进程要注意什么问题?10、你了解什么是闭包吗?11、算法题:顺时针打印数组元素12、反问部门业务、主要技术栈下午:-----------------------二面------------------------1、自我介绍2、算法题:反转链表,如果链表长度为奇数,则中间元素不变,反转中间元素之前的部分和中间元素之后的部分;如果链表长度为偶数,则反转前半部分和后半部分例如 1 2 3 4 5 6 ————> 3 2 1 6 5 4;例如 1 2 3 4 5 6 7————> 3 2 1 4 7 6 53、计算机网络:在TCP中有四次挥手,如果通信双方变成了单工通信,那么只需要几次挥手?为什么(两次)4、介绍一下栈和堆的区别。他们一般分别放什么内容?如果发生overflow一般是什么原因?如果发生Out Of Memory又可能是什么原因?5、介绍一下进程和线程的区别6、当你做进程同步的时候会引入锁机制,锁会带来性能开销,你是怎么考虑这个事情的?那怎么尽量较少锁带来的性能开销呢?(锁的粒度不能太小)7、刚刚提到栈和堆,我现在又两个栈,请你使用这两个栈实现一个队列8、你学习操作系统的时候,遇到的最大的困难是什么?9、你刚刚提到了页表,那你讲讲一级页表和二级页表他们的目的是什么?10、假设在系统里要执行一个程序,简单讲讲从操作系统的角度来看需要做哪些事?11、那代码的编译过程是怎样的呢?你刚刚提到了词法分析和语法分析,他们是在哪个阶段做的?(编译)12、你一般怎么做进程间通信?共享内存需要考虑什么问题?13、反问接下来的流程(一轮技术面+一轮HR面)