baidu intern exam writing part

笔试之后

extern "c"

C++语言支持函数重载,C语言不支持函数重载。函数被C++编译后在库中的名字与C语言的不同。假设某个函数的原型为:   void   foo(int   x,   int   y);

该函数被C编译器编译后在库中的名字为_foo,而C++编译器则会产生像_foo_int_int之类的名字。

C++提供了C连接交换指定符号extern“C”来解决名字匹配问题。


TCP连接 上次还看过的结果看得太粗略了,看到了连接的开始,漏看了连接的关闭(唉)。
time_wait(完全理解错误)
TCP再次重新认识
1、建立连接协议(三次握手)

2、连接终止协议(四次握手)

全双工:当数据的发送和接收分流,分别由两根不同的传输线传送时,通信双方都能在同一时刻进行发送和接收操作
半双工:若使用同一根传输线既作接收又作发送,虽然数据可以在两个方向上传送,但通信双方不能同时收发数据

TCP连接是全双工的,每个方向都必须单独进行关闭。
发送FIN来终止这个方向的连接。收到一个FIN意味一方向上没有数据流动,但仍可以发送数据。

TCP TIME_WAIT状态(2MSL)
一般来说,tcp正常关闭需要四个包。比如a和b关闭连接,a先给b发一个fin,b会进行确认ack,然后b也会发出
fin,当a接受到这个fin,并发出最后一个ack后,就会处于time_wait状态。

作用:TIME_WAIT状态的作用就是用来重发可能丢失的ACK报文,并保证于此。

今天参加了实习生笔试,感觉题目都还好,考了一个图的拓扑排序 结果拓扑排序具体怎么做给忘了 写了个术语
现在来补上伪码。
TOPOLOGICAL-SORT(G)
1   call DFS(G) to compute finishing times f[v] for each vertex v
2   as each vertex is finished, insert it onto the front of a linked
3   return the linked list of vertices

构造一个系统 能够支持1000亿记录的存储和查询(url, ip, time)
其实类似于海量数据的存储和查询

没想好这个是干嘛,待续。。。

你可能感兴趣的:(c,tcp,insert,语言,each,编译器)