
面试题汇总
凌晨i
这个作者很懒,什么都没留下…
展开
-
多线程面试题
线程1. 什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程,你可以使用多线 程对运算密集型任务提速。比如,如果一个线程完成一个任务要 100 毫秒,那么用十个线程完成改任务只需 10 毫秒。2.进程和线程之间有什么不同? 一个进程是一个独立(self contained)的运行环境,它可以被看作一个程序原创 2017-05-03 21:08:49 · 393 阅读 · 0 评论 -
java实现栈-输出最大值,最小值,时间复杂度O(1)
问题:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的getMin函数。在该栈中,调用getMin、push及pop的时间复杂度都是O(1).最小值思路:用一个辅助栈stack2记住每次入栈stack1的当前最小值:在stack1入栈时,往stack2中加入当前最小值;stack1元素出栈时,stack2也出栈一个元素。最小值从stack2中获取及栈顶元素。O(1)最大值思路:...转载 2018-03-15 17:31:41 · 2698 阅读 · 1 评论 -
TCP三次握手和四次挥手
TCP/IPTCP/IP协议是分层的,从底层至应用层分别为:物理层,链路层,网络层,传输层和应用层 从应用层至物理层,数据是一层层封装,封装的方式一般都是在原有的数据的前面加一个数据控制头,数据封装格式如下:对于TCP传输协议,客户端在与服务器建立连接前需要经过三次握手,过程如下:SYN是请求同步的意思,synchronize(同步)的缩写ACK是确认同步的意思,ac...转载 2018-03-13 21:52:06 · 139 阅读 · 0 评论