a) Linux 进程通信方式和特点

Linux系统中的进程通信方式主要以下几种:

同一主机上的进程通信方式

1、UNIX进程间通信方式: 包括管道(PIPE), 有名管道(FIFO), 和信号(Signal)

2、System V进程通信方式:包括信号量(Semaphore), 消息队列(Message Queue), 和共享内存(Shared Memory)

网络主机间的进程通信方式

1、RPC: Remote Procedure Call 远程过程调用

2、Socket: 当前最流行的网络通信方式, 基于TCP/IP协议的通信方式.

各自的特点:

1、管道(PIPE):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系(父子进程)的进程间使用。另外管道传送的是无格式的字节流,并且管道   缓冲区的大小是有限的(管道缓冲区存在于内存中,在管道创建时,为缓冲区分配一个页面大小)。

2、有名管道 (FIFO): 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。

3、信号(Signal): 信号是一种比较复杂的通信方式,用于通知接收进程某个事件已经发生。

4、信号量(Semaphore):信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共享资源时,其他进程也访问该资源。因此,主要作为进程间以及同一进程内不同线程之间的同步手段。

5、消息队列(Message Queue):消息队列是由消息的链表,存放在内核中并由消息队列标识符标识。消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓冲区大小受限等缺点。

6、共享内存(Shared Memory ):共享内存就是映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问。共享内存是最快的 IPC 方式,它是针对其他进程间通信方式运行效率低而专门设计的。它往往与其他通信机制,如信号量,配合使用,来实现进程间的同步和通信。

7、套接字(Socket): 套解口也是一种进程间通信机制,与其他通信机制不同的是,它可用于不同主机间的进程通信。

Linux系统中的线程通信方式主要以下几种:

1、锁机制:包括互斥锁、条件变量、读写锁

互斥锁提供了以排他方式防止数据结构被并发修改的方法。

使用条件变量可以以原子的方式阻塞进程,直到某个特定条件为真为止。对条件的测试是在互斥锁的保护下进行的。 条件变量始终与互斥锁一起使用。

读写锁允许多个线程同时读共享数据,而对写操作是互斥的。

2、信号量机制(Semaphore):包括无名线程信号量和命名线程信号量

3、信号机制(Signal):类似进程间的信号处理

b) 进程怎么使用内存

1、栈区(stacksegment)—由编译器自动分配释放,存放函数的参数值,局部变量的值等,具体方法执行结束之后,系统自动释放JVM内存资源

2、堆区(heapsegment)—一般由程序员分配释放,存放由new创建的对象和数组,jvm不定时查看这个对象,如果没有引用指向这个对象就回收

3、静态区(datasegment)—存放全局变量,静态变量和字符串常量,不释放

4、代码区(codesegment)—存放程序中方法的二进制代码,而且是多个对象共享一个代码空间区域

c) 主键和外键

这需要理清几个概念:

1、候选键: 关系中的一个属性组,其值能唯一标识一个元组,若从该属性组中去掉任何一个属性,它就不具有这一性质了,这样的属性组称作候选码。

2、主键:当有多个候选码时,可以选定一个作为主码,选定的候选码称主键

3、外键: 关系R中的一个属性组,它不是R的候选码,但它与另一个关系S的候选码相对应,则称这个属性组为R的外码或外键。

举个例子:

有两个关系:

student(s#,sname,d#),即学生这个关系有三个属性:学号,姓名,所在系别

dep(d#,dname),即院系有两个属性:系号、系名

则s#、d#是主键,也是各自所在关系的唯一候选键,d#是student的外键。

d) 集聚索引和非集聚索引

聚集索引:物理存储按照索引排序

非聚集索引:物理存储不按照索引排序

优势与缺点

聚集索引插入数据时速度要慢(时间花费在“物理存储的排序”上,也就是首先要找到位置然后插入),查询数据比非聚集数据的速度快

e) 重载

重载就是同一个函数的名称,使用不同的参数(参数的个数或者是类型不同)。

f)  构造函数和析构函数能否重载,为什么

构造函数可以被重载;析构函数不可以被重载。

因为析构函数没有参数,重载的必要条件是参数的类型或者个数不一样或者顺序不一样,无参就不能重载。

g) 单例模式

class Singleton{

private Singleton sin;

private Singleton(){}

public static Singleton getSingleton(){

if (sin==null)

sin=new Singleton();

return sin;

}

}

