百度北京运维电话一面
2014-08-13 18:54
246 查看
问了挺多问题的,都是很基础的,之前就听在运维的师兄说运维需要相当底层的知识,现在体会到了~~
问题记录如下
1)进程和线程的区别?Java线程和Linux线程的区别?
答:进程是程序的执行,是动态的概念,是计算机分配资源的基本单位; 线程是由进程产生的,多个线程可以负责执行不同的任务,提高并发程度。(线程是CPU调度的基本单位这个没答)
2)Linux软链接和硬链接的区别?
3)TCP关闭链接的过程是?(四次挥手)
答:1.客户端和服务器端都可以发起关闭链接,发起的一方称为主动方; 2.主动方发送包含FIN=1报文,表示希望结束链接,这是一次挥手; 被动方接收后,发送包含ACK确认的报文给主动方,主动方接收到后关闭向被动方发送的通道,这是二次挥手; 当被动方数据传输完毕要关闭连接时,同样发送包含FIN=1的报文,这是第三次挥手; 主动方接收后响应ACK,被动方收到后关闭连接, 这是第四次挥手。至此,连接关闭。
4)简述下计算机网络流量控制。
答:TCP通过滑动窗口实现流量控制。因为具体记不清了,就如实说了,这题勉强通过。
5)什么是“线程安全”?Linux怎么实现进程间通信的?
答:“线程安全”是指多个线程对共享资源的访问保持一致性。可以通过设置锁实现。。
进程间通信,可以通过Socket编程实现。。面试官说这是一种方式,但不是最常用的, 问最常用的方式都有什么?
关于线程/进程间通信可以参考 http://blog.csdn.net/kobejayandy/article/details/18863543
6)设计一个时间效率高的算法,将多个有序队列合并成一个有序的队列。假设内存可以一下子放下,空间复杂度不考虑。
答:用两两有序队列合并成新的有序队列的方式。面试官提示有更好的。没想出来,pass掉。
7)C++里面引用和指针的区别?Java里面有指针或者引用么,怎么实现的?
答:引用是变量的别名,实现上可以用常量指针实现。引用一经定义就必须绑定到某个变量,并且以后不能绑定其他元素,对引用的操作就是对变量的操作。而non const指针比较灵活,在定义之后可以改变其值使它指向另外的内存,但这种灵活性也给程序的安全带来隐患,比如由于某些原因导致指针所指向的内存是未定义的等等。C++推荐使用引用,并且如果没有修改数据的必要,建议使用const引用。
Java到处都是指针和引用,只是对普通用户是透明的。因为JAVA和垃圾收集机制,所以普通用户不用担心内存管理。
8)如果你是设计语言的,阐述下你怎么设计malloc。
不会。。
9)问我擅长哪一方面,我答毕业课题是无线网络协议方面的,了解的比较多。然后面试官问协议和实现有区别么,有的话区别是什么?
答:协议是通信双方的一种约定,比如数据发送的格式、顺序等,实现是指具体的方法,两者是完全不同的概念。面试官说回答正确。
==The End==
问题记录如下
1)进程和线程的区别?Java线程和Linux线程的区别?
答:进程是程序的执行,是动态的概念,是计算机分配资源的基本单位; 线程是由进程产生的,多个线程可以负责执行不同的任务,提高并发程度。(线程是CPU调度的基本单位这个没答)
2)Linux软链接和硬链接的区别?
3)TCP关闭链接的过程是?(四次挥手)
答:1.客户端和服务器端都可以发起关闭链接,发起的一方称为主动方; 2.主动方发送包含FIN=1报文,表示希望结束链接,这是一次挥手; 被动方接收后,发送包含ACK确认的报文给主动方,主动方接收到后关闭向被动方发送的通道,这是二次挥手; 当被动方数据传输完毕要关闭连接时,同样发送包含FIN=1的报文,这是第三次挥手; 主动方接收后响应ACK,被动方收到后关闭连接, 这是第四次挥手。至此,连接关闭。
4)简述下计算机网络流量控制。
答:TCP通过滑动窗口实现流量控制。因为具体记不清了,就如实说了,这题勉强通过。
5)什么是“线程安全”?Linux怎么实现进程间通信的?
答:“线程安全”是指多个线程对共享资源的访问保持一致性。可以通过设置锁实现。。
进程间通信,可以通过Socket编程实现。。面试官说这是一种方式,但不是最常用的, 问最常用的方式都有什么?
关于线程/进程间通信可以参考 http://blog.csdn.net/kobejayandy/article/details/18863543
6)设计一个时间效率高的算法,将多个有序队列合并成一个有序的队列。假设内存可以一下子放下,空间复杂度不考虑。
答:用两两有序队列合并成新的有序队列的方式。面试官提示有更好的。没想出来,pass掉。
7)C++里面引用和指针的区别?Java里面有指针或者引用么,怎么实现的?
答:引用是变量的别名,实现上可以用常量指针实现。引用一经定义就必须绑定到某个变量,并且以后不能绑定其他元素,对引用的操作就是对变量的操作。而non const指针比较灵活,在定义之后可以改变其值使它指向另外的内存,但这种灵活性也给程序的安全带来隐患,比如由于某些原因导致指针所指向的内存是未定义的等等。C++推荐使用引用,并且如果没有修改数据的必要,建议使用const引用。
Java到处都是指针和引用,只是对普通用户是透明的。因为JAVA和垃圾收集机制,所以普通用户不用担心内存管理。
8)如果你是设计语言的,阐述下你怎么设计malloc。
不会。。
9)问我擅长哪一方面,我答毕业课题是无线网络协议方面的,了解的比较多。然后面试官问协议和实现有区别么,有的话区别是什么?
答:协议是通信双方的一种约定,比如数据发送的格式、顺序等,实现是指具体的方法,两者是完全不同的概念。面试官说回答正确。
==The End==
相关文章推荐
- 【百度】生态质量部 测试开发实习生 电话一面
- 百度数据挖掘实习生一面电话面
- 百度母婴 寒假实习一面(电话面试)
- 百度电话一面
- 谨纪念第一次面试,电话面试,百度一面。。
- 百度北京一面2016-3-18
- 百度LBS部门电话一面
- 中国工商银行数据中心(北京)一面--2011
- 北京电子地图 谷歌-百度-高清-搜狗电子地图 地图14、17、19级图片
- 2008百度一面
- 阿里一面(电话面试)
- 百度电话面试
- 百度运维面试
- 2016腾讯北京安全技术岗一面总结
- 网易一面(电话 3.6下午 一面通过)
- P54 5.北京某高校可用的电话号码有以下几类:校内电话号码由4位数字组成,第一位数字不是0,;校外电话又分为本市电话和外地电话两类,拨校外电话需先拨0,若是本市电话则再接拨8位数字(第一位不是0),若是外地电话则拨3位区码再拨8位电话号码(第一位不是0)
- delphi 获取北京时间(使用XMLHTTP获取百度的时间,WebBrowser获取www.timedate.cn的时间)
- 有赞电话一面
- 5北京某高校可用的电话号码有以下几类:校内电话号码由4位数字组成,第一位数字不是0.校外电话又分为本市电话和外地电话两类。拨校外电话需要先拨0,若是本市电话则接着拨8位数字(第一位不是0),若是外地电话则拨3位区码后再拨8位电话号码(第一位不是0)。
- 2018腾讯电话一面