序列16 14 10 8 7 9 3 2 4 1的说法下面哪一个正确(A)
A、大顶堆 B、小顶堆 C、不是堆 D、二叉排序树
二叉树是一种树形结构,每个节点至多有两颗子树,下列一定是二叉树的是(AC)
A、红黑树 B、B树 C、AVL树 D、B+树
输入若已经是排好序的,下列排序算法最快的是(A)
A、插入排序
同一进程下的线程可以共享(B)
A、stack B、data section C、register set D、thread ID
进程间通讯有哪几种形式(ABCD)
A、Socket
B、Pipe
C、Shared memory
D、Signal
TCP/UDP下面正确的是(AC)
A、TCP provide connection-oriented,byte-stream service;
B、Both TCP and UDP provide reliability service;
C、TCP also provides flow control;
D、Both TCP and UDP provide retransmission mechanism;
分布式系统设计包括(ABCDE)
A、容错,design for fault
B、多数据中心的数据一致性
C、数据/服务可靠性
D、可扩展性
E、要满足ACID特性
线程与进程
一个程序至少有一个进程,一个进程至少有一个线程.
进程在执行过程中拥有独立的内存单元,而多个线程共享内存
在Linux下编程多用多进程编程少用多线程编程。
多个进程可以更加健壮,一个Crash不会影响其他,正如IE8,Chrome浏览器等就都是多进程来进行崩溃处理。
进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但在进程切换时,耗费资源较大,效率要差一些。但对于一些要求同时进行并且又要共享某些变量的并发操作,只能用线程,不能用进程。