腾讯面经

下午2:30,珞珈山国际大酒店。

第三次来到这里了,前两次的腾讯实习生面试都是一面就挂了。今天的运气也不怎么好,估计又挂在一面了。闲话少叙,面试题记录如下:

1.自我介绍加介绍项目

答:blablabla....

 

2.core文件是什么,有什么用?

答:程序崩溃以后,会把最后的栈信息存在core文件里,方便程序员了解程序崩溃前最后的栈信息。

追问:如果程序core了,但没产生core问价,是何原因?

答:没有打开core文件生成的开关。ulimit -c unlimit

追问:不用core文件,程序出了问题产生信号是否知道?

答:当时蒙了,现在回想起来,就是内核向进程发信号嘛。没答出来。

 

3.共享内存,不使用同步方式,是否可以安全读写?

答:这一题答偏了,不知怎么扯到fork上去了。可以通过循环队列实现,CAS。

 

4.fork后,子进程保留了父进程的什么?

答:子进程的内存区是父进程的副本,堆栈等都会继承过来,还有打开的文件描述符等。其实还有很多,比如实际用户ID,有效用户ID,当前工作目录,存储映射等等。

 

5.共享内存除了文件映射还有什么方式?

答:共享内存对象映射。

追问:二者有什么区别?

答:不知道。

 

6.tcp怎么实现流量控制?

答:对端告知窗口大小。本端传递的数据量小于窗口大小。(更好的说法是告诉对端本地的窗口的大小,对端传递的数据量必须小于该窗口)

追问:怎么告知窗口大小?

答:在ACK的报文里。

 

7.编程题(没搞出来,诶~)

问:一个超长字符串表示的十进制数(大于2^32),转化为十六进制的字符串?

 

posted @ 2014-09-16 16:42  米其林轮船  阅读(400)  评论(0编辑  收藏  举报