2014年艺龙网校园招聘笔试总结相关推荐

  1. [历年IT笔试题]2014腾讯校园招聘笔试试题

  2. 暴风影音2014校园招聘笔试题目-技术D卷

    /*暴风影音2014校园招聘笔试题目-技术D卷.6. m*n的网格从左上角A点走到右下角B点,每次可走一格,只能往右或下走.输出有多少种走法和所有路线数. */ #include <cstrin ...

  3. 百度2014校园招聘笔试面试汇总

    目 录 1. 百度笔试 2 1.1百度2014校园招聘笔试题(成都站,软件研发岗) 2 1.2  2013百度校园招聘-机器学习和数据挖掘工程师-笔试题 7 1.3  百度2014校园招聘 技术研发题 ...

  4. 笔试 - 2014创新工场涂鸦移动校园招聘测试题 及 答案

    2014创新工场涂鸦移动校园招聘测试题 及 答案 本文地址: http://blog.csdn.net/caroline_wendy/article/details/28664807 by Spike ...

  5. 九度OJ 1525 子串逆序打印 -- 2012年Google校园招聘笔试题目

    题目地址:http://ac.jobdu.com/problem.php?pid=1525 题目描述: 小明手中有很多字符串卡片,每个字符串中都包含有多个连续的空格,而且这些卡片在印刷的过程中将字符串 ...

  6. 2014届华为校园招聘机试题

    华为2014校园招聘的机试题目和2013年的完全一样. 一.题目描述(60分): 通过键盘输入一串小写字母(a~z)组成的字符串.请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的 ...

  7. 浦发银行计算机笔试题库,2018浦发银行校园招聘笔试试题库

    原标题:2018浦发银行校园招聘笔试试题库 银行招聘网(http://www.jinrongren.net/)提醒:2018浦发银行校园招聘公告已经发布啦,共招聘2152人,公告中明确表明柜员岗专科以 ...

  8. 2011深信服校园招聘笔试面试

    http://blog.sina.com.cn/s/blog_48c9576b0100me1y.html 9月26号深信服校园招聘笔试 都说深信服的题又偏又难,果然不假.不过还有有很多值得多思考的题. ...

  9. 江苏农村商业银行计算机类笔试考什么时候,2020江苏农商行春季校园招聘笔试考什么?...

    江苏中公教育整理了农商银行考试都考什么的相关问题,包括农商银行考试考什么内容.农商银行考试考什么科目.农商银行考试都考哪些内容等,帮助考生深入了解农商银行考试内容.更多2020江苏农商行春季校园招聘考 ...

最新文章

  1. 汇编语言(三十四)之输出中文
  2. ActiveReports 报表控件官方中文新手教程 (1)-安装、激活以及产品资源
  3. 27 MM配置-采购-采购申请-定义凭证层的屏幕格式
  4. js加密代码的分析[转]
  5. Android实现小圆点显示未读功能
  6. 用命令来操作vSphere:十一 PowerCLI命令--虚拟机操作
  7. SQL Server 2019安装教程(图文)
  8. git修改commit注释_【Slog】Git之多人同feature的同分支开发
  9. Linux使用/proc/stat计算CPU使用率
  10. 主数据治理平台培训规程
  11. Linux系统内核升级
  12. 在PHP项目中使用Standford Moss代码查重系统
  13. python自然语言处理第三章:处理原始文本
  14. 北京网络行业协会鉴定称飞流软件无法卸载
  15. QtCreator添加文件夹
  16. 二建《机电》案例 100 问
  17. 机器翻译的评价标准BLEU(Evaluation criteria for machine translation)
  18. 北航计算机学院直博多少年,北航硕博连读需要几年
  19. 基于RK3399配置并测试—单线激光雷达
  20. php把字符串做为代码执行的函数eval

热门文章

  1. 手机的这些隐藏功能非常的便利,你有用过吗?
  2. 数据库性能测试(mysql)
  3. 如何看待中国多城房贷利率走高,不少银行放款周期延长?对房价有什么影响?...
  4. 【Arduino】双主板串口通信并将光敏传感器信息上传到阿里云
  5. oracle不用密码备份,oracle用备份的控制文件恢复后不用resetlogs打开方式的恢复
  6. 1442. 单词处理器
  7. 七夕节,程序员特有的表白方式!
  8. MQTT在matlab中的应用
  9. python爬虫六:爬取电影图片及简介
  10. 设置了背景图片,怎么下面有空白,怎么解决?