资料内容:
总共分为三部分,笔试时间是 1 个小时:
第一部分是不定项选择(每题 4 分):总共 10 个题,都是一些 java 的基础知识,大概有数
组的定义以及一些形参的使用方法等;
第二部分是简答题,总共四个小题,每题 10 分
(1)、操作系统中段页式的选址方式
参考:在段页式系统中,为了获得一条指令或数据,须三次访问内存。第一次访问是访问内
存中的段表 ,从中取得页表始址;第二次访问是访问内存中的页表,从中取出该页所在的
物理块号,并将该块号 与页内地址一起形成指令或数据的物理地址;第三次访问才是真正
从第二次访问所得的地址中,取出指令或数据。
(2)、进程间的通讯方式有哪几种,有什么区别
参考:(1)管道(Pipe):管道可用于具有亲缘关系进程间的通信,允许一个进程和另一个与
它有共同祖先的进程之间进行通信。
(2)命名管道(named pipe):命名管道克服了管道没有名字的限制,因此,除具有管道所
具有的功能外,它还允许无亲缘关系进程间的通信。命名管道在文件系统中有对应的文件名。
命名管道通过命令 mkfifo 或系统调用 mkfifo 来创建。
(3)信号(Signal):信号是比较复杂的通信方式,用于通知接受进程有某种事件发生,除
了用于进程间通信外,进程还可以发送信号给进程本身;linux 除了支持 Unix 早期信号语义
函数 sigal 外,还支持语义符合 Posix.1 标准的信号函数 sigaction(实际上,该函数是基于 BSD
的,BSD 为了实现可靠信号机制,又能够统一对外接口,用 sigaction 函数重新实现了 signal
函数)。
(4)消息(Message)队列:消息队列是消息的链接表,包括 Posix 消息队列 system V 消息
队列。有足够权限的进程可以向队列中添加消息,被赋予读权限的进程则可以读走队列中的
消息。消息队列克服了信号承载信息量少,管道只能承载无格式字节流以及缓冲区大小受限
等缺
(5)共享内存:使得多个进程可以访问同一块内存空间,是最快的可用 IPC 形式。是针对
其他通信机制运行效率较低而设计的。往往与其它通信机制,如信号量结合使用,来达到进
程间的同步及互斥。
(6)内存映射(mapped memory):内存映射允许任何多个进程间通信,每一个使用该机制
的进程通过把一个共享的文件映射到自己的进程地址空间来实现它。
(7)信号量(semaphore):主要作为进程间以及同一进程不同线程之间的同步手段。
(8)套接口(Socket):更为一般的进程间通信机制,可用于不同机器之间的进程间通信。
起初是由 Unix 系统的 BSD 分支开发出来的,但现在一般可以移植到其它类 Unix 系统上:
Linux 和 System V 的变种都支持套接字
(3)、hashMap、hashTable 的区别,ArrayList 和 LinkedList 的区别
参考:1.HashTable 的方法是同步的,HashMap 未经同步,所以在多线程场合要手动同步
HashMap 这个区别就像 Vector 和 ArrayList 一样。
2.HashTable 不允许 null 值(key 和 value 都不可以),HashMap 允许 null 值(key 和 value 都可以)。
3.HashTable 有一个 contains(Object value),功能和 containsValue(Object value)功能一样。
4.HashTable 使用 Enumeration,HashMap 使用 Iterator
1.ArrayList 是实现了基于动态数组的数据结构,LinkedList 基于链表的数据结构。
2.对于随机访问 get 和 set,ArrayList 觉得优于 LinkedList,因为 LinkedList 要移动指针。
3.对于新增和删除操作 add 和 remove,LinedList 比较占优势,因为 ArrayList 要移动数据。