百度4C++PHPGO暑期实习三连面面经(已OC)

早上9点开始，大概 11点半结束 
三个面试官都很好，不清楚的情况下会引导你，面试体验很好！ 
我主要用 golang，所以 c++和java什么的基本没问，有些问题忘记了，就记录一下还能想起来的 

-----------------------------------------------------------------
一面 60min 

1.自我介绍 
2.项目 
3.C++的类和struct的区别 
4.计算结构体的size(要考虑内存对齐) 
5.进程，线程，协程 
6.golang的goroutine是如何调度的(GMP调度模型) 
7.goroutine之间的通信 
8.channel的底层实现 
9.TCP三次握手 

算法题： 
(1)单链表奇偶节点交换 
如： 1->2->3->4->5 变为 2->1->4->3->5 
(2)给定一个文件，包含1亿个ip，每个ip一行，可能是无效ip，要求统计出现次数最多的ip地址，只有1GB内存 

------------------------------------------------------------
二面：40min左右 

1.自我介绍 
2.项目 
3.TCP和UDP的区别，各自的应用场景 
4.建立TCP的过程中服务端和客户端都需要调用什么函数，listen函数的参数都有哪些 
5.线程间通信方式，进程间通信方式 
6.多进程或者多线程项目写过吗 
7.设计模式了解吗，说一下观察者模式，怎么实现 

算法题： 
单链表相加 
1->2->3 + 4->5->6 = 5->7->9 
三面：35min左右 
面试官是小姐姐，基本就是聊天，自我介绍，项目，实验室的团队，研究方向，职业规划，入职时间，可实习时间等等，没有算法题 

很奇怪的是，三场面试完全没有问mysql和redis...
