JAVA面试积累2

来源:互联网 发布:cms整站系统 编辑:程序博客网 时间:2024/06/05 11:35

一个算法应该具有以下五个重要的特征:
一个算法应该具有以下五个重要的特征:
1、有穷性(Finiteness)
算法的有穷性是指算法必须能在执行有限个步骤之后终止
2、确切性(Definiteness)
算法的每一步骤必须有确切的定义;
3、输入项(Input)
一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定出了初始条件;
4、输出项(Output)
一个算法有一个或多个输出,以反映对输入数据加工后的结果.没有输出的算法是毫无意义的;
5、可行性(Effectiveness)
算法中执行的任何计算步都是可以被分解为基本的可执行的操作步,即每个计算步都可以在有限时间内完成.(也称之为有效性)

排序算法

处理散列冲突的方法

简单网络管理协议SNMP由哪几个部分组成
简单网络管理协议SNMP由哪几个部分组成?( )
A.SNMP本身
B.管理信息结构SMI
C.管理信息库MIB
D.SNMP的信息库
正确答案:A B C
Mysql中的Btree与Hash索引比较

DHCP协议
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作, 主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段,在RFC 2131中有详细的描述。
DHCP 有 8 种消息类型,分别是 Discover、Request、Release、Inform、Decline、Offer、ACK、NAK。
其中前 5 种可由主机发起,后 3 种只能是 DHCP 服务端向主机发送,故 AB 正确。

Blob对象中的type属性表示文件的是
Blob对象中的type属性表示文件的是( )
正确答案: C 你的答案: C (正确)
A.文件大小
B.文件名
C.MIME类型
D.图片格式
一个Blob对象就是一个包含有只读原始数据的类文件对象.实际上 file 对象只是 blob 对象的一个更具体的版本。
其type属性是表示文件的MIME(多用途互联网邮件扩展类型),也就是设定某种扩展名的文件用一种应用程序来打开的方式类型。

css盒模型

进程、线程间通信机制
Linux进程间通信:管道、信号、消息队列、共享内存、信号量、套接字(socket)
Linux线程间通信:互斥量(mutex),信号量,条件变量
Windows进程间通信:管道、消息队列、共享内存、信号量 (semaphore) 、套接字(socket)
Windows线程间通信:互斥量(mutex),信号量(semaphore)、临界区(critical section)、事件(event)

管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。
有名管道 (named pipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。
信号量( semophore ) : 信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共享资源时,其他进程也访问该资源。因此,主要作为进程间以及同一进程内不同线程之间的同步手段。
消息队列( message queue ) : 消息队列是由消息的链表,存放在内核中并由消息队列标识符标识。消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓冲区大小受限等缺点。
信号 ( signal ) : 信号是一种比较复杂的通信方式,用于通知接收进程某个事件已经发生。
共享内存( shared memory ) :共享内存就是映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问。共享内存是最快的 IPC 方式,它是针对其他进程间通信方式运行效率低而专门设计的。它往往与其他通信机制,如信号两,配合使用,来实现进程间的同步和通信。
套接字( socket ) : 套解口也是一种进程间通信机制,与其他通信机制不同的是,它可用于不同及其间的进程通信。

fork()函数
下面的程序执行输出几个hello?

123456789#include<stdio.h>#include <unistd.h>int main( ) {    fork( );    fork( );    fork( );    printf(“hello\n”);    return 0;}

正确答案: 8
fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。
fork调用的一个奇妙之处就是它仅仅被调用一次,却能够返回两次,它可能有三种不同的返回值:
1)在父进程中,fork返回新创建子进程的进程ID;
2)在子进程中,fork返回0;
3)如果出现错误,fork返回一个负值;

版本控制工具主要有三个:
CVS、SVN,Git.

假设一段公路上,1小时内有汽车经过的概率为96%,那么,30分钟内有汽车经过的概率为?

正确答案: 80%

(1-0.96)=0.04;
0.2*0.2=0.04;
1-0.2=0.8;
关键在于 96% 是见到一辆或多辆汽车的概率,而不是仅见到一辆汽车的概率。在 1 小时内,见不到任何车辆的概率为 0.04 。因此在 30 分钟内见不到任何车辆的概率是这个值的平方根,而在 30 分钟内见到一辆车的概率则为 1 减去此平方根,也就是 80% 。

下列能实现一个正整数N对256求余运算的代码是:
正确答案: A D 你的答案: A D (正确)

A.N%256
B.N<<8
C.N>>8
D.N & 0xFF
对256取余,255表示为0xFF(11111111),只需取出N低8位部分,其他位置为0,故使用运算符&。>>8和<<8是移位处理,会将N缩小或放大2的8次方倍,缩小时会失去低8位即余数。

如果某系统15*4=112成立,则系统采用的是几进制?
正确答案: 6
设使用的是p进制,则15*4=112等价于:
1
(p + 5) * 4 = p^2 + p + 2
解出来p=-3(舍去)和p=6

分布式领域CAP理论
Consistency(一致性), 数据一致更新,所有数据变动都是同步的
Availability(可用性), 好的响应性能
Partition tolerance(分区容错性) 可靠性

定理:任何分布式 系统只可同时满足二点,没法三者兼顾。
忠告:架构师不要将精力浪费在如何设计能满足三者的完美分布式 系统,而是应该进行取舍

0, 6, 24,60, 120, ?

0=0*1*2
6=1*2*3
24=2*3*4
60=3*4*5
120=4*5*6
210=5*6*7

原创粉丝点击